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
// 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: