Raspberry Pi - Serrure à solénoïde

La serrure à solénoïde, également appelée serrure électrique à gâche, peut être utilisée pour sécuriser/libérer des armoires, des tiroirs et des portes. Ce tutoriel vous apprend à manipuler la serrure à solénoïde à l'aide d'un Raspberry Pi.

Une alternative à la serrure à solénoïde est la serrure électromagnétique. Pour plus d'informations, veuillez vous référer au Raspberry Pi - Serrure électromagnétique..

Préparation du matériel

1×Raspberry Pi 5
1×Serrure à solénoïde
1×Relais
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Recommandé: Shield à bornier à vis pour Raspberry Pi
1×Recommandé: Kit plaque de base prototypage et plaque d'essai pour Raspberry Pi
1×Recommandé: Écran tactile HDMI pour Raspberry Pi

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de la serrure à solénoïde

Le brochage de la serrure à solénoïde

Le verrou à solénoïde a deux fils :

  • Le fil positif (+) (rouge) doit être connecté au 12V d'une alimentation DC.
  • Le fil négatif (-) (noir) doit être connecté au GND d'une alimentation DC.
Broche de verrouillage solénoïde

Comment ça fonctionne

  • Lorsque la serrure à solénoïde est alimentée, le pêne est étendu, verrouillant ainsi la porte.
  • Lorsque la serrure à solénoïde n'est PAS alimentée, le pêne est rétracté, déverrouillant ainsi la porte.

※ Note:

La serrure à solénoïde nécessite généralement 12V, 24V ou 48V pour fonctionner. Par conséquent, elle NE PEUT PAS être connectée directement à une broche de Raspberry Pi. Un relais doit être utilisé pour connecter la serrure à solénoïde à une broche de Raspberry Pi.

Si nous connectons la serrure à solénoïde à la source d'alimentation via un relais (en mode normalement ouvert) :

  • Lorsque le relais est en position ouverte, la porte sera déverrouillée.
  • Lorsque le relais est en position fermée, la porte sera verrouillée.

Nous pouvons connecter le relais au Raspberry Pi et programmer le Raspberry Pi pour contrôler la serrure solénoïde via le relais. Pour en savoir plus sur les relais, veuillez consulter le Raspberry Pi - Relais..

Diagramme de câblage

Schéma de câblage de la serrure à solénoïde Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Code Raspberry Pi

Le code ci-dessous va verrouiller et déverrouiller la porte toutes les 2 secondes.

Étapes rapides

  • Assurez-vous d'avoir Raspbian ou tout autre système d'exploitation compatible avec Raspberry Pi installé sur votre Pi.
  • Assurez-vous que votre Raspberry Pi est connecté au même réseau local que votre PC.
  • Assurez-vous que votre Raspberry Pi est connecté à Internet si vous avez besoin d'installer des bibliothèques.
  • Si c'est la première fois que vous utilisez Raspberry Pi, consultez Installation du logiciel - Raspberry Pi..
  • Connectez votre PC au Raspberry Pi via SSH en utilisant le client SSH intégré sur Linux et macOS ou PuTTY sur Windows. Consultez comment connecter votre PC au Raspberry Pi via SSH.
  • Assurez-vous d'avoir la bibliothèque RPi.GPIO installée. Sinon, installez-la en utilisant la commande suivante :
sudo apt-get update sudo apt-get install python3-rpi.gpio
  • Créez un fichier de script Python solenoid_lock.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/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()
  • Enregistrez le fichier et exécutez le script Python en exécutant la commande suivante dans le terminal :
python3 solenoid_lock.py
  • Vérifiez l'état de la languette du verrou.

Le script s'exécute en boucle infinie jusqu'à ce que vous appuyiez sur Ctrl + C dans le terminal.

Raspberry Pi - Bouton contrôle la serrure à solénoïde

Le script Python ci-dessous pour Raspberry Pi contrôle une serrure de porte à l'aide d'un bouton. Lorsque vous appuyez sur le bouton, la porte se déverrouille pendant 5 secondes, puis se verrouille à nouveau. Vous pouvez répéter ce processus en appuyant à nouveau sur le bouton.

Étapes rapides

  • Connectez un bouton et un verrou électromagnétique au Raspberry Pi selon le schéma de câblage ci-dessous.
Schéma de câblage du verrou à solénoïde à bouton Raspberry Pi

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Pour simplifier et organiser votre montage de câblage, nous recommandons l'utilisation d'un shield à bornier à vis pour Raspberry Pi. Ce shield assure des connexions plus sûres et mieux gérées, comme illustré ci-dessous :

Shield à bornier à vis pour Raspberry Pi
  • Créez un fichier de script Python button_solenoid_lock.py et ajoutez le code suivant :
# Ce code Raspberry Pi a été développé par newbiely.fr # Ce code Raspberry Pi est mis à disposition du public sans aucune restriction. # Pour des instructions complètes et des schémas de câblage, veuillez visiter: # https://newbiely.fr/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()
  • Enregistrez le fichier et exécutez le script Python en entrant la commande suivante dans le terminal :
python3 button_solenoid_lock.py
  • Appuyez sur le bouton une fois.
  • Vérifiez l'état du pêne de la serrure pendant 5 secondes.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !