Raspberry Pi - Solenoid Lock (Elektromagnetisches Türschloss)

Das Solenoid Lock, auch als Electric Strike Lock bezeichnet, kann verwendet werden, um Schränke, Schubladen und Türen zu sichern/zu entriegeln. Diese Anleitung zeigt Ihnen, wie Sie das Solenoid Lock mit Raspberry Pi steuern können.

Eine Alternative zum Solenoid Lock ist das Electromagnetic Lock. Weitere Informationen finden Sie im Raspberry Pi - Electromagnetic Lock Tutorial.

Hardware Erforderlich

1×Raspberry Pi 5
1×Magnetschloss
1×Relay (Relais)
1×12V Power Adapter (Netzteil)
1×DC-Stromanschluss
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 das Solenoid Lock

Solenoid Lock Pinout

Das Solenoid Lock hat zwei Drähte:

  • Der Positive (+) Draht (rot) sollte an die 12V einer DC-Stromversorgung angeschlossen werden
  • Der Negative (-) Draht (schwarz) sollte an das GND einer DC-Stromversorgung angeschlossen werden
Solenoid Lock pinout

Funktionsweise

  • Wenn das Solenoid Lock mit Strom versorgt wird, wird die Schlosszunge ausgefahren und die Tür somit verriegelt.
  • Wenn das Solenoid Lock NICHT mit Strom versorgt wird, wird die Schlosszunge eingezogen und die Tür somit entriegelt.

※ Notiz:

Das Solenoid Lock benötigt normalerweise 12V, 24V oder 48V für den Betrieb. Daher kann es NICHT direkt an einen Raspberry Pi Pin angeschlossen werden. Ein Relais muss verwendet werden, um das Solenoid Lock mit einem Raspberry Pi Pin zu verbinden.

Wenn wir das Solenoid Lock über ein Relais (im normally open Modus) an die Stromversorgung anschließen:

  • Wenn das Relais geöffnet ist, wird die Tür entriegelt.
  • Wenn das Relais geschlossen ist, wird die Tür verriegelt.

Wir können das Relais an Raspberry Pi anschließen und Raspberry Pi programmieren, um das Solenoid Lock über das Relais zu steuern. Weitere Informationen über Relais finden Sie im Raspberry Pi - Relay Tutorial.

Schaltplan

Raspberry Pi Solenoid Lock wiring diagram

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

Raspberry Pi Code

Der folgende Code bewirkt, dass die Tür alle 2 Sekunden verriegelt und entriegelt wird.

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.
  • Falls Sie Raspberry Pi zum ersten Mal verwenden, siehe How to set up the Raspberry Pi
  • Verbinden Sie Ihren PC über SSH mit dem Raspberry Pi, indem Sie den integrierten SSH-Client unter Linux und macOS oder PuTTY unter Windows verwenden. Siehe How to connect your PC to Raspberry Pi via SSH.
  • 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-Skript-Datei solenoid_lock.py und fügen Sie 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-solenoid-lock import RPi.GPIO as GPIO import time # Set the GPIO mode (BCM or BOARD) GPIO.setmode(GPIO.BCM) # Define the GPIO pin controlled the solenoid lock via the relay module RELAY_PIN = 12 # Set the relay pin as an output pin GPIO.setup(RELAY_PIN, GPIO.OUT) try: # Run the loop function indefinitely while True: # Turn the relay ON (HIGH) to lock the door GPIO.output(RELAY_PIN, GPIO.HIGH) time.sleep(2) # Wait for 2 seconds # Turn the relay OFF (LOW) to unlock the door GPIO.output(RELAY_PIN, GPIO.LOW) time.sleep(2) # Wait for 2 seconds except KeyboardInterrupt: # If the user presses Ctrl+C, clean up the GPIO configuration GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal eingeben:
python3 solenoid_lock.py
  • Überprüfen Sie den Zustand der Schlosszunge.

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

Raspberry Pi - Button Steuert Solenoid Lock

Das folgende Python-Skript für Raspberry Pi steuert ein Türschloss mit einem Button. Wenn Sie den Button drücken, wird die Tür für 5 Sekunden entriegelt und dann wieder verriegelt. Sie können diesen Vorgang wiederholen, indem Sie den Button erneut drücken.

Schnelle Schritte

  • Verbinden Sie einen Button und ein Solenoid Lock mit dem Raspberry Pi wie im folgenden Schaltplan gezeigt
Raspberry Pi button solenoid lock 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
  • Erstellen Sie eine Python-Skript-Datei button_solenoid_lock.py und fügen Sie 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-solenoid-lock import RPi.GPIO as GPIO import time BUTTON_PIN = 18 # GPIO pin connected to the button RELAY_PIN = 16 # GPIO pin controlled the solenoid lock via the relay module # Set up the GPIO pins GPIO.setmode(GPIO.BCM) GPIO.setup(BUTTON_PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(RELAY_PIN, GPIO.OUT) prev_button_state = GPIO.HIGH # HIGH means the button is not pressed initially try: # Lock the door initially GPIO.output(RELAY_PIN, GPIO.HIGH) while True: button_state = GPIO.input(BUTTON_PIN) if button_state == GPIO.LOW and prev_button_state == GPIO.HIGH: # Button is pressed (LOW means pressed due to pull-up resistor) print("The button is pressed") GPIO.output(RELAY_PIN, GPIO.LOW) # Unlock the door print("The door is unlocked") time.sleep(5) # Wait for 5 seconds GPIO.output(RELAY_PIN, GPIO.HIGH) # Lock the door again print("The door is locked again") # Update the previous button state prev_button_state = button_state except KeyboardInterrupt: print("Exiting...") GPIO.cleanup()
  • Speichern Sie die Datei und führen Sie das Python-Skript aus, indem Sie folgenden Befehl im Terminal eingeben:
python3 button_solenoid_lock.py
  • Drücken Sie den Button einmal.
  • Überprüfen Sie den Zustand der Schlosszunge für 5 Sekunden.

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!