const int ledPin = 13; // Pin où la première LED est connectée
const int ledBlinkPin = 12; // Pin où la deuxième LED est connectée
const int buttonOnPin = 2; // Pin où le bouton pour allumer la première LED est connecté
const int buttonOffPin = 3; // Pin où le bouton pour éteindre la première LED est connecté
unsigned long previousMillis = 0; // Stocke le temps écoulé depuis le dernier changement d'état de la LED
const long interval = 500; // Intervalle pour le clignotement de la LED (en millisecondes)
bool ledState = LOW; // État actuel de la LED
void setup() {
pinMode(ledPin, OUTPUT); // Définir la broche de la première LED comme une sortie
pinMode(ledBlinkPin, OUTPUT); // Définir la broche de la deuxième LED comme une sortie
pinMode(buttonOnPin, INPUT_PULLUP); // Définir la broche du bouton On comme une entrée avec pull-up
pinMode(buttonOffPin, INPUT_PULLUP); // Définir la broche du bouton Off comme une entrée avec pull-up
}
void loop() {
unsigned long currentMillis = millis();
if (digitalRead(buttonOnPin) == LOW) { // Vérifier si le bouton On est appuyé
digitalWrite(ledPin, HIGH); // Allumer la première LED
} else if (digitalRead(buttonOffPin) == LOW) { // Vérifier si le bouton Off est appuyé
digitalWrite(ledPin, LOW); // Éteindre la première LED
}
// Vérifier si les deux boutons sont relâchés
if (digitalRead(buttonOnPin) == HIGH && digitalRead(buttonOffPin) == HIGH) {
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // Sauvegarder le temps actuel
ledState = !ledState; // Inverser l'état de la LED
digitalWrite(ledBlinkPin, ledState); // Mettre à jour l'état de la LED
}
} else {
digitalWrite(ledBlinkPin, LOW); // Éteindre la deuxième LED si un bouton est appuyé
}
}