Arduinoゴミ箱ボット(ゴミ箱の自動開閉)
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
|
このプロジェクトについて
すべてがよりスマートになっていますか?では、ゴミ箱を作ってみませんか?このゴミ箱の前にゴミがあれば、ふたを開閉します。ゴミを持ってくるだけで自動的に開き、一定の遅延の後、自動的に閉じます。ビデオを見て、何ができるかを正確に確認してください。
始めましょう。
ステップ1:コンポーネント <図>
<図>
<図>
(さらに2つの画像)
- Arduino Uno(任意のボード)
- サーボモーター(私はマイクロサーボsg90を使用しています)
- HCSR04超音波センサー
- サーボアーム(写真2のサーボの横)
- 段ボール(スライス片のみ)
- ゴミ箱
ステップ2:回路を構築する <図>
回路はとても簡単です。サーボとソナーは消費電力が少ないため、Arduino5vソースから直接電力を供給できます。 7.4 VDC以上または少なくとも7VでArduinoに電力を供給することを忘れないでください。
- arduinoのピン3へのサーボデータ(黄色)
- サーボvcc(赤)から5vのArduino
- Arduino Gndへのサーボグラウンド(黒/灰色)
- ソナーセンサーがArduino6にトリガー
- ソナーセンサーがArduino5にエコーします
- VccからArduino5vへ
- GndからArduinoGnd
ステップ3:サーボアームを接続する <図>
<図>
<図>
このサーボアームを手に取り、ホットグルーまたは他の接着剤で長いボール紙に接続するだけです。段ボールの代わりにアイスクリームスティックを使用することもできます。次に、長いサーボアームをサーボモーターに接続します。
ステップ4:サーボとソナーセンサーをゴミ箱に追加する <図>
<図>
<図>
このように、ソナーセンサーをビンに向けて上向きに接続します。次に、写真2と3にこのようなサーボモーターを追加して、サーボが上に回転できるようにします。
ステップ5:コード
コードリンク:https://github.com/ashraf-minhaj/Trash-bot
Arduinoをプログラムして、50 cmの範囲にゴミ(文字通り何でも)があれば、サーボが50度になり、ビンの上蓋に当たって上蓋が開き、3秒間待機するようにしました。その後、自動的に160度に回転し、上蓋が閉じます。これで、ゴミ箱の自動開閉が表示されます。
#include Servoサーボ; intconst trigPin =6; int const echoPin =5; void setup(){pinMode(trigPin、OUTPUT); pinMode(echoPin、INPUT); Servo.attach(3);} void loop(){int duration、distance; digitalWrite(trigPin、HIGH); delay(1); digitalWrite(trigPin、LOW); //エコーピンデュレーションでパルス入力を測定=pulseIn(echoPin、HIGH); //距離は29.1で割った持続時間の半分です(データシートから)distance =(duration / 2) / 29.1; //距離が0.5メートル未満で0を超える場合(0以下は範囲を超えることを意味します)if(distance <=50 &&distance> =0){servo.write(50); delay(3000);} else {servo.write(160);}
ステップ6:完了 <図>
<図>
だから今、7v以上でArduinoに電力を供給するだけで、ゴミ箱ロボットができます。
ありがとうございます。
[私の作品が気に入ったら、YouTubeチャンネルに登録してサポートしてください]
コード
- arduinoのゴミ箱ボットコード
arduinoのゴミ箱ボットコード C / C ++
#includeを傷つけることはありませんServoサーボ; intconst trigPin =6; int const echoPin =5; void setup(){pinMode(trigPin、OUTPUT); pinMode(echoPin、INPUT); Servo.attach(3);} void loop(){int duration、distance; digitalWrite(trigPin、HIGH); delay(1); digitalWrite(trigPin、LOW); //エコーピンデュレーションでパルス入力を測定=pulseIn(echoPin、HIGH); //距離は29.1で割った持続時間の半分です(データシートから)distance =(duration / 2) / 29.1; //距離が0.5メートル未満で0を超える場合(0以下は範囲を超えることを意味します)if(distance <=50 &&distance> =0){servo.write(50); delay(3000);} else {servo.write(160);} // 60ミリ秒待ってもonedelay(60);}
回路図
arduinoのゴミ箱ボットコード
https://github.com/ashraf-minhaj/Trash-bot製造プロセス