
Der Taster soll als Lichtein- und ‑ausschalter funktionieren.
Der Interrupt soll jetzt bei FALLING ausgelöst werden, weil der Zustand des Taster wegen des eingeschalteten Vorwiderstands von HIGH auf LOW „fällt“:
attachInterrupt(digitalPinToInterrupt(TASTER), LEDSchalten, FALLING);

Benötigte Bauteile:
- LED
- Widerstand 220 Ω
- Taster
- Leitungsdrähte

Beachte die ⇒Vorwiderstände verschiedener LEDs
Baue die Schaltung auf:
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #define ROT 5 #define TASTER 2 /* je nach Zustand der Variable TasterStatus ist die LED ein- oder ausgeschaltet beim Start des Programms ist sie ausgeschaltet */ volatile bool TasterStatus = LOW; void setup() { pinMode(ROT, OUTPUT); // Eingangspegel auf HIGH setzen pinMode(TASTER, INPUT_PULLUP); attachInterrupt(digitalPinToInterrupt(TASTER), LEDSchalten, FALLING); } void loop() { // nichts zu tun // das Programm reagiert nur auf den Interrupt } |
In der Funktion LEDSchalten muss der TasterStatus „umgedreht“ werden:
aus true wird false, aus false wird true
Das ist die Kurzform von:
1 2 | if (TasterStatus == true) TasterStatus = false; else if (TasterStatus == false) TasterStatus = true; |
1 2 3 4 5 | void LEDSchalten() { TasterStatus = !TasterStatus; digitalWrite(ROT, TasterStatus); } |
Verwandte Anleitungen:
Letzte Aktualisierung:






