Arduino Nano - Capteur de porte
Le capteur de porte est un choix populaire pour des raisons de sécurité. Il est utilisé pour détecter et surveiller les entrées, telles que les portes et les fenêtres. Cet appareil est également appelé capteur d'entrée, capteur de contact ou capteur de fenêtre.
Ce tutoriel vous explique comment utiliser l'Arduino Nano avec le capteur de porte. Nous verrons en détail :
- Comment connecter l'Arduino Nano au capteur de porte.
- Comment programmer l'Arduino Nano pour lire l'état du capteur de porte.
- Comment programmer l'Arduino Nano pour détecter si la porte est ouverte ou fermée.
Préparation du matériel
1 | × | Arduino Nano | |
1 | × | USB A to Mini-B USB cable | |
1 | × | Door Sensor | |
1 | × | (Optional) 9V Power Adapter for Arduino Nano | |
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) |
À propos du capteur de porte
Le schéma des broches du capteur de porte
Un capteur de porte se compose de deux parties :
- Un aimant.
- Un interrupteur à lames souples qui possède deux broches : Semblable à un interrupteur/bouton ordinaire, il n'est pas nécessaire de différencier les deux broches.
Comment ça fonctionne
L'aimant est fixé à la porte/fenêtre (la partie qui bouge), et l'interrupteur à lame souple est fixé au cadre de la porte (l'élément statique). Les deux composants entrent en contact lorsque la porte est fermée :
- Lorsque l'aimant est près de l'interrupteur à lames, le circuit de l'interrupteur à lames est fermé.
- Lorsque l'aimant est éloigné de l'interrupteur à lames, le circuit de l'interrupteur à lames est ouvert.
※ NOTE THAT:
L'interrupteur à lame ne fournit pas de sortie soit LOW soit HIGH sur ses broches. Il est soit fermé soit ouvert. Selon la manière dont nous le connectons à l'Arduino Nano, la broche peut avoir une valeur LOW, HIGH, ou une valeur flottante (imprévisible). Pour éviter la valeur flottante, une résistance de tirage vers le haut ou vers le bas doit être utilisée sur la broche de l'Arduino Nano.
Si nous connectons une broche de l'interrupteur à lame à GND et l'autre broche de l'interrupteur à lame à une broche d'entrée de l'Arduino Nano avec une résistance de tirage (interne ou externe) :
- Lorsque l'aimant est proche de l'interrupteur à lames, la valeur sur la broche d'entrée de l'Arduino est BASSE
- Lorsque l'aimant est éloigné de l'interrupteur à lames, la valeur sur la broche d'entrée de l'Arduino est HAUTE
Pour déterminer l'état de la porte, nous regardons simplement l'état de la broche d'entrée de l'Arduino :
- Si l'état est BAS, la porte est fermée
- Si l'état est ÉLEVÉ, la porte est ouverte
Nous pouvons également détecter quand la porte est ouverte ou fermée en recherchant un changement dans l'état de la broche d'entrée de l'Arduino :
- Si l'état passe de BAS à ÉLEVÉ, l'événement d'ouverture de porte est détecté
- Si l'état passe de ÉLEVÉ à BAS, l'événement de fermeture de porte est détecté
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Comment programmer un capteur de porte
- Initialisez la broche de l'Arduino Nano en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, le code suivant peut être utilisé pour définir la broche 2 comme une entrée.
- Utilise la fonction digitalRead() pour déterminer l'état du pin de l'Arduino Nano.
Code Arduino Nano - Vérifier l'état d'ouverture et de fermeture de la porte
Étapes rapides
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code vers l'Arduino Nano.
- Approchez l'aimant du contact reed puis éloignez-le.
- Consultez le résultat sur le moniteur série.
Code Arduino Nano - Détecter les événements d'ouverture et de fermeture de porte
- Copiez le code et ouvrez-le dans l'IDE Arduino.
- Cliquez sur le bouton Upload pour transférer le code vers l'Arduino Nano.
- Approchez l'aimant du contact à lames souples puis éloignez-le.
- Consultez le résultat sur le moniteur série.