リモコンペットフィーダー
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
| ||||
|
アプリとオンラインサービス
> |
|
このプロジェクトについて
このシンプルなArduinoプロジェクトでは、リモコンを使用してペットに餌をやることができます。必要なのは、Arduino Unoボード(または同様のもの)、ペットボトル、サーボモーター(非常に強力である必要はありません)、テレビのリモコン、IRレシーバー(TS0P1738)、および小さな段ボールです。
>始めましょう!
IRライブラリのインストール:
arduinoとの関連付けで最初に行う必要があるのは、IRライブラリをダウンロードすることです。
以下のリンクからIRライブラリをダウンロードしてインストールします:https://github.com/z3t0/Arduino-IRremote
ライブラリのインストール方法がわからない場合は、以下のリンクをたどってください:https://www.arduino.cc/en/guide/libraries
IR信号のデコード:
まず、与えられた回路図に従って部品を接続する必要があります:
<図>以下のTSOP1738からピンをチェックアウトできます:
<図>次のコードを使用して、IRリモートをデコードします。
/ * IRセンサーのピンはArduinoに次のように接続されています:ピン1からVout(Arduinoのピン11)ピン2からGNDピン3からVcc(Arduinoから+ 5v)* /#include int IRpin =11; IRrecv irrecv(IRpin); decode_results results; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //レシーバーを起動します} void loop(){if(irrecv.decode(&results)){Serial.println(results.value、DEC); //シリアルを出力します 'results.value' irrecv.resume(); //次の値を受け取ります}}
- ArduinoIDEを開いてコードをアップロードする
- シリアルモニターを開く
- リモコンをセンサーに向け、各ボタンを押します
- ボタンごとに異なる番号が表示されます
任意の2つのボタンを検討し、デコードされた値を書き留めます。私の場合、電源ボタンとモードボタンを選択しました。
次の値を取得しました:
- 電源ボタン=33441975
- モードボタン=33446055
この2つの値を使用して、サーボモーターの回転を制御します。次のステップで指定するプログラムに、この2つの値を追加する必要があります。
<図>最終的なハードウェアをセットアップしましょう!
最終サーキット! <図>
- サーボの信号ピンをarduinoのピン#9に接続します
- サーボのVCCピンとGNDピンをarduinoの5VVCCとGNDに接続します
- サーボはペットボトルの一方の端に接着され、食品がブロックされるようにボトルの開口部を閉じるのに十分な大きさの段ボールを回転させます。
- すべてのハードウェア設定が正しく接続されている場合は、次のスケッチをコンパイルしてボードにアップロードするだけです。
#include #include int IRpin =11; // IRセンサーのピンIRrecvirrecv(IRpin); decode_results results; Servo myservo; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //レシーバーを起動しますmyservo.attach(9); //ピン9のサーボをサーボオブジェクトに接続します} void loop(){if(irrecv.decode(&results)){irrecv.resume(); //次の値を受け取ります} if(results.value ==33441975)// IRリモートボタン番号に従って変更します{myservo.write(0); delay(15); } if(results.value ==33446055)// IRリモートボタン番号に応じて変更{myservo.write(30); delay(15); }}
これで、この簡単なプロジェクトによって、リモートコントロールでペットフィーダーディスペンサーの開口部を制御できます。 :-)
幸せな作り!
コード
- Decode_IR
- IRremote_Servo_Control
Decode_IR Arduino
このコードを使用して、IRリモートをデコードします/ * IRセンサーのピンはArduinoに次のように接続されています:ピン1からVout(Arduinoのピン11)ピン2からGNDピン3からVcc(Arduinoから+ 5v)* /# includeint IRpin =11; IRrecv irrecv(IRpin); decode_results results; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //レシーバーを起動します} void loop(){if(irrecv.decode(&results)){Serial.println(results.value、DEC); //シリアルを出力します 'results.value' irrecv.resume(); //次の値を受け取ります}}
IRremote_Servo_Control Arduino
このコードでリモートからデコードされた値を追加します#include#include int IRpin =11; // IRセンサーのピンIRrecvirrecv(IRpin); decode_results results; Servo myservo; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //レシーバーを起動しますmyservo.attach(9); //ピン9のサーボをサーボオブジェクトに接続します} void loop(){if(irrecv.decode(&results)){irrecv.resume(); //次の値を受け取ります} if(results.value ==33441975)// IRリモートボタン番号に従って変更します{myservo.write(0); delay(15); } if(results.value ==33446055)// IRリモートボタン番号に応じて変更{myservo.write(30); delay(15); }}
回路図
製造プロセス