// Definieer de pinnen
const int ledPin = 13; // LED aangesloten op digitale pin 13
const int buttonPin = 2; // Drukknop aangesloten op digitale pin 2
// Variabele om de LED status bij te houden
bool ledState = false;
// Variabele om de knopstatus bij te houden
bool lastButtonState = HIGH;
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);
}
void loop() {
// Lees de huidige status van de drukknop
bool currentButtonState = digitalRead(buttonPin);
// Controleer of de knopstatus is veranderd
if (currentButtonState != lastButtonState) {
// Als de knopstatus is veranderd en de knop is ingedrukt (LOW)
if (currentButtonState == LOW) {
// Wissel de LED status
ledState = !ledState;
// Zet de LED aan of uit afhankelijk van de nieuwe status
digitalWrite(ledPin, ledState);
}
// Werk de laatste knopstatus bij
lastButtonState = currentButtonState;
}
// Kleine vertraging om te debouncen
delay(50);
}