Arduino - Capteur de porte
Le capteur de porte est largement utilisé dans le domaine de la sécurité, il sert à détecter/surveiller les entrées (comme les portes, les fenêtres...). Le capteur de porte est également connu sous les noms de "capteurs d'entrée", "capteurs de contact" ou "capteurs de fenêtre".
Préparation du matériel
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
Brochage
Le capteur de porte comprend deux composants :
- Un interrupteur à lame souple avec deux broches
- Un aimant
Tout comme un interrupteur/bouton normal, nous n'avons pas besoin de distinguer les deux broches de l'interrupteur à lames.
Comment ça fonctionne
L'aimant est fixé à la porte/fenêtre (partie mobile) et l'interrupteur à lame souple est fixé au cadre de la porte (partie fixe). Les deux composants sont en contact lorsque la porte est fermée.
- Lorsque l'aimant est proche de l'interrupteur à lame, le circuit de l'interrupteur à lame est fermé.
- Lorsque l'aimant est éloigné de l'interrupteur à lame, le circuit de l'interrupteur à lame est ouvert.
※ NOTE THAT:
Le commutateur à lames lui-même ne produit PAS de sortie BASSE ou HAUTE sur ses broches. C'est juste un état fermé ou ouvert. Selon la manière dont nous connectons ses broches à l'Arduino, la valeur sur la broche peut être BASSE, HAUTE ou une valeur flottante (valeur imprévisible). Pour éviter la valeur flottante, nous DEVONS utiliser une résistance de tirage vers le haut ou vers le bas sur la broche de l'Arduino.
Si nous connectons une broche de l'interrupteur à lames à GND, l'autre broche de l'interrupteur à lames à la broche d'entrée de l'Arduino 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.
Alors :
- Pour vérifier l'état de la porte, nous vérifions simplement l'état de la broche d'entrée de l'Arduino :
- Si l'état est LOW, la porte est fermée
- Si l'état est HIGH, la porte est ouverte
- Pour détecter les événements d'ouverture/fermeture de la porte, nous pouvons détecter le changement d'état sur la broche d'entrée de l'Arduino :
- Si l'état passe de LOW à HIGH, l'événement d'ouverture de porte est détecté
- Si l'état passe de HIGH à LOW, 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
- Initialise la broche Arduino en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche 13.
- Lit l'état de la broche Arduino en utilisant la fonction digitalRead().
Code Arduino - Vérifier l'état d'ouverture et de fermeture de la porte
Étapes rapides
- Copiez le code ci-dessus et ouvrez-le avec Arduino IDE
- Cliquez sur le bouton Upload dans Arduino IDE pour charger le code sur Arduino
- Approchez l'aimant du interrupteur à lame souple puis éloignez-le.
- Regardez le résultat sur le moniteur série.
Code Arduino - Détecter les événements d'ouverture et de fermeture de porte
- Copiez le code ci-dessus et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code vers Arduino.
- Approchez l'aimant du contact reed puis éloignez-le.
- Consultez le résultat sur le moniteur série.