
Ziel des Projekts
Die Annäherung an den Bewegungsmelder schaltet die LED ein, das erneute Herangehen schaltet die LED wieder aus.
Benötigte Bauteile
- ⇒Bewegungsmelder HC-SR501
- Widerstand 220 Ω
- Leitungsdrähte
- LED
Der Schaltplan
Info
Beachte bei der Verkabelung, dass die beiden Potentiometer nach vorn zeigen.Außerdem wird der Bewegungsmelder an Pin 2 und Pin 3 angeschlossen.
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Das Programm
Definiere die beiden Pins des Bewegungsmelders und den Pin der LED und lege im setup-Teil den pinMode für die Bauteile fest.
Außerdem musst du für die Auslöser die Interrupt-Funktion festlegen:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#define BEWEGUNG_EIN 2 #define BEWEGUNG_AUS 3 #define ROT 5 void setup() { pinMode(ROT, OUTPUT); pinMode(BEWEGUNG_EIN, INPUT); pinMode(BEWEGUNG_AUS, INPUT); /* 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); } |
Info
Der loop-Teil bleibt leer, weil das Programm ausschließlich durch die Interrupts gesteuert wird.
Jetzt fehlen nur noch die Funktionen LEDEin() und LEDAus().
|
1 2 3 4 5 6 7 8 9 |
void LEDEin() { digitalWrite(ROT, HIGH); } void LEDAus() { digitalWrite(ROT, LOW); } |
Ähnliche Projekte
- Interrupt: Licht ein- und ausschalten
- Interrupt: Morsegerät
- Interrupt: Farbenspiel mit einem NeoPixel-Ring
- Interrupt: Lauflicht mit Fernbedienung
Letzte Aktualisierung:

