Raspberry Pi Pico: Bewegungsmelder mit PIR Motion Detector (HC-SR501) (Alarmanlage)

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 müssen.

Die Idee ist jetzt, den PIR Motion Detector vom Typ HC-SR501 mit dem Raspberry Pi Pico zu verbinden und als typischen Anwendungsfall eines Bewegungsmelders zu verwenden. Beispielsweise, um ihn im Rahmen einer Alarmanlage zu einzusetzen.

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, der Erkennungszustand, signalisiert eine erkannte Bewegung. Danach fällt der Zustand wieder in den Ruhezustand zurück.
Im folgenden Aufbau und Programmcode geht es darum, bei einer Bewegung den Wechsel vom Ruhezustand in den Erkennungszustand auszuwerten und einen Alarm zu melden.

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

Am Anfang des Programmcodes werden die GPIOs initialisiert. Danach wird ein eine kurze Zeit gewartet, damit der PIR-Sensor in den Ruhezustand kommen kann und nicht gleich am Anfang Fehlalarme produziert.
Danach folgen zwei Funktionen. Die erste Funktion wird aufgerufen, wenn ein Bewegungszustand erkannt wird. Die zweite Funktion beinhaltet, was genau bei einem Alarm passieren soll. In diesem Fall geht der Summer an und auch wieder aus. Außerdem blinkt die Onboard-LED. Denkbar wäre es, dass hier auch etwas anderes passiert.
Der Programmcode endet mit der Initialisierung eines Interrupts, der ausgelöst wird, wenn der PIR-Sensor in den Bewegungszustand wechselt. Dabei wird die erste Funktion ausgelöst.

# 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)

# Initialisierung für Buzzer
buz = Pin(16, Pin.OUT, value=0)

# PIR-Ruhezustand abwarten
print('Warten')
print()
sleep(3)
print('Bereit')
print()

# Funktion bei Bewerbungserkennung
def pir_handler(pin):
    # PIR-Sensor-Zustand lesen
    pir_value = pir.value()
    if pir_value == 1:
        # Alarm auslösen
        alarm()
        # Warten, bis sich der Bewegungssensor beruhigt hat
        sleep(6)
        print('Ruhezustand')
        print()

def alarm():
    # Text-Ausgabe
    print('Bewegung erkannt')
    print()
    # Buzzer ein
    buz.on()
    # LED blinken lassen
    for i in range(10):
        led.toggle()
        sleep(0.2)
    # Buzzer aus
    buz.off()

# Initialisierung Interrupt für die Bewegungserkennung
pir.irq(trigger=Pin.IRQ_RISING, handler=pir_handler)

Troubleshooting

Ein PIR-Sensor weist eine gewisse Trägheit auf. Desweiteren hat der Sensor HC-SR501 zwei Potentiometer. Mit dem einen stellt man die Reichweite der Erkennung ein und das andere nimmt Einfluss auf die Zeit, die der Erkennungszustand gehalten wird.
Es empfiehlt sich, bei Problemen, die Bewegungserkennung mit dem HC-SR501 auszuprobieren.

Darf es ein bisschen mehr sein?

Mit der Bewegungserkennung eines PIR-Sensors kann man noch einiges andere anstellen. Es gibt weitere mehr oder weniger sinnvolle Anwendungen.

Weitere verwandte Themen:

Teilen:

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

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen

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

Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)

Zum PicoTalk Mehr Informationen Am Online-Workshop teilnehmen

Elektronik-Set Pico Edition
Elektronik-Set Pico Edition

Hardware-nahes Programmieren mit dem Raspberry Pi Pico

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

Online-Workshop Mehr Informationen Elektronik-Set jetzt bestellen