digitalWrite(3, 128); これでモーターが動きます。なぜでしょうか

実現したいこと

自作のモータードライバでモーターを動かしたいと考えています。

前提

自作のMDを作り、analogWriteでモーターを動かそうとしたところ、正転だけはできるのですが逆転ができません。ところがdigitalWriteでpwm制御をすると、正転と逆転どちらもできるようになります。

発生している問題・エラーメッセージ

digitalWrite(3, 128);と書いてもエラーメッセージは出ていません。

該当のソースコード

12ピンがスイッチ、3,5ピンがMDです。

arduino

1void setup() {2 pinMode(12, INPUT);3 pinMode(3, OUTPUT);4 pinMode(5, OUTPUT);5 Serial.begin(9600);6}7 8void loop() {9 if (digitalRead(12) == HIGH) {10 Serial.println("2");11 digitalWrite(3, 128);12 delay(3000);13 digitalWrite(3, 0);14 delay(1);15 digitalWrite(5, 128);16 delay(3000);17 digitalWrite(5, 0);18 delay(1);19 }20}

試したこと

digitalWrite(3,128);の部分を以下のコードに変更しても、正常に動きませんでした。
・digitalWrite(3,HIGH);
・analogWrite(3,128);
・analogWrite(3,1); //pwm制御ではなく、デジタルの0、1のつもりで書きました。

補足情報(FW/ツールのバージョンなど)

arduino IDE のバージョンは2.2.1です。
MDの回路図の画像を貼りたかったのですが、うまいきませんでした...

コメントを投稿

0 コメント