Bonjour,
j'essaie décrire un programme pour faire tourner un moteur pas à pas de 10 tours dans un sens puis 10 tours dans l'autre mais j'ai des erreurs à la compilation ![]()
pouvez vous me dire ce qui cloche ?
void setup() {
pinMode(3, OUTPUT); // Déclaration de la broche n°3 en sortie Digitale PWM
pinMode(11, OUTPUT); // Déclaration de la broche n°11 en sortie Digitale PWM
pinMode(12, OUTPUT); // Déclaration de la broche n°12 en sortie Digitale
pinMode(13, OUTPUT); // Déclaration de la broche n°13 en sortie Digitale
#define conteur;// on initialise le conteur
byte counteur=0;
//conteur = 0;
Serial.begin(115200);
}
void loop(){
// Commande moteur pas à pas Bipolaire 4 fils en Mode Wave | Sens Normal
// Pas n°1 | Sortie B- du Shield Moteur -> Bobine A du moteur pas à pas
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(3, 0);
analogWrite(11, 255);
delay(100);
// Pas n°2 | Sortie A- du Shield Moteur -> Bobine C du moteur pas à pas
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(3, 255);
analogWrite(11, 0);
delay(100);
// Pas n°3 | Sortie B+ du Shield Moteur -> Bobine B du moteur pas à pas
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(3, 0);
analogWrite(11, 255);
delay(100);
// Pas n°4 | Sortie A+ du Shield Moteur -> Bobine D du moteur pas à pas
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(3, 255);
analogWrite(11, 0);
delay(100);
Serial.println(conteur);
// on attend une demi-seconde pour que l'arrêt soit visible
delay(500);
// on incrémente le conteur
conteur++;
// Commande moteur pas à pas Bipolaire 4 fils en Mode Wave | Sens inverse
// Pas n°1 | Sortie B- du Shield Moteur -> Bobine A du moteur pas à pas
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(3, 255);
analogWrite(11, 0);
delay(100);
// Pas n°2 | Sortie A- du Shield Moteur -> Bobine C du moteur pas à pas
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(3, 0);
analogWrite(11, 255);
delay(100);
// Pas n°3 | Sortie B+ du Shield Moteur -> Bobine B du moteur pas à pas
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
analogWrite(3, 255);
analogWrite(11, 0);
delay(100);
// Pas n°4 | Sortie A+ du Shield Moteur -> Bobine D du moteur pas à pas
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
analogWrite(3, 0);
analogWrite(11, 255);
delay(100);
// si le conteur est à 10 (de 0 à 10), alors...
if (conteur > 10) {
Serial.println("Le conteur est à 10 > Arrêt du programme !");
while (true) { ; // ...on arrête le programme
}
}