Raspberry Pi PIR Bewegungsmelder HC-SR501 – Sensor und Modul

In dieser Anleitung werde wir heute sehen, wie man einen sogenannten PIR Bewegeungsmelder/Sensor HC-SR501 an einem Raspberry Pi pder Arduino so anschließt, um Bewegungen in einem Raum oder einem Bereich zu registrieren. Wir zeigen, wie man den PIR Sensor an einem Raspberry Pi oder Arduino einsetzt, welche Kabelleitungen wie angeschlossen werden und an welchen GPIO Pins des Raspberry Pi’s.

Günstige Bezugsquellen für Raspberry PIR HC-SR501 Modul?

1) Raspberry und Arduino PIR Modul: Am günstigsten erhält man den HC-SR501 Bewegungsmelder/PIR Modul für Raspberry aktuell auf eBay.

Bei einem deutschen Händler findet man den HC-SR501 PIR Sensor inkl. Anschlußkabel und kostenlosem Versand für 5,90 Euro (deutscher Fachhändler Sensus). Günstiger geht es kaum, wenn man von einem deutschen Händler beziehen will, und keine Lust auf Zoll und Lieferzeiten von 1 Monate beim China Anbieter hat.

2) Raspberry Jumper-Wire female-female: Zwar gibt es auch andere Anbieter unter 5 Euro, allerdings kommt hier meist mindestens noch mal 2,40 Euro Versand dazu. Darüber hinaus bietet das oben genannte eBay Angebot auch noch die Anschlusskabel, welche man ansonsten einzeln kaufen müsste.

Nachdem wir uns das PIR Modul bzw. den Bewegungsmelder beim eBay Anbieter bestellt haben, können wir auch schon anfangen. Mittels eines einfachen Python Programm Skriptes werden wir auf unserem Raspberry Pi herausfinden, wann der Sensor eine entsprechende Bewegung erkennt.

Was ist eigentlich ein PIR Bewegungsmelder?

PIR steht für „passives Infarot“. Sie werden häufig Infarot Bewegungsmelder oder einfach Bewegungsmelder genannt. Sie sind dafür ausgerichtet, jeweils eine bestimmte Menge an Infarotstrahlen / Wärme) zu erkennen und auszuwerten. Solche Sensoren sind in der Lage Bewegungen auf Grund der Veränderung von Wärme (beispielsweise wenn jemand durch einen Raum geht) zu erkennen.

Handelsüblicher PIR Bewegungssensor für den Raspberry Pi und Arduino

Handelsüblicher PIR Bewegungssensor für den Raspberry Pi und Arduino

Der von uns für diese Anleitung verwendete PIR-Sensor hat 3 Pins zum Anschluss von Kabeln. Ein Pin wird für Minus (negative Spannung), ein weiterer für die 3-5 Volt DC Versorgungsspannung genutzt.

Der mittlere Pin ist unser digitaler Ausgang am Raspberry Pi oder Arduino Uno/Nano. Der Digitalausgang ist grundsätzlich LOW (keine Spannung liegt an), und sobald der PIR Bewegungsmelder eine Bewegung erkennt, schaltet er die Spannung von 3,3 Volt auf den PIN (High).

Mittels unserers Raspberry Pi oder Arduinos Uno/Nano/Mega werden wir genau diese Änderung am Digitalausgang des PIR Sensors erkennen. Der von uns verwendete Sensor hat eine Reichweite von ca. 7 Meter und einen Erfassungsbereich von 110 ° x 70 ° , eignet sich also ideal für die Überwachung von Türen, Ecken und Durchgängen eines Raumes.

Raspberry PI HC-SR501 Bewegungsmelder und PIR Modul richtig anschließen

  1. Wir schließen zuerst mittels einer“männlich zu weiblich“ Drahtbrücke die drei PIN’s des Bewegungsmelders HC-SR501 an. Die drei Pins sind wie folgt gekennzeichnet: Rot; PIR-VCC (3-5VDC in), Brown; PIR-OUT (Digitalausgang) und Schwarz; PIR-GND (Masse).
  2. Wir Stecken zunächst den Pin mit der Bezeichnung PIN-VCC in die + Schiene (rote Schiene) unseres Steckbrettes (Versorgungsspannung). Das gleiche tun wir mit dem PIR-GND Pin, den wir mit der blauen Schiene (minus) verbunden. Den übrig gebliebenen PIN (PIR-OUT) verbunden wir mit einer beliebigen Schiene auf unserem Steckbrett.
  3. Am besten verwenden Sie eine schwarze Draht an GPIO GND [Pin 6], um den Pi mit der Minus-Leitung des Steckbrett zu verbinden. Genau diese Schienen verwenden wir auch, um mit einem weiteren Draht diese an den GND Pin des Raspberry PI’s zu verbinden.
  4. Wir verwenden nun eine rote Drahtbrücke auf GPIO 5V [Pin 2] und verbinden diese mit der roten (Plus) Schiene auf dem Breadboard. Genau diese Schiene verbinden wir auch mit dem 5 Volt Pin des Raspberry Pi’s.
  5. Am Raspberry Pi werden wir Pin 7 (GPIO) nutzen, um den digitalen Ausgang des HC-SR501 PIR Bewegungsmelders auszulesen. Aus diesem Grund verbinden wir die Leiste mit Pin 7 des Raspberry GPIO Pin’s. Das war es auch schon.
Bewegungssensor mit Steckbrett

PIR Bewegungsmelder wird auf diese Weise angeschlossen über das Steckbrett

 

Unsere HC-SR501 PIR Bewegungsmelder ist nun mit unserem Raspberry Pi verbunden und betriebsbereit. Nun werden wir uns an das Skript machen, um die Bewegungen entsprechend in unserem Programm auszuwerten.

Auswerten der PIR Bewegung am Raspberry mittels Skript

Unsere Python Skript soll nun einfach überprüfen, ob der entsprechende Digitalausgang des Sensors Spannung führt oder nicht (HIGH oder LOW). Der Digitalausgang des PIR Sensors vom HC-SR501 gibt keine Spannung aus (0 Volt), wenn keine Bewegung erkannt wird. Sobald der Sensor aber eine Bewegung erkennt, schaltet der digitale Pin 3,3 Volt durch (HIGH). Unser Python Skript wird also den Pin 7 einfach überwachen, und auf eine entsprechende Änderung der Spannung reagieren und eine Meldung ausgeben.

Wir öffnen also einen Texteditor und fangen an das Python Skript zu schreiben. Zunächte importieren wir dafür in unser Skript die Python-GPIO-Bibliothek, um auf diese Weise die PIN’s unseres Raspberry Pi’s ansprechen und auswerten zu können.

Import RPi.GPIO als GPIO
Importzeit
GPIO.setmode (GPIO.BCM)

Nun definieren wir einen PIN, den wir überwachen wollen. Wir haben den digitalen Ausgang des Sensors an PIN 7 angeschlossen. Um den Code besser lesbarer zu machen, werden wir den Pin 7 jetzt einen Namen geben, so dass wir später in unserem Skript darauf zugreifen können. In unserem Beispiel geben wir dem Pin den Namen „PIR_PIN“.

PIR_PIN = 7

Nun ist es wichtig dem Raspberry bzw. dem Programm zu erklären, dass unser Pin ein Eingangs-Pin ist. Wir werten also das Signal aus dem Sensor HC-SR501 aus, und senden selber auf diesem Pin keine eigene Spannung. Um dies zu erreichen, nutzen wir folgenden Code:

print „PIR Modul (STRG + C zum Beenden)“
time.sleep (2)
print „Bereit – Warte auf Bewegung“

Jetzt fügen wir einfach noch einen Text ein, der uns anzeigt, dass unsere PIR Bewegungsmelder und Rapsberry Pi bereit ist, entsprechende Bewegungen zu erkennen. Verbunden mit einer kleinen Wartezeit von 2 Sekunden, um das Skript nicht durcheinander zu bringen.

while True:

wenn GPIO.input (PIR_PIN):

print „Bewegungserkennung“

time.sleep (1)

Um nun zu Überprüfen, ob Bewegungen vorhanden sind, nutzen wir folgenden Code. Es ist eine Endlosschleife, die immer wieder den gleichen Befehl ausführt um zu überprüfen, ob der PIN Spannung hat oder eben keine (Bewegung erkannt oder nicht). Sobald der PIN, den wir auslesen, Spannung führt, geben wir dies mit der Meldung „Bewegung erkannt“ aus.

Bewegungsmelder HC-SR501 am Raspberry ist einsatzbereit!

PIR Sensor Modul

Auf diesem Bild erkennen Sie die einzelnen Anschlüsse für das PIR Sensor Modul sehr gut. GND, 3,3 V – 5 V und der Digitale PIN Out.

Das Programm ist fertig, und das Skript signalisiert uns jetzt jede Art von Bewegung des HC-SR501, sobald sich der Status des PIN’s (Ausgang) ändert. Sollte das Skript andauernd Bewegungen erkennen, so ist unter Umständen die Empfindlichkeit des PIR Sensors zu hoch eingestellt.

An den Drehreglern, die man am PIR Bewegungsmelder findet, kann man sowohl Empfindlichkeit, wir auch Schlatdauer bei erkannter Bewegung, einstellen.

Was wird benötigt?

Raspberry PIR Sensor Modul und Bewegungsmelder inklusive Anschlusskabel. Kosten für HC-SR501: 5,90 Euro inklusive Versand (aktueller günstigster Anbieter bei kostenlosen Versand) zusätzlich natürlich noch einen Raspberry Pi (Modell ist egal) oder ein Arduino Uno, Nano oder Mega Entwicklerboard. Der Sensor ist mit beidem kompatibel, so kann er später auch an einem Arduino eingesetzt werden.

Technische Daten des HC-SR501 Bewegungsmelder und Sensor Modules:

  • Eingangsspannung: 4,5 V – 20 V
  • Digital-Ausgang bei erkannter Bewegung: 3,3 V (High)
  • Digitalausgang bei keiner Bewegung am HC-SR501: 0 V (niedrig)
  • Arbeitstemperatur im Umfeld: -15 ° C bis 70 ° C
  • Verzögerungszeit : 0,5 bis 200 Sekunden
  • Erfassungswinkel: 100 °
  • Reichweite 5m – 7m

Größe des HC-SR501 Bewegungsmelders:

  • Sensor Objektivdurchmesser: 23mm
  • Länge: 24.03mm
  • Breite: 32.34mm
  • Höhe (mit Objektiv): 24.66mm
  • Zentrum Schraubenlochabstand: 28 mm
  • Schraubenloch-Durchmesser: 2mm (M2)

Kompatibel mit Raspberry Pi (alle Modelle inklusive B und B+, 2) oder Arduino Board Mega, Uno, Nano oder vergleichbares.