Smart-Home am Beispiel der Präsenzerkennung im Raum Projektarbeit Lennart Heimbs, Johannes Krug, Sebastian Dohle und Kevin Holzschuh bei Prof. Oliver Hofmann SS2019
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Bewegungsmelder_HC-SR501.ino 1.2KB

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