Raspberry Pi Pico: Bewegung erkennen und anzeigen 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.
Wir wollen mit einem PIR-Sensor eine Bewegung erkennen und anzeigen. Als Bewegungssensor verwenden wir einen PIR Motion Detector vom Typ HC-SR501.

Die Idee hinter diesem Aufbau ist, eine Bewegung zu erkennen, um eine bestimmte Funktion auszuführen. In diesem Fall geben wir einen Text auf der Kommandozeile aus.

Wenn das Deine ersten Versuche mit dem HC-SR501 sind, dann solltest Du Dich zuerst über diesen PIR-Sensor und seine Besonderheiten informieren. Außerdem empfiehlt es sich zuerst mit der Bewegungserkennung des HC-SR501 zu experimentieren und herauszufinden, was er leisten kann.

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 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.
Außerdem wird bei der Erkennung einer Bewegung ein Text auf der Kommandozeile ausgegeben. Dann werden ein paar Sekunden gewartet, bis der Sensor sich beruhigt hat. Die LED wird dann wieder ausgeschaltet.

# 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, value=0)

# Wiederholung (Schleife)
while True:
    # 1 Sekunde warten
    sleep(1)
    # PIR-Sensor-Zustand lesen
    pir_value = pir.value()
    # LED ansteuern
    led.value(pir_value)
    if pir_value == 1:
        # Bewegung melden
        print('Bewegung erkannt!')
        print()
        # Warten, bis sich der Bewegungssensor beruhigt hat
        sleep(7)
        # LED ausschalten
        led.off()

Darf es ein bisschen mehr sein?

Was kannst Du mit einer Bewegungserkennung alles machen? Beispielsweise einen Bewegungsmelder für eine Alarmanlage bauen oder eine Anwesenheitserkennung für ein Display.

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