赤外線リモコンから決まったデータを受信するとモーターが回るようにプログラムしたつもりですが、回りません。原因が分かる方教えて欲しいです。
まず、モーターを制御するために、東芝製のモータードライバTA7291Pを使用しています。スイッチを使いHIGHなら正回転、LOWなら逆回転というプログラムを組んで動作確認済みです。
赤外線モジュールが信号を受信するとモータ制御とLEDが点灯する回路を組み、信号が来ているかどうかの判断をしようと考え、実行してみました。結果としては、LEDは点灯しましたがモーターは回りませんでした。
同じプログラムで出力などは変えましたが、サーボモータを制御することには成功しています。そのため、どこに問題があるか見当が付きません。解答よろしく御願いします。
#include <IRremote.h> #define PIN_IN1 5 #define PIN_IN2 4 #define PIN_VREF 3 int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { irrecv.enableIRIn(); // Start the receiver pinMode(PIN_IN1,OUTPUT); pinMode(PIN_IN2,OUTPUT); pinMode(13,OUTPUT); } void loop() { analogWrite(PIN_VREF,127); if (irrecv.decode(&results)) { irrecv.resume(); // Receive the next value if(results.value == 0x00FF18E7) { digitalWrite(13,HIGH); digitalWrite(PIN_IN1,HIGH); digitalWrite(PIN_IN2,LOW);//回転 } else if(results.value == 0x00FF4AB5) { digitalWrite(13,LOW); digitalWrite(PIN_IN1,LOW); digitalWrite(PIN_IN2,HIGH);//逆回転 } } }
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/04 02:38
2019/03/04 02:51
2019/03/04 02:52
2019/03/04 05:23
2019/03/04 07:21
2019/03/04 23:18
2019/03/05 16:56
2019/03/08 06:49