// programme porte de garage
#include <Servo.h>
Servo myservo1;
Servo myservo2;
const byte DureePas = 60; // regle vitesse des servomoteurs
const byte Poussoir = 3; // le bouton-poussoir est relié à la pin 3 et à la masse
int pos = 0; // valeur de la position pour les déplacements des servos
void setup() {
pinMode(Poussoir, INPUT_PULLUP); // configuration en entrée, au repos un niveau HIGH est présent
myservo1.attach(7); // attache le servo1 à la pin 6
myservo1.write(0); // positionne le servo1 à 0 deg
myservo2.attach(6); // attache le servo1 à la pin 6
myservo2.write(90); // positionne le servo1 à 90 deg
delay (500); // délai de 500 millisecondes
} // fin setup
void loop() {
while (digitalRead(Poussoir) == HIGH) {
// Tant que le bouton-poussoir est au repos on attend
}
// le bouton-poussoir est appuyé, les servos vont bouger
for (pos = 0; pos <= 90; pos += 1) { // par pas de 1 deg /95 position basse / 20 position haute
myservo1.write(pos); // le servo1 quitte la position 0 deg pour 90 deg
myservo2.write(90 - pos); // le servo2 quitte la position 90 deg pour 0 deg
delay(DureePas); // durée d'un pas
} // Fin du déplacement du servo1 et du servo2
while (digitalRead(Poussoir) == HIGH) {
// Tant que le bouton-poussoir est au repos on attend
}
// le bouton-poussoir est appuyé, les servos vont bouger
for (pos = 90; pos >= 0; pos -= 1) { // par pas de 1 deg
myservo1.write(pos); // le servo1 quitte la position 90 deg pour 0 deg
myservo2.write(90 - pos); // le servo2 quitte la position 0 deg pour 90 deg
delay(DureePas); // durée d'un pas
} // Fin du déplacement du servo1 et du servo2
} // fin loop