こんにちは私は2台の3vモーターを持っています(左/右用と前/後用の2台)。左右のモーターは正常に作動していますが、もう一方のモーターを回転しようとすると、それは戻ってくるだけです。私は別々にモーターを試してみましたが、コントローラなしで両方向に動作します。ここモーターはL293Dコントローラーで一方向に回転します
int enablePinMotorAF = 3;
int in1PinMotorAF = 5;
int in2PinMotorAF = 6;
int enablePinMotorLR = 11;
int in1PinMotorLR = 10;
int in2PinMotorLR = 9;
boolean reverse = true;
void setup() {
pinMode(enablePinMotorAF, OUTPUT);
pinMode(in1PinMotorAF, OUTPUT);
pinMode(in2PinMotorAF, OUTPUT);
pinMode(enablePinMotorLR, OUTPUT);
pinMode(in1PinMotorLR, OUTPUT);
pinMode(in2PinMotorLR, OUTPUT);
}
void loop() {
//go forward ->not working
analogWrite(enablePinMotorAF, 230); //max speed
digitalWrite(in1PinMotorAF, reverse);
digitalWrite(in2PinMotorAF, !reverse);
delay(3000);
//go back -> working
analogWrite(enablePinMotorAF, 230); //max speed
digitalWrite(in1PinMotorAF, !reverse);
digitalWrite(in2PinMotorAF, reverse);
delay(3000);
//go right -> working
analogWrite(enablePinMotorLR, 230); //max speed
digitalWrite(in1PinMotorLR, !reverse);
digitalWrite(in2PinMotorLR, reverse);
delay(3000);
//go left -> working
analogWrite(enablePinMotorLR, 230); //max speed
digitalWrite(in1PinMotorLR, reverse);
digitalWrite(in2PinMotorLR, !reverse);
delay(3000);
}
れる配線があまりに:
緑色及びオレンジのワイヤは、ブルートゥースモジュールのためのものである
私のコードは、以下です。
この問題をどのように解決して動作させるにはどうすればよいですか?
ありがとうございます。
問題は、ピン6をピン3とスワップしなければならないということでした。ピン3を間違って宣言したからです。今の方向は大丈夫です、それは動作しますが、私はいくつかのテストの後、ちょうど非常にゆっくりと回転し、左/右のモーターはちょうど揺れています。新しいバッテリーを試してみましたが、同じ結果が出ました。だからあなたは、@ JLHを使って、4INピンを非PWMポートに接続する必要がありますか?それは問題になることができますか? –
いいえ簡単に言えば、2つのピンは、どんなものでも、analogWriteを実行するため、L293のEnableピンに接続する必要があります。他のピンは、Arduinoでフックされているものとは関係ありません.DirectorWrites()を使用して、それらをオン/オフして前進/後退させることができます。 – TomServo
今私は2つのイネーブルピンが6,11(PWMポート)に接続されており、アナログ書き込みを行って速度を変更し、他のもの(IN1、IN2、IN3、IN4)は他のPWMポートに接続していますdirectionを変更するdigitalWrite。しかし、彼らはまだ非常にゆっくりと動きます。何故ですか? –