Bonjour
Tout est dans le titre mon programme boucle avant d'arriver à la fin du loop et toujours au même endroit.
Je vous remercie de votre aide.
#include <Servo.h> //Ajoute la librairie Servo
int painled1=2;//led du pain
int painled2=3;//led du pain
int painled3=4;//led du pain
int ledmiettes1=5;//led des miettes
int ledmiettes2=6;//led des miettes
int ledmiettes3=7;//led des miettes
int ledmiettes4=8;//led des miettes
//servo1 :
Servo servo1; //Déclare un nouveau servomoteur nommé servo1
int pos = 65; //Position initiale du servo
#define PAUSE 40 //Symbolise la pause en ms entre chaque mouvements du servo
#define MIN 500 // Position 0° en microseconde
#define MAX 2500 // Position 180° en microseconde
// defines pins numbers
const int stepPin = 10;
const int dirPin = 11;
void setup() {
Serial.begin(9600);
// Sets the two pins as Outputs
pinMode(stepPin,OUTPUT);
pinMode(dirPin,OUTPUT);
pinMode(painled1,OUTPUT);
pinMode(painled3,OUTPUT);
pinMode(ledmiettes1,OUTPUT);
pinMode(ledmiettes2,OUTPUT);
pinMode(ledmiettes3,OUTPUT);
pinMode(ledmiettes4,OUTPUT);
servo1.attach(9, MIN , MAX); //Attache servo1 au pin 9 avec MIN et MAX
}
void loop() {
digitalWrite(dirPin,LOW); // Enables the motor to move in a particular direction
// Makes 200 pulses for making one full cycle rotation
for(int x = 0; x < 4500; x++) {
digitalWrite(stepPin,HIGH);
delayMicroseconds(500);
digitalWrite(stepPin,LOW);
delayMicroseconds(500);
}
for (pos = 65; pos <= 120; pos++)
//Rejoins un angle de 120° depuis 65° par pas de 1°
{
servo1.write(pos);
delay(PAUSE);
}
digitalWrite(painled1,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes1,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes1,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes2,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes2,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes3,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes3,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes4,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes4,LOW); // on passe le pin à 0V
digitalWrite(painled1,LOW); // on passe le pin à 0V
delay (500);
for (pos = 120; pos >= 65; pos--)
//Rejoins un angle de 65° depuis 120° par pas de 1°
{
servo1.write(pos);
delay(PAUSE);
}
digitalWrite(painled3,HIGH); // on passe le pin à +5V
delay (500);
//XXXXXXXXXXXXXXXje ne comprend pas pourquoi ça boucle ici.XXXXXXXXXXXXXX
digitalWrite(ledmiettes1,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes1,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes2,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes2,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes3,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes3,LOW); // on passe le pin à 0V
digitalWrite(ledmiettes4,HIGH); // on passe le pin à +5V
delay (500);
digitalWrite(ledmiettes4,LOW); // on passe le pin à 0V
digitalWrite(painled3,LOW); // on passe le pin à 0V
delay (500);
}