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.
- Mehr Informationen zum HC-SR501 PIR Motion Detector
- Experimente mit der Bewegungserkennung mit dem HC-SR501
Aufbau und Bauteile
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:
- Raspberry Pi Pico: Bewegungserkennung mit PIR Motion Detector HC-SR501
- Raspberry Pi Pico: Bewegungsmelder mit PIR Motion Detector (HC-SR501)
- Raspberry Pi Pico: Automatisches Nachtlicht mit PIR Motion Sensor HC-SR501 und RGB-LED WS2812
- Raspberry Pi Pico: Helligkeit messen mit Fotowiderstand (Helligkeitsmessung)
- Raspberry Pi Pico: Temperatur mit dem integrierten Temperatursensor messen und anzeigen
Teilen:
Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython
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: 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.
Für Ihre Fragen zu unseren Online-Workshops mit dem Raspberry Pi Pico besuchen Sie unseren PicoTalk (Online-Meeting). (Headset empfohlen)