Brochage (détrompeur à droite)
Les sorties INT et DIR semblent identiques, un train d'impulsion fonction de la rotation du moteur
Les impulsions peuvent être comptées grâce aux interruptions de l'ARDUINO. Montage avec un pont en H L298N
volatile int comptageImpulsion = 0; // variable accessible dans la routine interruption externe 0 int vitesse = 40; int distance = 355; void setup() { Serial.begin(115200); // initialise connexion série à 115200 bauds attachInterrupt(0, gestionINT0, RISING); // attache l'interruption externe n°0 ( = PIN2) à la fonction gestionINT0() pinMode(3, OUTPUT); //Cmd PWM moteur pinMode(4, OUTPUT); //Cmd moteur pinMode(5, OUTPUT); //Cmd moteur Serial.print("Vitesse = "); Serial.println(vitesse); comptageImpulsion = 0; analogWrite(3, vitesse); digitalWrite(4,0); digitalWrite(5,1); } void loop() { Serial.print("Nombre impulsions = "); Serial.println(comptageImpulsion); delay(200); } void gestionINT0() {// la fonction appelée par l'interruption externe n°0 comptageImpulsion++; if (comptageImpulsion >= distance) { digitalWrite(5,1); digitalWrite(4,1); delay(10); digitalWrite(5,0); digitalWrite(4,0); Serial.println("Arrêt"); } }