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

Ou vous pouvez acheter les kits suivants:

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.

Si vous n'utilisez pas de plaque d'essai, câblez-le ainsi :

Schéma de câblage du verrou à solénoïde à bouton Raspberry Pi (sans plaque d'essai)

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.

Relais vs module MOSFET pour la serrure à solénoïde

Ce tutoriel utilise un relais pour commuter la serrure à solénoïde. Une serrure à solénoïde 12V fonctionne en DC, donc un module MOSFET peut aussi la commuter.

Relais Module MOSFET
Contrôle de la serrure verrouiller ou déverrouiller verrouiller ou déverrouiller
Bruit de commutation un clic à chaque fois aucun bruit
Temps de commutation lent (millisecondes) très rapide
Usure les contacts vieillissent avec l'usage aucune pièce mobile qui s'use
Fonctionne avec serrures AC et DC serrures DC uniquement
Diode de roue libre inutile avec la plupart des modules relais obligatoire (1N4007 ou 1N5819)
Isolation oui oui, avec un optocoupleur PC817
À choisir pour un montage simple et courant une serrure silencieuse, ou une porte qui s'ouvre souvent dans la journée

Une serrure à solénoïde est seulement verrouillée ou déverrouillée, donc le module MOSFET n'apporte pas de contrôle en plus ici. Ses avantages : aucun clic, et rien ne s'use. Les deux s'activent quand la broche du Raspberry Pi est à l'état HIGH (GPIO.output(pin, GPIO.HIGH)), donc le code reste le même. Ne laissez pas la serrure déverrouillée trop longtemps, sinon elle chauffe. C'est pareil avec un relais.

Une électrovanne fonctionne de la même façon qu'une serrure à solénoïde. Pour voir comment câbler et programmer une électrovanne avec un relais et avec un module MOSFET, consultez le tutoriel Raspberry Pi - Vanne à eau/liquide.. Le câblage d'une serrure à solénoïde se trouve dans le tutoriel Raspberry Pi - Module MOSFET.

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 !