PIR Sensor Installationsanleitung | Electreeks®

Nach dieser Lektion weißt du wie der PIR Sensor HC-SR501 von Electreeks aufgebaut ist, wie er funktioniert und wie du Ihn in dein Skript einbauen kannst. Den Anschluss und die Programmierung lernst du an einer einfachen LED-Schaltung kennen. Viel Spaß.
Anschließen des PIR Sensors HC-SR-501 und Exkurs in die Funktionsweise
Einführung
Der Bewegungssensor ist im häuslichen Gebrauch wohl der populärste Sensor. Eingesetzt in der Lichtsteuerung, macht er den Lichtschalter überflüssig und schaltet sobald man sich in dessen Erkennungsradius bewegt.
Wir werden es nachmachen und mit dem Pyrosensor über den Raspberry Pi eine LED ansteuern. Die LED schaltet, sobald eine Bewegung erkannt wurde. Wahrlich nicht der praktischste Einsatzfall, aber zum Kennenlernen allemal ausreichend.
Aber mit dem kleinen Sensor kann man noch mehr anstellen als Lichter an- und auszuschalten. Eingebettet in ein hübsches Programm, kannst du ihn für verschiedene Dinge einsetzen. Wie wäre es zum Beispiel in einem kleinen Sicherheitssystem?
Sämtliche technische Daten zum Sensor findest du im Datenblatt auf unserer Produktseite in unserem Shop.
Was brauchst du?
Um später die Schaltung nachbauen zu können, benötigst du mindestens folgende Dinge:
- Einen betriebsbereiten Raspberry Pi mit Raspbian oder einem vergleichbaren Betriebssystem
- Einen Electreeks PIR Bewegungssensor
- Drei Jumperkabel Female-to-Female
- Zwei Jumperkabel Male-to-Female
- Eine LED (wir verwenden eine einfache 5 mm LED)
- Einen Widerstand mit etwa 120 Ohm (abhängig von deiner gewählten LED)
- Ein Breadboard zum Stecken der Bauteile
Abb.: Auf der Abbildung dargestellt, ist das benötigte Material für eine einfache Versuchsschaltung.
Solltest du noch keinen Raspberry Pi mit Betriebssystem besitzen, erfährst du auf unserer Anleitung (Windows / Mac), wie du das Betriebssystem installieren kannst. Alternativ nutzt du den Raspberry Pi OS Imager.
Aufbau des HC-SR-501 PIR-Sensors
Wichtigstes Bauelement dieses Moduls ist der pyroelektrische Sensor. Er befindet sich zentral auf der Platine unter der weißen abnehmbaren Sammellinse. An der Unterseite befinden sich zwei Potentiometer (Orangefarbene Drehknöpfe), ein Jumper und drei Anschlüsse:
Die Beschriftung findest du unter der Sammellinse (siehe auch Abbildung unter Funktionsweise). |
Abb.: PIR ohne Streulinse. Zu erkennen ist das pyroelektrische Element. Oben siehst du die drei Pinbezeichnungen. Die Streulinse dient dazu, einen breiten Erkennungsradius zu gewährleisten. |
Funktionsweise
Der Begriff PIR ist eine Abkürzung und steht für „passive infrared“. Daraus lässt sich entnehmen, dass es sich hierbei um einen passiven Sensor handelt. Er sendet also keine Signale aktiv aus, um etwas zu erkennen.
Stattdessen reagiert dieser Pyro-Sensor auf Wärmestrahlung, speziell auf infrarote Strahlung. Er besteht dabei im groben aus zwei nebeneinander oder übereinander angeordneten Metallfolien (Elektroden), welche elektrisch geladen sind.
Bewegt sich nun ein Mensch, oder ein Tier oder auch nur ein heißer Gegenstand durch den Aktionsradius des Bewegungssensor-Moduls, so trifft die infrarote Wärmestrahlung über die weiße Sammellinse und die Linse des Pyroelements auf eine der beiden Folien des Pyro-Sensors und erzeugt dort eine minimale Ladungsänderung der Teilchen. Die nun daraus resultierende Ladungsdifferenz zwischen den beiden Metallfolien wird ausgewertet, verstärkt und weitergegeben. Am OUT-Ausgang wird ein Signal erzeugt, welches dann als Schaltsignal dient.
Die beiden Metallfolien haben den zusätzlichen Vorteil, dass sie nur Wärmedifferenzen erkennen, also Bewegungen. Wirkt auf den gesamten Sensor eine gleichbleibende Wärmestrahlung ein, entsteht keine Spannungsdifferenz zwischen den Metallfolien. Das Sensor-Modul schaltet nicht.
Abb.: Bezeichnung der Pins und Potentiometer, sowie Erklärung der Schaltmodis
Potentiometer- und Jumper-Steckbrückeneinstellung:
Mit dem linken Potentiometer kann man die Haltezeit einstellen, also wie lange das Signal am Ausgang nach dem Erkennen einer Bewegung gehalten wird.
Das rechte Potentiometer dient zur Einstellung der Empfindlichkeit. Er dient zur Reichweiteneinstellung und zeitgleich zur Rauschreduzierung.
Mit der Jumper Steckbrücke kann man zwei verschiedene Schaltprogramme des Bewegungssensors einstellen.
In der vorderen Steckposition (Modus L) sendet der Sensor bei dem Erkennen einer Bewegung ein Signal aus und fällt nach Ablauf der eingestellten Haltezeit ab, unabhängig davon ob in der Zwischenzeit noch eine Bewegung erkannt wurde.
In der hinteren Steckposition (Modus H) sendet der Sensor ebenfalls ein Signal abhängig von der eingestellten Haltezeit aus. Wird jedoch innerhalb der Haltezeit erneut eine Bewegung registriert, setzt sich die Haltezeit zurück und der Timer beginnt von vorn. Das Signal fällt erst wieder ab, wenn innerhalb der Haltezeit keine Bewegung mehr registriert wurde.
Installation und Anschluss
Wie oben schon einmal erwähnt, bauen wir eine einfache LED-Lichtschaltung für den HC-SR-501 auf, um zu erklären, wie man den Sensor anschließt und programmiert. Was du dazu benötigst, findest du weiter oben unter “Was brauchst du?”.
Die Schaltung kannst du nach folgender Zeichnung aufbauen:
Abb.: Anschlusszeichnung für eine Versuchsschaltung mit dem PIR. Die LED schaltet sich an, wenn eine Bewegung erkannt wurde und schaltet dann gemäß der eingestellten Schaltzeit und abhängig vom gewählten Modus wieder ab.
Erklärung zur Schaltung:
- Der Sensor wird an VCC mit 5V DC über den Raspberry Pi versorgt. GND des Sensors wird auf einen GND des Pi geschlossen.
- Der OUT-Ausgang des Sensors wird an einen beliebigen GPIO Anschluss geschlossen.
- Die LED schaltest du in Reihe mit dem Widerstand auf einen anderen GPIO und GND.
Der Sensor hängt bei uns im Beispiel am GPIO 23 und die LED am GPIO 24.
Programmierung des Raspberry PIR
Im Folgenden findest du den Programmcode für die Bewegungserkennung. Die Kommentare im Code geben dir Hinweise zu den einzelnen Befehlszeilen.
Erstelle als erstes eine neue Datei mit dem Namen „electreeks_bewegungssensor.py
“
Öffne die Datei mit einem Editor oder IDLE deiner Wahl und trage dort den Programmcode ein:
# Import der Python Module
import RPi.GPIO as GPIO
import time
# Variablen definieren
PIR_Sensor = 23
LED = 24
# GPIOs mit GPIO-Nummer ansprechen
GPIO.setmode(GPIO.BCM)
# Ein- und Ausgänge definieren
GPIO.setup(PIR_Sensor, GPIO.IN)
GPIO.setup(LED, GPIO.OUT)
print("Das Programm wurde gestartet.")
# Callback Funktion erstellen
def Bewegung(PIR_Sensor):
print("Dein Electreeks Sensor hat eine Bewegung erkannt!")
GPIO.output(LED, True)
time.sleep(5)
GPIO.output(LED, False)
# Hauptprogramm starten
if __name__ == "__main__":
try:
# Sobald eine Bewegung erkannt wurde, führe die Funktion aus.
GPIO.add_event_detect(PIR_Sensor, GPIO.RISING, callback=Bewegung)
while True:
time.sleep(0)
# Programm beenden mit Strg + c
except KeyboardInterrupt:
print ("Das Programm wurde beendet.")
GPIO.cleanup()
Wenn du fertig bist, speicher deine Änderungen. Führe nun mit dem Terminal auf deinem Raspberry Pi das Programm mit dem Befehl: sudo python electreeks_bewegungssensor.py
aus.
Wenn alles geklappt hat, muss sich bei einer Bewegung die LED für 5 Sekunden einschalten und im Terminal der Kommentar „Dein Electreeks Sensor hat eine Bewegung erkannt!“ erscheinen. Das geht solange, bis der PIR keine Bewegung mehr erkennt. Du kannst das Programm jederzeit mit Strg + c beenden.
Jetzt bist du am Zug. Versuch dich auch mal an einer eigenen Schaltung und teil es uns in den Kommentaren mit.
Solltest du noch etwas vermissen, worüber du gern mehr erfahren hättest, lass es uns wissen. Wir passen es gern noch an.
Viel Spaß beim Basteln.
Bemerkungen
Zur Zeit kein Kommentar!
Hinterlasse ein Kommentar