Bonjour J'ai une voiture RC qui a deux moteurs 3v (un pour gauche/droite et l'autre pour avant/arrière). Le moteur gauche et droit fonctionne bien, mais quand j'essaie de faire tourner l'autre moteur, il ne tourne que vers l'arrière. J'ai essayé le moteur séparément et cela fonctionne dans les deux sens sans le contrôleur.Le moteur ne tourne que dans une direction avec le contrôleur L293D
Mon code est le suivant:
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);
}
Voici le câblage aussi:
Les fils vert et orange sont pour un module Bluetooth.
Avez-vous une idée de comment puis-je résoudre ce problème et le faire fonctionner?
Merci.
Le problème était que je devais inverser la broche 6 avec la broche 3 parce qu'ils avaient été déclarés erronés. Maintenant, la direction est bonne, ça marche mais après un test, ça tourne très lentement et le moteur gauche/droite est juste en train de trembler. J'ai essayé avec une nouvelle batterie et j'ai eu le même résultat. Donc vous voulez dire @JLH que je devrais connecter les broches 4 IN aux ports non PWM? Cela peut-il être le problème? –
Non. Simplement ceci: les deux broches, quelles qu'elles soient, qui font des analogWrites, elles doivent être connectées aux broches Enable sur L293. Les autres broches n'a pas d'importance sur ce qu'ils sont accrochés sur l'Arduino, tant que vous pouvez faire digitalWrites() pour les allumer et éteindre (pour aller de l'avant et inverser). – TomServo
Maintenant, j'ai comme ceci: les deux broches Enable sont connectées à 6, 11 (ports PWM) et je fais analogwrite pour changer de vitesse et les autres (IN1, IN2, IN3, IN4) sont connectés à d'autres ports PWM et je fais digitalWrite pour changer la direction. Mais ils bougent encore très lentement. Pourquoi donc? –