Raspberry Pi - Solenoïde Slot

De Solenoïde Slot, ook wel Electric Strike Lock genoemd, kan worden gebruikt om kasten, lades en deuren te vergrendelen en te ontgrendelen. Deze handleiding laat zien hoe u het solenoïde slot kunt aansturen met een Raspberry Pi.

Een alternatief voor het solenoïde slot is het elektromagnetische slot. Voor meer informatie verwijzen we naar de Raspberry Pi - Electromagnetic Lock tutorial.

Hardware Benodigd

1×Raspberry Pi 5
1×Solenoïde Slot
1×Relais
1×12V Voeding Adapter
1×DC Power Jack (DC stroomaansluiting)
1×(Aanbevolen) Schroefklem Block Shield voor Raspberry Pi
1×(Aanbevolen) Raspberry Pi Prototyping Basisplaat & Breadboard Kit
1×(Aanbevolen) HDMI-Touchscreen-Monitor voor Raspberry Pi

Of u kunt de volgende kits kopen:

1×DIYables Sensorkit (30 sensoren/displays)
1×DIYables Sensorkit (18 sensoren/displays)
Openbaarmaking: Sommige van de links in deze sectie zijn Amazon-affiliate links. We kunnen een commissie ontvangen voor aankopen die via deze links worden gedaan, zonder extra kosten voor u. We waarderen uw steun.

Over het Solenoïde Slot

Pinout van het Solenoïde Slot

Het solenoïde slot heeft twee draden:

  • De Positieve (+) draad (rood) moet worden verbonden met 12V van een DC-voeding
  • De Negatieve (-) draad (zwart) moet worden verbonden met de GND van een DC-voeding
Solenoid Lock pinout

Hoe het Werkt

  • Wanneer het solenoïde slot wordt gevoed, wordt de grendelpen (lock tongue) uitgeschoven, waardoor de deur vergrendeld is.
  • Wanneer het solenoïde slot NIET wordt gevoed, wordt de grendelpen ingetrokken, waardoor de deur ontgrendeld is.

※ Notiz:

Het solenoïde slot vereist doorgaans een voeding van 12V, 24V of 48V om te functioneren. Daarom mag het NIET direct worden aangesloten op een Raspberry Pi-pin. Er moet een relais worden gebruikt om het solenoïde slot met een Raspberry Pi pin te verbinden.

Als we het solenoïde slot via een relais aansluiten op de voeding (in normaal open modus):

  • Wanneer het relais open is, is de deur ontgrendeld.
  • Wanneer het relais gesloten is, is de deur vergrendeld.

We kunnen het relais aansluiten op de Raspberry Pi en de Raspberry Pi programmeren om het solenoïde slot via het relais aan te sturen. Voor meer informatie over relais, zie de Raspberry Pi - Relay tutorial.

Aansluitschema

Raspberry Pi Solenoid Lock wiring diagram

This image is created using Fritzing. Click to enlarge image

Raspberry Pi Code

De onderstaande code zorgt ervoor dat de deur telkens om de 2 seconden wordt vergrendeld en ontgrendeld.

Snelle Stappen

  • Zorg dat u Raspbian of een ander compatible besturingssysteem voor Raspberry Pi op uw Pi hebt geïnstalleerd.
  • Zorg dat uw Raspberry Pi verbonden is met hetzelfde lokale netwerk als uw pc.
  • Zorg dat uw Raspberry Pi verbonden is met internet als u bibliotheken moet installeren.
  • Als u voor het eerst met Raspberry Pi werkt, bekijk dan de Raspberry Pi Aan de slag gids.
  • Verbind uw pc met de Raspberry Pi via SSH met de ingebouwde SSH-client op Linux en macOS of via PuTTY op Windows. Bekijk hoe u uw pc met Raspberry Pi verbindt via SSH.
  • Controleer of u de RPi.GPIO library hebt geïnstalleerd. Zo niet, installeer deze via het volgende commando:
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Maak een Python script bestand aan met de naam solenoid_lock.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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()
  • Sla het bestand op en voer het Python-script uit met het volgende commando in de terminal:
python3 solenoid_lock.py
  • Bekijk de status van de grendelpen.

Het script draait continu in een oneindige lus totdat u Ctrl + C indrukt in de terminal.

Raspberry Pi - Knop Besturing voor Solenoïde Slot

Het onderstaande Python-script voor Raspberry Pi bestuurt een deurslot met een knop. Wanneer u de knop indrukt, wordt de deur 5 seconden ontgrendeld en daarna weer vergrendeld. U kunt dit proces herhalen door nogmaals op de knop te drukken.

Snelle Stappen

  • Verbind een knop en solenoïde slot met de Raspberry Pi volgens onderstaand aansluitdiagram
Raspberry Pi button solenoid lock wiring diagram

This image is created using Fritzing. Click to enlarge image

Om uw bekabelingsopstelling te vereenvoudigen en te organiseren, raden we het gebruik van een Schroevenklemaansluiting-shield voor Raspberry Pi aan. Deze shield zorgt voor veiligere en beter beheerbare verbindingen, zoals hieronder weergegeven:

Raspberry Pi Schroevenklemaansluiting-Shield
  • Maak een Python script bestand aan met de naam button_solenoid_lock.py en voeg de volgende code toe:
# Deze Raspberry Pi code is ontwikkeld door newbiely.nl # Deze Raspberry Pi code wordt zonder enige beperking aan het publiek beschikbaar gesteld. # Voor volledige instructies en schema's, bezoek: # https://newbiely.nl/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()
  • Sla het bestand op en voer het Python-script uit met het volgende commando in de terminal:
python3 button_solenoid_lock.py
  • Druk eenmaal op de knop.
  • Bekijk de status van de grendelpen gedurende 5 seconden.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Bekijk onze video-tutorial voor een visuele begeleiding bij dit project! De video biedt extra inzichten en maakt het makkelijker om het solenoïde slot met Raspberry Pi te gebruiken.

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!