// Déclaration des constantes
const int pinBouton = 25;
const int pinLED1 = 26;
const int pinLED2 = 27;
const int pinLED3 = 14;
// Variables globales
int etatBoutonPrecedent = HIGH;
int etatBoutonActuel = HIGH;
int ledActive = 0;
void setup() {
// Configuration des broches
pinMode(pinBouton, INPUT_PULLUP);
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinLED3, OUTPUT);
}
void loop() {
// Lecture de l'état actuel du bouton
etatBoutonActuel = digitalRead(pinBouton);
// Vérification de l'appui sur le bouton
if (etatBoutonActuel == LOW && etatBoutonPrecedent == HIGH) {
ledActive++;
if (ledActive > 3) {
ledActive = 1;
}
}
// Allumage/Extinction des LED en fonction de la LED active
if (ledActive == 1) {
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
} else if (ledActive == 2) {
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, LOW);
} else if (ledActive == 3) {
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, HIGH);
} else {
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
}
// Mise à jour de l'état précédent du bouton
etatBoutonPrecedent = etatBoutonActuel;
delay(100); // Pause de 100 ms
}