Stelle durch Drehen nach rechts des linken Potentiometers ein längeres Ausgangssignal ein.
Beachte bei der Verkabelung, dass die beiden Potentiometer nach vorn zeigen.
Außerdem wird der Bewegungsmelder an Pin 2 und Pin 3 angeschlossen.
Benötigte Bauteile:
- Bewegungsmelder HC-SR501
- Widerstand > 100 Ω
- Leitungsdrähte
- LED
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Definiere die beiden Pins des Bewegungsmelders und den Pin der LED und lege im setup-Teil den pinMode für die Bauteile fest.
# define BEWEGUNG_EIN 2
# define BEWEGUNG_AUS 3
void setup()
{
pinMode(ROT, OUTPUT);
pinMode(BEWEGUNG_EIN, INPUT);
pinMode(BEWEGUNG_AUS, INPUT);
Außerdem musst du für die Auslöser die Interrupt-Methoden festlegen:
/*
wenn eine Bewegung registriert wird
Signal ist HIGH -> RISING -> LEDEin
wenn die Wartezeit abgelaufen ist
Signal ist LOW -> FALLING -> LEDAus
*/
attachInterrupt(digitalPinToInterrupt(BEWEGUNG_EIN), LEDEin, RISING);
attachInterrupt(digitalPinToInterrupt(BEWEGUNG_AUS), LEDAus, FALLING);
}
Der loop-Teil bleibt leer, weil das Programm ausschließlich durch die Interrupts gesteuert wird.
Jetzt fehlen nur noch die Methoden LEDEin() und LEDAus().
void LEDEin()
{
digitalWrite(ROT, HIGH);
}
void LEDAus()
{
digitalWrite(ROT, LOW);
}
Verwandte Aufgaben:
- Interrupt: Lauflicht
- Interrupt: Licht ein- und ausschalten
- Interrupt: Morsegerät
- Interrupt: Farbenspiel mit einem NeoPixel-Ring
Letzte Aktualisierung: