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 Arduino - Serrure électromagnétique.

À 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:

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 Arduino - Relais..

Diagramme de câblage

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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'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:

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

※ 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 !