Raspberry Pi - Türsensor

Der Türsensor ist eine häufige Komponente in Sicherheitssystemen. Er wird verwendet, um Eingänge wie Türen und Fenster zu erkennen und zu überwachen. Dieses Gerät wird auch als Kontaktsensor, Eingangssensor oder Fenstersensor bezeichnet.

Dieses Tutorial zeigt Ihnen, wie Sie Raspberry Pi mit dem Türsensor verwenden. Im Detail werden wir lernen:

Erforderliche Hardware

1×Raspberry Pi 5
1×Türsensor
1×(Empfohlen) Schraubklemmenblock-Shield für Raspberry Pi
1×(Empfohlen) Raspberry Pi Prototyping-Grundplatte & Breadboard-Kit
1×(Empfohlen) HDMI-Touchscreen-Monitor für Raspberry Pi

Oder Sie können die folgenden Kits kaufen:

1×DIYables Sensor-Kit (30 Sensoren/Displays)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Über den Türsensor

Der Türsensor Pinout

Ein Türsensor besteht aus zwei Teilen:

  • Ein Reed-Schalter mit zwei Pins
  • Ein Magnet
Door Sensor pinout

Ähnlich wie bei einem typischen Schalter/Taste ist es nicht erforderlich, zwischen den beiden Pins des Reed-Schalters zu unterscheiden.

Wie es funktioniert

Der Magnet wird an der Tür/dem Fenster befestigt, welches das bewegliche Element ist, und der Reed-Schalter wird am Türrahmen angebracht, welcher das stationäre Element ist. Wenn die Tür geschlossen ist, sind die beiden Komponenten in Kontakt:

  • Wenn der Magnet nahe am Reed-Schalter ist, ist der Reed-Schalter-Stromkreis geschlossen
  • Wenn der Magnet vom Reed-Schalter entfernt ist, ist der Reed-Schalter-Stromkreis geöffnet
Door Sensor How It Works pinout

※ Notiz:

Der Reed-Schalter liefert keine LOW- oder HIGH-Werte an seinen Pins. Er ist entweder geschlossen oder geöffnet. Der Wert des mit dem Raspberry Pi verbundenen Pins kann LOW, HIGH oder ein schwebender (unvorhersagbarer) Wert sein. Um den schwebenden Wert zu verhindern, müssen wir einen Pull-up- oder Pull-down-Widerstand am Raspberry Pi Pin verwenden.

Wenn wir einen Pin des Reed-Schalters mit GND und den anderen Pin des Reed-Schalters mit einem Raspberry Pi Eingangspin mit einem Pull-up-Widerstand (intern oder extern) verbinden:

  • Wenn der Magnet nahe am Reed-Schalter ist, ist der Wert am Raspberry Pi Eingangspin LOW
  • Wenn der Magnet vom Reed-Schalter entfernt ist, ist der Wert am Raspberry Pi Eingangspin HIGH

Um den Status der Tür herauszufinden, müssen wir lediglich den Zustand des Raspberry Pi Eingangspins überprüfen:

  • Wenn der Zustand LOW ist, ist die Tür geschlossen
  • Wenn der Zustand HIGH ist, ist die Tür geöffnet

Um die Türöffnungs-/Türschließereignisse zu erkennen, können wir die Zustandsänderung am Raspberry Pi Eingangspin überwachen:

  • Wenn der Zustand von LOW zu HIGH wechselt, wird das Türöffnungsereignis erkannt
  • Wenn der Zustand von HIGH zu LOW wechselt, wird das Türschließereignis erkannt

Schaltplan

Raspberry Pi Door Sensor wiring diagram

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Um Ihren Verdrahtungsaufbau zu vereinfachen und zu organisieren, empfehlen wir die Verwendung eines Schraubklemmenblock-Shields für Raspberry Pi. Dieses Shield gewährleistet sicherere und besser verwaltbare Verbindungen, wie unten gezeigt:

Raspberry Pi Schraubklemmenblock-Shield

Programmierung für den Türsensor

  • Initialisieren Sie den Raspberry Pi Pin als digitalen Eingangsmodus unter Verwendung der GPIO.setup() Funktion. Als Beispiel kann der folgende Code verwendet werden, um Pin 13 als Eingang zu initialisieren:
