const int CapteurPin = 2; // Broche du Capteur poussoir int etatCapteur = 0; // État actuel du Capteur int dernierEtatCapteur = 0; // Dernier état du Capteur bool fonctionActive = false; // Indicateur de l'état de la fonction void setup() { pinMode(CapteurPin, INPUT); pinMode(LED_BUILTIN, OUTPUT); Serial.begin(9600); } void loop() { etatCapteur = digitalRead(CapteurPin); // Lecture de l'état du Capteur // Vérification du changement d'état du Capteur if (etatCapteur != dernierEtatCapteur) { delay(50); // Anti-rebond if (etatCapteur == HIGH) { // Inversion de l'état de la fonction à chaque appui sur le Capteur fonctionActive = !fonctionActive; if (fonctionActive) { Serial.println("Fonction démarrée."); blink(); } else { Serial.println("Fonction arrêtée."); digitalWrite(LED_BUILTIN, LOW); } } } dernierEtatCapteur = etatCapteur; // Mise à jour de l'état précédent du Capteur } void blink(){ digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }