Bewegungsmelder am Raspberry Pi auslesen

Wp 2015 Pro E1434139444263 – Bewegungsmelder am Raspberry Pi auslesen

Passiv-Infrarot-Bewegungsmelder (PIR) sind eine günstige und zuverlässige Möglichkeit, Bewegungen zu erkennen. Im Vergleich zur Raspberry Pi Kamera mit Motion-Software sind sie einfacher einzurichten, verbrauchen kaum Strom und funktionieren ohne Bildverarbeitung. Das macht sie ideal für Projekte wie automatische Monitorsteuerung, Benachrichtigungen oder smarte Beleuchtung.

Infrarot-Bewegungsmelder-raspberry-pi

Benötigte Hardware

Der PIR-Sensor im Detail

  • Der SW1-Jumper bestimmt das Triggering-Verhalten:
    • Position 1: Data wird jede Sekunde auf High gesetzt, solange Bewegung erkannt wird
    • Position 2: Data bleibt auf High, solange Bewegung erkannt wird (empfohlen – Jumper nach unten setzen)
  • Die Time-Stellschraube legt fest, wie lange Data nach erkannter Bewegung auf High bleibt
  • Die Sensitive-Stellschraube regelt die Empfindlichkeit der Bewegungserkennung
  • Anschlüsse von links nach rechts: GND, DATA, 5V
  • Reichweite: bis zu 7 Meter (sensorabhängig), Erfassungswinkel ca. 120 Grad

pir-sensor-anschlüße

Die Verkabelung

Der PIR-Sensor wird direkt an die GPIO-Pins des Raspberry Pi angeschlossen:

  • VCC → 5V → PIN 2
  • Data → 3,3V Datenausgang → PIN 7 (GPIO 4)
  • GND → Masse → PIN 6

bewegungsesnor Verkabelung

Python 3 Test-Script mit gpiozero (empfohlen)

Die modernste und einfachste Möglichkeit, den PIR-Sensor mit Python anzusteuern, ist die Bibliothek gpiozero. Sie ist unter Raspberry Pi OS Bookworm standardmäßig vorinstalliert und abstrahiert die GPIO-Zugriffe auf eine sehr übersichtliche Weise.

Erstellt eine neue Python-Datei:

Gespeichert wird mit STRG+X, Y und Enter. Ausführen:

bewegungsmelder python pogramm

Python 3 Script mit RPi.GPIO (Alternative)

Wer lieber direkt mit RPi.GPIO arbeitet oder ein bestehendes Projekt anpassen möchte, kann auch diesen Ansatz verwenden. RPi.GPIO ist unter Bookworm noch verfügbar, gpiozero wird aber als moderner und einfacher empfohlen.

Monitor steuern mit vcgencmd und xrandr

Das Hauptanwendungsbeispiel: Der Monitor soll sich automatisch ein- und ausschalten, je nachdem ob jemand im Raum ist. Dafür erweitern wir das gpiozero-Script um die Monitorsteuerung.

Methode 1: vcgencmd (einfach, Pi 4 und Pi 5)

Methode 2: xrandr (X11-Desktop, flexibler)

Das vollständige Script für automatische Monitorsteuerung:

Autostart via systemd

Damit das Script bei jedem Start automatisch ausgeführt wird, legen wir einen systemd-Service an. Das ist die moderne Alternative zum veralteten rc.local.

Inhalt der Service-Datei:

Service aktivieren und starten:

Status prüfen:

Logs einsehen:

Mit diesem Setup startet das Script automatisch beim Booten und wird bei Abstürzen automatisch neu gestartet.

WP_20150611_22_29_57_Pro

Ähnliche Beiträge