Arduino - Serrure à solénoïde

Le verrou à solénoïde est également connu sous le nom de serrure à gâche électrique. Il peut être utilisé pour verrouiller/déverrouiller un placard, un tiroir, une porte. Dans ce tutoriel, nous allons apprendre à contrôler le verrou à solénoïde à l'aide d'un Arduino.

Une alternative à la serrure à solénoïde est la serrure électromagnétique. Vous pouvez en savoir plus dans le tutoriel Arduino - Serrure électromagnétique

Préparation du matériel

1×Arduino Uno
1×USB 2.0 cable type A/B
1×Solenoid Lock
1×Relay
1×12V Power Adapter
1×DC Power Jack
1×(Optional) 9V Power Adapter for Arduino
1×(Recommended) Screw Terminal Block Shield for Arduino Uno
1×(Optional) Transparent Acrylic Enclosure For Arduino Uno

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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 des serrures à solénoïde

Brochage

La serrure à solénoïde comprend deux fils :

  • Fil positif (+) (rouge) : doit être connecté au 12V de l'alimentation CC
  • Fil négatif (-) (noir) : doit être connecté au GND de l'alimentation CC
Brochage de verrouillage à solénoïde

Comment ça fonctionne

  • Lorsque la serrure à solénoïde est alimentée, le pêne (gâche) se déploie ⇒ la porte est verrouillée
  • Lorsque la serrure à solénoïde n'est PAS alimentée, le pêne (gâche) se rétracte ⇒ la porte est déverrouillée

※ NOTE THAT:

La serrure à solénoïde utilise généralement une alimentation de 12V, 24V ou 48V. Par conséquent, nous NE pouvons PAS connecter directement la serrure à solénoïde à une broche Arduino. Nous devons la connecter à une broche Arduino via un relais.

Si nous connectons le verrou solénoïde à un relais (mode normalement ouvert) :

  • Lorsque le relais est ouvert, la porte est déverrouillée
  • Lorsque le relais est fermé, la porte est verrouillée

En connectant l'Arduino au relais, nous pouvons programmer l'Arduino pour qu'il contrôle la serrure à solénoïde. Apprenez-en plus sur le relais dans le tutoriel Arduino - Relais.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Le véritable schéma de câblage :

Connexion réelle de verrouillage par solénoïde Arduino

Code Arduino

Le code ci-dessous verrouille/déverrouille la porte toutes les 5 secondes.

/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-solenoid-lock */ // constants won't change const int RELAY_PIN = A5; // the Arduino pin, which connects to the IN pin of relay // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin 3 as an output. pinMode(RELAY_PIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(RELAY_PIN, HIGH); // uhlock the door delay(5000); digitalWrite(RELAY_PIN, LOW); // lock the door delay(5000); }

Étapes rapides

  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload dans Arduino IDE pour téléverser le code vers Arduino
  • Observez l'état de la gâche de la serrure

Arduino - Un bouton contrôle un verrou à solénoïde

  • Schéma de câblage
Schéma de câblage de la serrure à solénoïde avec bouton Arduino

This image is created using Fritzing. Click to enlarge image

  • Code Arduino
/* * Ce code Arduino a été développé par newbiely.fr * Ce code Arduino 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/arduino/arduino-solenoid-lock */ #include <ezButton.h> // constants won't change const int BUTTON_PIN = 12; // Arduino pin connected to button's pin const int RELAY_PIN = A5; // Arduino pin connected to relay's pin ezButton button(BUTTON_PIN); // create ezButton object that attach to pin 12; void setup() { Serial.begin(9600); // initialize serial pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode button.setDebounceTime(50); // set debounce time to 50 milliseconds digitalWrite(RELAY_PIN, LOW); // lock the door } void loop() { button.loop(); // MUST call the loop() function first if(button.isPressed()) { Serial.println("The button is pressed"); digitalWrite(RELAY_PIN, HIGH); // unlock the door in 10 seconds delay(10000); // 10 seconds digitalWrite(RELAY_PIN, LOW); // lock the door again } }

Étapes rapides

  • Installez la bibliothèque ezButton. Voir Comment faire
  • Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
  • Cliquez sur le bouton Upload de l'Arduino IDE pour téléverser le code sur Arduino
  • Appuyez une fois sur le bouton.
  • Observez l'état de la languette de verrouillage pendant 10 secondes.

※ NOTE THAT:

Dans le code ci-dessus, nous avons utilisé la fonction delay. Par conséquent, il n'est pas nécessaire de réaliser un anti-rebond pour le bouton. Toutefois, nous fournissons quand même le code avec anti-rebond au cas où vous voudriez effectuer plus de tâches sans utiliser la fonction delay. Voir Comment utiliser millis() au lieu de delay()

Vidéo

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!