Arduino Nano ESP32 - Capteur de porte

Le capteur de porte (également connu sous le nom de capteur d'entrée, capteur de contact ou capteur de fenêtre) est largement utilisé dans de nombreuses applications, notamment pour la sécurité. Il est utilisé pour détecter/surveiller les entrées (telles que porte, fenêtre...). Ce tutoriel fournit des instructions sur comment utiliser l'Arduino Nano ESP32 avec le capteur de porte.

Préparation du matériel

1×Arduino Nano ESP32
1×USB Cable Type-C
1×Door Sensor
1×(Optional) DC Power Jack
1×Breadboard
1×Jumper Wires
1×(Recommended) Screw Terminal Adapter for Arduino Nano

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 du capteur de porte

Schéma de branchement du capteur de porte

Le capteur de porte comporte deux composants :

  • Un aimant
  • Un interrupteur à lames souples, qui possède deux fils
Schéma de brochage du capteur de porte

Tout comme pour l'interrupteur/le bouton, nous n'avons PAS besoin de différencier les deux fils de l'interrupteur à lame souple.

Fonctionnement des capteurs de porte

L'aimant et l'interrupteur à lame souple sont installés sur la porte/les fenêtres comme suit :

  • L'aimant est la partie mobile. Il doit être fixé à la porte/fenêtre.
  • L'interrupteur à lames est la partie fixe. Il doit être fixé au cadre de la porte.

Les deux composants sont en contact lorsque la porte est fermée.

  • Le circuit à interrupteur à lames est fermé lorsqu'il est proche de l'aimant.
  • Le circuit à interrupteur à lames est ouvert lorsqu'il est éloigné de l'aimant.
Capteur de porte, comment ça fonctionne

※ NOTE THAT:

Tout comme un bouton, nous DEVONS utiliser une résistance de tirage vers le haut ou vers le bas sur la broche Arduino Nano ESP32, qui se connecte à l'interrupteur à lame.

Si nous connectons l'interrupteur à lame souple comme suit : un fil à la masse, l'autre à la broche d'entrée de l'ESP32 avec une résistance de tirage :

  • La broche d'entrée de l'ESP32 est à LOW lorsque l'aimant est proche de l'interrupteur à lame souple
  • La broche d'entrée de l'ESP32 est à HIGH lorsque l'aimant est éloigné de l'interrupteur à lame souple

Alors :

  • Si la broche d'entrée de l'ESP32 est à LOW, la porte est fermée
  • Si la broche d'entrée de l'ESP32 est à HIGH, la porte est ouverte
  • Si la broche d'entrée de l'ESP32 passe de LOW à HIGH, la porte s'ouvre
  • Si la broche d'entrée de l'ESP32 passe de HIGH à LOW, la porte se ferme

Schéma de câblage entre le capteur de porte et Arduino Nano ESP32

Schéma de câblage du capteur de porte Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Comment programmer un capteur de porte

  • Initialise la broche ESP32 Arduino Nano en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche D2.
pinMode(D2, INPUT_PULLUP);
  • Lit l'état de la broche Arduino Nano ESP32 en utilisant la fonction digitalRead().
int door_state = digitalRead(D2);

Code Arduino Nano ESP32 - Vérifier l'état ouvert et fermé de la porte

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-door-sensor */ #define DOOR_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to door sensor's pin int door_state; void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Étapes rapides

  • Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez comment configurer l'environnement pour Arduino Nano ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  • Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload dans l'Arduino IDE.
  • Rapprochez l'aimant du commutateur à lames puis éloignez-le.
  • Consultez le résultat sur le moniteur série. Cela ressemble à ce qui suit :.
COM6
Send
The door is open The door is open The door is closed The door is closed The door is closed The door is closed The door is closed The door is open The door is open
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code Arduino Nano ESP32 - Détecter les événements d'ouverture et de fermeture de porte

/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano ESP32 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-nano-esp32/arduino-nano-esp32-door-sensor */ #define DOOR_SENSOR_PIN D2 // The Arduino Nano ESP32 pin connected to door sensor's pin int door_state; // current state of door sensor int prev_door_state; // previous state of door sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set ESP32 pin to input pull-up mode door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == LOW && door_state == HIGH) { // state change: LOW -> HIGH Serial.println("The door-opening event is detected"); // TODO: turn on alarm, light or send notification ... } else if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
  • Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload de l'IDE Arduino.
  • Rapprochez l'aimant du contact reed puis éloignez-le.
  • Consultez le résultat sur le moniteur série. Cela ressemble à ce qui suit :.
COM6
Send
The door-closing event is detected The door-opening event is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Tutoriels connexes

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