/*
Claude EMERY 18/03/2024
Rotation Servomoteur avec bouton poussoir
Tant que l'on appuie , le servo tourne
Bouton Vert = Incrémentation
Bouton Rouge = Décrémentation
*/
#include <Servo.h>
const int boutonVert = 2; // Broche du bouton poussoir
const int boutonRouge = 3;
int compteur = 90; // Initialisation du compteur à 90
Servo myServo;
void setup() {
pinMode(boutonVert, INPUT_PULLUP); // Configuration de la broche des boutons en entrée
pinMode(boutonRouge, INPUT_PULLUP);
myServo.attach(9);
Serial.begin(9600);
}
void loop() {
boutonVertRun();
boutonRougeRun();
}
void boutonVertRun(){ // Fonction bouton vert
if (digitalRead(boutonVert) == LOW) { // Vérifie si le bouton est enfoncé
delay(50); // Délai pour éviter les rebonds du bouton
// Vérifie à nouveau si le bouton est enfoncé après le délai
if (digitalRead(boutonVert) == LOW) {
compteur+=5; // Incrémente le compteur
myServo.write(compteur);
affiche_compteur(); // Affichage du compteur
while (digitalRead(boutonVert) == HIGH) {
// Attend que le bouton soit relâché avant de continuer
}
}
}
}
void boutonRougeRun() { // Fonction bouton rouge
if (digitalRead(boutonRouge) == LOW) { // Vérifie si le bouton est enfoncé
delay(50); // Délai pour éviter les rebonds du bouton
if (digitalRead(boutonRouge) == LOW) {
compteur-=5; // Décrémente le compteur
myServo.write(compteur);
affiche_compteur(); // Affichage du compteur
while (digitalRead(boutonRouge) == HIGH) {
// Attend que le bouton soit relâché avant de continuer
}
}
}
}
void affiche_compteur(){ // Affiche la valeur du compteur
Serial.print("Compteur : ");
Serial.print(compteur);
Serial.println("°");
}
DECREMENTATION
INCREMENTATION
APPUYER CONSTAMMENT / PUIS RELACHER