smarthome-presence-detect/arduino/PIR/Bewegungsmelder_HC-SR501/Bewegungsmelder_HC-SR501.ino

40 lines
1.2 KiB
Arduino
Raw Normal View History

2019-03-07 14:28:26 +00:00
//HC-SR501 als Bewegungsmelder, vergleicht alten PIR-wert mit neuem PIR-wert und lässt bei HIGH Phase LED leuchten
//Einstellung *repeatable Trigger||single Trigger* hier egal
//Single Trigger:Bei Bewegung läuft ein festgelegtes Zeitfenster HIGH ab (LINKER POTI, 3sec bis 5min)
//Repeatable Trigger: Bei Bewegung läuft HIGH Zeitfester ab, wenn darin wieder Bewegung erkannt wird, wird das zeitfenster wieder neu gestartet und verlängert.
//Nach diesen HIGH signal folgt in beiden fällen ein 3 sekündiges LOW Fenster, hier wird keine bewegung erkannt
int ledPin = D1; // LED on Pin 1 of ESP
int pirPin = D0; // Input for HC-SR501
2019-03-07 14:28:26 +00:00
int pirValueNeu; // Place to read PIR Value
int pirValueAlt = 0; //Place to store read PIR Value
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(pirPin, INPUT);
digitalWrite(ledPin, LOW);
}
void loop() {
pirValueNeu = digitalRead(pirPin);
if(pirValueNeu != pirValueAlt){
if(pirValueNeu==1){
Serial.println("Motion! Level:HIGH");
}
else{
//Serial.println("Ruhemodus 3 Sekunden! Level:LOW");
//delay(3000);
Serial.println("No motion so far! Level:LOW");
}
digitalWrite(ledPin, pirValueNeu);
pirValueAlt=pirValueNeu;
2019-03-07 14:28:26 +00:00
}
2019-03-07 14:28:26 +00:00
}