Befindet sich ein Objekt im „Sichtbereich“ des Bewegungsmelders, wird im Seriellen Monitor angezeigt, ob eine Bewegung erkannt wurde.

Der Bewegungsmelder HC-SR501 hat auf der Vorderseite zwei Potentiometer: Der linke stellt die Dauer des Ausgangssignal ein (Zeit, wie lange das Signal HIGH bleibt) , der rechte die Reichweite/Empfindlichkeit.
Die Reichweite beträgt 3 — 7 m, bei einem Winkel von 120°.

Auf der Rückseite befindet sich ein Jumper, der den Trigger-Mode einstellt:
H: Solange sich ein Objekt im “Sichtbereich” bewegt, wird wiederholt HIGH ausgelöst, die Zeit für das Ausgangssignal startet bei jeder neuen Bewegung von vorne (retriggering)
L: wird eine Bewegung entdeckt, wird für die Dauer des Ausgangssignal nur einmal HIGH ausgelöst. Dabei spielt es keine Rolle, wie oft sich das Objekt im “Sichtbereich” bewegt (non-retriggering)

Der Bewegungssensor HC-SR505 hat eine fest eingestellte Reichweite von 3 m und deckt eine Winkel von 120° ab.

Beachte bei der Verkabelung des HC-SR501, dass die beiden Potentiometer nach vorn zeigen.
Der Schaltplan


Das Programm
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 | // Pin des Bwegungsmelders int BEWEGUNGSMELDER = 7; void setup() { // Bewegungsmelder als Eingang definieren pinMode(BEWEGUNGSMELDER, INPUT); Serial.begin(9600); // auf serielle Verbindung warten while (!Serial); delay(1000); } void loop() { // die Variable Sensorwert beinhaltet den mit digitalRead abgefragten Zustand des Sonsors (HIGH/LOW) int SensorWert = digitalRead(BEWEGUNGSMELDER); // es wurde eine Bewegung erkannt if (SensorWert == HIGH) { Serial.println(“Bewegung erkannt!”); } else Serial.println(“Keine Bewegung erkannt!”); delay(500); } |
Quellen
letzte Aktualisierung: