// Definieer de pinnen
const int ledPin = 13; // LED aangesloten op digitale pin 13
const int buttonPin = 2; // Drukknop aangesloten op digitale pin 2 (interrupt pin 0)
// Variabele om de LED status bij te houden
volatile bool ledState = false;
// Interrupt service routine (ISR)
void toggleLED() {
// Wissel de LED status
ledState = !ledState;
// Zet de LED aan of uit afhankelijk van de nieuwe status
digitalWrite(ledPin, ledState);
}
void setup() {
// Stel de LED pin in als uitgang
pinMode(ledPin, OUTPUT);
// Stel de drukknop pin in als ingang met interne pull-up weerstand
pinMode(buttonPin, INPUT_PULLUP);
// Initialiseer de LED status
digitalWrite(ledPin, ledState);
// Configureer de externe interrupt op pin 2 (interrupt nummer 0) op een vallende flank
attachInterrupt(digitalPinToInterrupt(buttonPin), toggleLED, FALLING);
}
void loop() {
// Hoofdprogramma doet niets, alles wordt geregeld door de interrupt
}