GPIO.setup(DOOR_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
  • Verwenden Sie die GPIO.input() Funktion, um den Status des Raspberry Pi Pins zu ermitteln.
door_state = GPIO.input(DOOR_SENSOR_PIN)

Raspberry Pi Code - Tür offen und geschlossen Zustand prüfen

Schnelle Schritte

  • Stellen Sie sicher, dass Sie Raspbian oder ein anderes Raspberry Pi-kompatibles Betriebssystem auf Ihrem Pi installiert haben.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit demselben lokalen Netzwerk wie Ihr PC verbunden ist.
  • Stellen Sie sicher, dass Ihr Raspberry Pi mit dem Internet verbunden ist, falls Sie Bibliotheken installieren müssen.
  • Wenn Sie zum ersten Mal einen Raspberry Pi verwenden, lesen Sie wie man den Raspberry Pi einrichtet
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi unter Verwendung des integrierten SSH-Clients auf Linux und macOS oder PuTTY auf Windows. Siehe wie Sie Ihren PC über SSH mit dem Raspberry Pi verbinden.
  • Stellen Sie sicher, dass Sie die RPi.GPIO Bibliothek installiert haben. Falls nicht, installieren Sie sie mit folgendem Befehl:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Erstellen Sie eine Python-Skriptdatei door_sensor.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-door-sensor import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pin number to which the sensor is connected DOOR_SENSOR_PIN = 16 # Setup the GPIO pin as an input GPIO.setup(DOOR_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) try: while True: # Read the state of the door sensor (HIGH when open, LOW when closed) door_state = GPIO.input(DOOR_SENSOR_PIN) if door_state == GPIO.HIGH: print("Door is OPEN") else: print("Door is CLOSED") time.sleep(0.1) # Add a small delay to avoid excessive reads except KeyboardInterrupt: print("Exiting...") GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal eingeben:
python3 door_sensor.py
  • Bringen Sie den Magneten nahe an den Reed-Schalter und entfernen Sie ihn dann wieder.
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi
Door is OPEN Door is OPEN Door is OPEN Door is CLOSED Door is CLOSED Door is CLOSED Door is CLOSED Door is CLOSED Door is OPEN Door is OPEN

Das Skript läuft in einer Endlosschleife kontinuierlich, bis Sie Ctrl + C im Terminal drücken.

Sie werden bemerken, dass der Code kontinuierlich den aktuellen Zustand der Tür ausgibt. Wenn Sie den Türzustand nur bei Änderungen ausgeben möchten, schauen Sie sich den nächsten Abschnitt an.

Raspberry Pi Code - Türöffnungs- und Türschließereignisse erkennen

  • Erstellen Sie eine Python-Skriptdatei door_sensor_events.py und fügen Sie den folgenden Code hinzu:
# Dieser Raspberry Pi Code wurde von newbiely.de entwickelt # Dieser Raspberry Pi Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. # Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: # https://newbiely.de/tutorials/raspberry-pi/raspberry-pi-door-sensor import RPi.GPIO as GPIO import time # Set the GPIO mode to BCM GPIO.setmode(GPIO.BCM) # Define the GPIO pin number to which the sensor is connected DOOR_SENSOR_PIN = 17 # Setup the GPIO pin as an input GPIO.setup(DOOR_SENSOR_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Variable to store the previous state of the door sensor prev_door_state = GPIO.HIGH try: while True: # Read the state of the door sensor (HIGH when open, LOW when closed) door_state = GPIO.input(DOOR_SENSOR_PIN) if door_state != prev_door_state: if door_state == GPIO.HIGH: print("Door is OPEN") else: print("Door is CLOSED") prev_door_state = door_state time.sleep(0.1) # Add a small delay to avoid excessive reads except KeyboardInterrupt: print("Exiting...") GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie den folgenden Befehl im Terminal eingeben:
python3 door_sensor_events.py
  • Bringen Sie den Magneten nahe an den Reed-Schalter und entfernen Sie ihn dann wieder.
  • Überprüfen Sie das Ergebnis im Terminal.
PuTTY - Raspberry Pi
Door is OPEN Door is CLOSED
  • Sie werden sehen, dass der Zustand der Tür nur ausgegeben wird, wenn sich der Zustand ändert

Video Tutorial

Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!