Arduino UNO R4 - Capteur de porte

Ce tutoriel vous explique comment utiliser un Arduino UNO R4 et un capteur de porte pour surveiller l'état d'ouverture ou de fermeture de votre porte ou de votre fenêtre. Nous apprendrons comment installer le capteur de porte et le connecter à l'Arduino, puis comment programmer l'Arduino pour lire l'état du capteur de porte.

Capteur de porte pour Arduino UNO R4

À propos du capteur de porte

Schéma de brochage

Le capteur de porte est composé de deux parties.

  • Un interrupteur à lames avec deux connecteurs métalliques
  • Un aimant
Schéma des broches du capteur de porte

Comme un interrupteur ou un bouton ordinaire, nous n'avons PAS besoin de distinguer entre les deux broches de l'interrupteur à lames.

Comment cela fonctionne

L'aimant est fixé à la porte ou à la fenêtre, qui bouge, et l'interrupteur à lames est fixé au cadre de la porte, qui ne bouge pas. Lorsque la porte est fermée, ces deux pièces sont en contact l'une avec l'autre.

  • Lorsque l’aimant est proche de l’interrupteur à lames, le circuit de l’interrupteur à lames se ferme.
  • Lorsque l’aimant est éloigné de l’interrupteur à lames, le circuit de l’interrupteur à lames s’ouvre.
Capteur de porte Comment il fonctionne Schéma de brochage

※ Note:

L’interrupteur à lames ne fournit pas directement des signaux BAS ou HAUT. Il n’indique que des états ouvert ou fermé. La manière dont nous le connectons à l’Arduino UNO R4 détermine si la broche lit BAS, HAUT, ou présente une valeur flottante (qui est imprévisible). Pour éviter cette valeur flottante, nous devons connecter une résistance de tirage (pull-up) ou de tirage vers le bas (pull-down) à la broche de l’Arduino UNO R4.

Si l'on connecte une des bornes de l'interrupteur à lames à la masse, et l'autre borne à une entrée sur l'Arduino UNO R4 avec une résistance de tirage (elle peut être intégrée ou ajoutée séparément) :

  • Lorsque l’aimant est proche de l’interrupteur à lames, la broche d’entrée de l’Arduino UNO R4 lit BAS.
  • Lorsque l’aimant est éloigné de l’interrupteur à lames, la LED d’entrée de l’Arduino UNO R4 lit HAUT.

Ainsi :

  • Pour déterminer si la porte est ouverte ou fermée, regardez la broche d'entrée de l'Arduino UNO R4 :
    • Si la broche affiche LOW, la porte est fermée.
    • Si la broche affiche HIGH, la porte est ouverte.
  • Pour savoir quand la porte s'ouvre ou se ferme, surveillez les changements d'état de la broche d'entrée de l'Arduino UNO R4 :
    • Un changement de LOW à HIGH signifie que la porte est en train de s'ouvrir.
    • Un changement de HIGH à LOW signifie que la porte est en train de se fermer.

Diagramme de câblage

Schéma de câblage du capteur de porte Arduino UNO R4

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

Voir Comment alimenter l'Arduino UNO R4..

Comment programmer un capteur de porte

  • La broche de l'Arduino UNO R4 est configurée en mode entrée numérique à l'aide de la fonction appelée pinMode(). Par exemple, la broche 9.
pinMode(9, INPUT_PULLUP);
  • Lit l'état de la broche de l'Arduino UNO R4 en utilisant la fonction digitalRead().
int door_state = digitalRead(9);

Code Arduino UNO R4 - Vérifier l'état d'ouverture et de fermeture de la porte

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino 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

Suivez ces instructions étape par étape :

  • Si c'est la première fois que vous utilisez l'Arduino Uno R4 WiFi/Minima, reportez-vous au tutoriel sur la configuration de l'environnement pour Arduino Uno R4 WiFi/Minima dans l'IDE Arduino.
  • Reliez les composants selon le schéma fourni.
  • Connectez la carte Arduino Uno R4 à votre ordinateur à l'aide d’un câble USB.
  • Lancez l’IDE Arduino sur votre ordinateur.
  • Sélectionnez la carte Arduino Uno R4 appropriée (par exemple, Arduino Uno R4 WiFi) et le port COM.
  • Copiez le code ci-dessus et ouvrez-le dans l’IDE Arduino.
  • Cliquez sur le bouton Upload dans l’IDE Arduino pour téléverser le code sur l'Arduino UNO R4.
  • Approchez l’aimant de l’interrupteur à lames, puis éloignez-le de l’interrupteur à lames.
  • Vérifiez les résultats sur le Moniteur Série.
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 UNO R4 - Détection des événements d'ouverture et de fermeture de la porte

/* * Ce code Arduino UNO R4 a été développé par newbiely.fr * Ce code Arduino UNO R4 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-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 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 serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino 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 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 is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Copier le code et l'ouvrir dans l'IDE Arduino.
  • Cliquer sur le bouton Upload dans l'IDE Arduino pour transférer le code vers votre Arduino UNO R4.
  • Approchez un aimant de l'interrupteur à lames, puis éloignez-le de l'interrupteur à lames.
  • Vérifiez les résultats dans le Moniteur série.
COM6
Send
The door closing is detected The door opening is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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 !