#include <Servo.h>
#define BUTTON_Droite 3 // Broche du bouton poussoir pour tourner servo à droite
#define BUTTON_Centre 2 // Broche du bouton poussoir pour tourner servo à centre
#define BUTTON_Gauche 4 // Broche du bouton poussoir pour tourner servo à gauche
Servo myServo; // Déclaration de l'objet Servo
int servoSpeed = 10; // Vitesse du servo (plus la valeur est grande, plus le servo sera lent)
void setup() {
pinMode(BUTTON_Droite, INPUT_PULLUP); // Configurer la broche du bouton poussoir droite en entrée avec une résistance de tirage vers le haut
pinMode(BUTTON_Centre, INPUT_PULLUP); // Configurer la broche du bouton poussoir droite en entrée avec une résistance de tirage vers le haut
pinMode(BUTTON_Gauche, INPUT_PULLUP); // Configurer la broche du bouton poussoir gauche en entrée avec une résistance de tirage vers le haut
myServo.attach(9); // Attacher le servo à la broche 9 de l'Arduino Uno
}
void loop() {
if (digitalRead(BUTTON_Droite) == LOW) { // Si le bouton droit est enfoncé
for (int angle = myServo.read(); angle <= 180; angle++) {
myServo.write(angle); // Faire tourner le servo à droite
delay(servoSpeed); // Attendre un petit moment pour ralentir le servo
}
}
if (digitalRead(BUTTON_Centre) == LOW) { // Si le bouton centre est enfoncé
for (int angle = myServo.read(); angle >= 90; angle--) {
myServo.write(angle); // Faire tourner le servo vers le centre
delay(servoSpeed); // Attendre un petit moment pour ralentir le servo
}
for (int angle = myServo.read(); angle <= 90; angle++) {
myServo.write(angle); // Faire tourner le servo vers le centre
delay(servoSpeed); // Attendre un petit moment pour ralentir le servo
}
}
if (digitalRead(BUTTON_Gauche) == LOW) { // Si le bouton gauche est enfoncé
for (int angle = myServo.read(); angle >= 0; angle--) {
myServo.write(angle); // Faire tourner le servo à gauche
delay(servoSpeed); // Attendre un petit moment pour ralentir le servo
}
}
}