*
Make3D - 2024






Contrôle de deux moteurs

Ci dessous les connexions de la puce L293D qui servent à contrôler les moteurs du robot.
La puce a 16 pattes, celles du côté gauche (1, 2 et 7) contrôlent le moteur 1 et celles de doite ( (9, 10 et 15) le moteur 2. Les moteurs proprement dits sont connectés dur 3 et 6 pour le moteur 1 et 11 14 pour le moteur 2. Les pattes 4, 5, 12 et 13) sont solidaires et au moin une d'elles sera connecè à la masse (GND°. La patte 8 est connecté à la borne "VIN" d'Arduino et la patte 16 à ma borne "5V".

Le contrôle de vitesse est géré par la borne A1 d'Arduino. On verre plus tard comme varier les valeurs de vitesse entre 0 et 255.

A titre d'essai on peut travailler su l'un des dux moteurs seulement.


Vu de dessus (top view)

D8 - commande moteur 1
D9 - commande moteur 1
D10 - control vitesse PMW

D12 - commande moteur 2
D13 - commande moteur 2
D11 - control vitesse PMW


/* two motor speed control */

#define IC1 10 // Control speed motor 1
#define MA1 9 // motor 1
#define MB1 8 // motor 1

#define IC2 11 // Control speed motor 2
#define MA2 12 // motor 2
#define MB2 13 // motor 2

int spd = 250; // motor speed : 0 to 255

void setup() {
pinMode(IC1, OUTPUT);
pinMode(MA1, OUTPUT);
pinMode(MB1, OUTPUT);

pinMode(IC2, OUTPUT);
pinMode(MA2, OUTPUT);
pinMode(MB2, OUTPUT);
}

void loop() {
// motor control
analogWrite(IC1, spd); // speed
digitalWrite(MA1, HIGH);
digitalWrite(MB1, LOW);

analogWrite(IC2, spd); // speed
digitalWrite(MA2, HIGH);
digitalWrite(MB2, LOW);
}