
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
- Licht mit Interrupt-Pin ein- und ausschalten
- Morsegerät mit Interrupt-Pin
- Mit einem Interrupt-Pin Farbenspiel auf einem NeoPixel-Ring starten
- Lauflicht mit Interrupt-Pin und Fernbedienung
Letzte Aktualisierung:

