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:
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: