Raspberry Pi Pico: Bewegungserkennung mit PIR Motion Detector HC-SR501

Ein PIR Motion Detector ist ein Bewegungssensor, der sich in den meisten Bewegungsmeldern befindet. Er ist so konstruiert, dass er Temperaturänderungen erkennen kann. Typischerweise von warmen Objekten, die sich bewegen.

Die Idee ist jetzt, den PIR Motion Detector vom Typ HC-SR501 mit dem Raspberry Pi Pico zu verbinden und einfach mal auszuprobieren.
Im zweiten Schritt wollen wir mit dem Aufbau ein wenig experimentieren. Der HC-SR501 hat nämlich zwei Potentiometer zum Einstellen. Wir wollen herausfinden, wie diese Potentiometer wirken.

Der PIR Motion Detector HC-SR501 hat einen Signal-Ausgang, der zwei Zustände annehmen kann. Der eine Zustand ist der Ruhezustand. Der andere Zustand signalisiert eine erkannte Bewegung. Danach fällt der Zustand wieder in den Ruhezustand zurück.

Aufbau und Bauteile

Raspberry Pi Pico: Bewegungserkennung mit PIR Motion Detector HC-SR501

Raspberry Pi Pico HC-SR501
Pin 36 3V3_OUT, +3,3V VCC
Pin 38 GND GND
Pin 29 GPIO 22 OUT

Schnell und einfach alle Bauteile zusammen bestellen

Programmcode

Das Programm initialisiert einen GPIO-Pin als Eingang für den Signal-Ausgang des PIR-Sensors und einen GPIO-Pin zur Ansteuerung der Onboard-LED als Zustandsanzeige des Sensors.
In einer Schleife wird nach einer Wartezeit von einer Sekunde der Zustand des Sensors abgefragt. Der Zustand „0“ oder „1“ wird in der Thonny-Kommandozeile ausgegeben und zusätzlich die Onboard-LED angesteuert.

# Bibliotheken laden
from machine import Pin
from time import sleep

# Initialisierung des PIR-Moduls
pir = Pin(22, Pin.IN, Pin.PULL_DOWN)

# Initialisierung der Onboard-LED
led = Pin(25, Pin.OUT)

# Wiederholung (Endlos-Schleife)
while True:
    # 1 Sekunde warten
    sleep(1)
    # PIR-Sensor-Zustand lesen
    pir_value = pir.value()
    # Wert ausgeben
    print(pir_value)
    # LED ansteuern
    led.value(pir_value)

Wenn das Programm läuft, dann wird jede Sekunde der Zustand des Signalausgangs am PIR Motion Sensors abgefragt.

  • Der Zustand bzw. Wert „0“ bedeutet, dass keine Bewegung erkannt wurde. Die LED leuchtet nicht.
  • Der Zustand bzw. Wert „1“ bedeutet, dass eine Bewegung erkannt wurde. Die LED leuchtet.

Experimente

Es geht bei den folgenden Experimenten darum herauszufinden, wie sich der PIR Motion Detector HC-SR501 unter bestimmten Bedingungen verhält. Beispielsweise wäre es denkbar, dass der Sensor schon jetzt in eine bestimmte Position gebracht wird, in der er genutzt werden soll.

  • Positionierung: Die Kuppel des Sensors zeigt weg von Dir. Die Anschlüsse zu Dir hin. Der Jumper (gelb) befindet sich auf der rechten Seite und Du schaust auf die beiden Potentiometer.
  • Bewegung: Eine sinnvolle Bewegung, wenn der Sensor vor die auf dem Tisch liegt ist, eine Hand in wenigen Zentimeter Abstand über die Kuppel führen.
  • Programm: Führe die folgenden Experimente durch, während das Programm gestartet ist.
  • Hilfsmittel: Du brauchst zum Drehen der Potentiometer einen kleinen Schlitz-Schraubendreher.

Experiment: Verzögerungszeit nach der Bewegungserkennung

Mit Verzögerungszeit nach der Bewegungserkennung ist gemeint, wie lange der Sensor den Erkennungszustand halten soll, bis er sich in den Ruhezustand zurückstellt und eine erneute Bewegung detektieren kann.

  1. Drehe das linke Potentiometer in mehreren Schritten von links nach rechts und wieder zurück.
  2. Führe bei jedem Schritt eine oder auch mehrmals hintereinander eine Bewegung aus.
  3. Beobachte, wie oft bzw. wie lange die Bewegung erkannt wird bzw. bleibt.
  4. Stelle das Potentiometer so ein, dass die Verzögerungszeit der Bewegungserkennung für Dich in Ordnung ist.

Hinweis: In der Regel ist eine kurze Verzögerungszeit zum Experimentieren sinnvoll. Wenn der PIR-Sensor aber nicht oft abgefragt werden kann, ist es sinnvoll die Verzögerungszeit länger einzustellen.

Experiment: Reichweite bzw. Entfernung der Bewegungserkennung

Mit Reichweite bzw. Entfernung der Bewegungserkennung ist gemeint, bis wie nahe oder wie weit weg ein sich bewegendes Objekt sich befinden muss oder darf, dass eine Bewegung detektiert wird.

  1. Drehe das rechte Potentiometer in mehreren Schritten von links nach rechts und wieder zurück.
  2. Führe bei jedem Schritt eine oder auch mehrmals hintereinander eine Bewegung aus.
  3. Versuche herauszufinden, wie umfangreich eine Bewegung sein muss, dass sie erkannt wird.
  4. Stelle das Potentiometer so ein, dass die Entfernung der Bewegungserkennung für Dich in Ordnung ist.

Hinweis: Diese Einstellung hängt davon ab, wie groß der Erkennungsbereich sein soll. Das hängt sehr stark von den örtlichen Begebenheiten ab.

Beobachtungen und Erkenntnisse

Wenn Du mit der Bewegungserkennung experimentierst, wirst Du eine gewissen Trägheit erkennen. In den meisten Fällen wird eine Bewegung ziemlich sicher erkannt. Und nach einer erkannten Bewegung kann es lange dauern, bis eine erneute Bewegung erkannt wird.
Was heißt das? Man kann mit so einem PIR Motion Sensor Bewegungen erkennen. Aber man kann zum Beispiel nur sehr schwer Bewegungen zählen.

Darf es ein bisschen mehr sein?

So, jetzt haben wir genug experimentiert. Du kannst jetzt einschätzen, wie schnell der PIR Motion Detector HC-SR501 die Bewegung erkennt und wie lange er diesen Zustand halten kann. Jetzt geht es darum, das in eine konkretere Anwendung umzusetzen.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren