Testcode für Bewegungsmelder HC-SR501
This commit is contained in:
parent
38fdf6596c
commit
6091e42ecc
@ -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;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user