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

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

Teilen:

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Mehr Informationen Am Online-Workshop teilnehmen

Programmieren mit dem Raspberry Pi Pico
Online-Workshop

Programmieren mit dem Raspberry Pi Pico

Online-Workshop mit einer Einführung ins Physical Computing mit Leuchtdioden, Taster und Temperatursensor.

  • Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython ohne Vorkenntnisse
  • Optimaler Einstieg, um eigene Ideen zu verwirklichen und Steuerungen zu programmieren
  • Inklusive Elektronik-Set mit einem Raspberry Pi Pico, Zubehör und elektronischen Bauteilen

Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Fibel

Elektronik einfach und leicht verständlich

Die Elektronik-Fibel ist ein Buch über die Grundlagen der Elektronik, Bauelemente, Schaltungstechnik und Digitaltechnik.

Das will ich haben!