Testcode für Bewegungsmelder HC-SR501

This commit is contained in:
Johannes Krug 2019-03-07 15:28:26 +01:00
parent 38fdf6596c
commit 6091e42ecc

View File

@ -0,0 +1,36 @@
//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 13 of Arduino
int pirPin = D0; // Input for HC-S501
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;
}