// systeme de 3 X 7
#include <Servo.h> // permet de faire appel à la bibliothèque Servo
Servo servo1; // crée une constante appelée « servo utilisable par la bibliothèque Servo.
Servo servo2; // (vous pouvez les nommer comme vous voulez, exemple : servo_1, servo_2, servo_3, mais pensez à les remplacer dans le programme.
Servo servo3;
Servo servo4;
Servo servofanion;
int bouton = 7; // déclare le bouton sur la PIN 7.
int etatbouton = HIGH; // variable représentant le bouton, soit ouvert ou fermé, ici au départ HIGH donc OUVERT.
void setup() {
pinMode (bouton, INPUT) ; // on indique que le bouton est une entrée.
servo1.attach(8); // commande de la bibliothèque Servo, qui consiste à « attacher » le servomoteur à la PIN 9
servo2.attach(9);
servo3.attach(10);
servo4.attach(11);
}
void loop() {
etatbouton = digitalRead (bouton); // On lit l’état du bouton pour savoir s’il est ouvert ou fermé
if (etatbouton==LOW) { // Si la variable “etatbouton” est ouverte, à l’état LOW, donc laisse passer le courant.
// ===================== préparation du cycle
servofanion.write(90); // fanion ouvert
delay(2000);
servofanion.write(0); // fanion fermé
delay(3000);
servo1.write(150);
servo2.write(150);
servo3.write(150); // le servomoteur prend un angle de 150°.
delay(500) ; // on attend un délais de 2 secondes
servo1.write(0); // le servomoteur revient à l’angle 45
servo2.write(0);
servo3.write(0);
delay(500); // Pause de 1/2 seconde
servo1.write(150);
servo2.write(150);
servo3.write(150); // le servomoteur revient à l’angle 150
delay(500); // Pause de 1/2 seconde
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
servofanion.write(0); // fanion fermé
delay(7000); // Pause de 7 secondes
// ===================== fin de préparation
// ===================== cycle
servo1.write(95);
servo2.write(95);
servo3.write(95); // alors le servomoteur prend un angle de 95°.
delay(3000) ; // on attend un délais de 3 secondes
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
delay(7000); // Pause de 7 secondes
servo1.write(95);
servo2.write(95);
servo3.write(95); // alors le servomoteur prend un angle de 95°.
delay(3000) ; // // Pause de 3 secondes
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
delay(7000); // Pause de 7 secondes
servo1.write(95);
servo2.write(95);
servo3.write(95); // alors le servomoteur prend un angle de 95°.
delay(3000) ; // // Pause de 3 secondes
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
delay(7000); // Pause de 7 secondes
servo1.write(95);
servo2.write(95);
servo3.write(95); // alors le servomoteur prend un angle de 95°.
delay(3000) ; // Pause de 3 secondes
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
delay(7000); // Pause de 7 secondes
servo1.write(95);
servo2.write(95);
servo3.write(95); // alors le servomoteur prend un angle de 95°.
delay(3000) ; // Pause de 3 secondes
servo1.write(0);
servo2.write(0);
servo3.write(0);
delay(7000); // Pause de 7 secondes
// ===================== cycle FIN
servo1.write(95);
servo2.write(95);
servo3.write(95);
delay(500); // Pause de 2 secondes
servo1.write(150);
servo2.write(150);
servo3.write(150);
delay(500); // Pause de 3 secondes
servo1.write(95);
servo2.write(95);
servo3.write(95); // le servomoteur point zéro.
delay(500);
servo1.write(0);
servo2.write(0);
servo3.write(0); // le servomoteur revient à l’angle 0, sa position de départ.
delay(3000);
servo1.write(95);
servo2.write(95);
servo3.write(95); // le servomoteur revient à l’angle 0, sa position de départ.
delay(2000);
servofanion.write(0);
}
while(1) {
etatbouton = digitalRead (bouton);
if ( etatbouton == HIGH )
break;
}
}