1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #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); } void loop() { // bleibt leer, das Programm reagiert nur auf die Interrupts } void LEDEin() { digitalWrite(ROT, HIGH); } void LEDAus() { digitalWrite(ROT, LOW); } |
Letzte Aktualisierung: