// Constantes pour les broches
const byte boutonPin = 2; // Broche pour le bouton (PB2)
const byte ledPin = 0; // Broche pour la LED (PB0)
unsigned long dernierDebounceTime = 0;
unsigned long debounceDelay = 500;
void setup() {
pinMode(boutonPin, INPUT_PULLUP); // Le bouton est connecté à la masse lorsqu'il est enfoncé
pinMode(ledPin, OUTPUT);
// Configuration de l'interruption pour la broche du bouton
attachInterrupt(0, boutonInterruption, FALLING); // Utilisation directe du numéro de la broche
}
void loop() {
// Le programme principal peut continuer à s'exécuter ici//
}
void boutonInterruption() {
// Cette fonction est appelée lorsque le bouton est enfoncé
// Ignorer les rebonds du bouton
if ((millis() - dernierDebounceTime) > debounceDelay) {
// Inversion de l'état de la LED
digitalWrite(ledPin, !digitalRead(ledPin));
dernierDebounceTime = millis();
}
}