
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)
#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:
if (TasterStatus == true) TasterStatus = false;
else if (TasterStatus == false) TasterStatus = true;
void LEDSchalten()
{
TasterStatus = !TasterStatus;
digitalWrite(ROT, TasterStatus);
}
Verwandte Anleitungen:
- Interrupt: Lauflicht
- Interrupt - Lauflicht mit Drehgeber
- Interrupt: Licht schalten mit Bewegungsmelder
- Interrupt: Morsegerät
- Interrupt: Farbenspiel mit einem NeoPixel-Ring
- Interrupt: Lauflicht mit Fernbedienung
Letzte Aktualisierung: