Après avoir enfin reçu mon petit interrupteur, il me semblait logique de montrer comment l’utiliser.
Et par chance, il ne faut pas grand chose pour le faire fonctionner.
Prérequis
Comment l’interrupteur fonctionne ?
C’est assez simple, l’interrupteur est actionné par un aiment. L’aiment est la partie qui n’est pas relié à du courant, ici à un arduino. Lorsque l’aiment est proche de la base ici l’interrupteur, ce dernier est fermé et lorsque l’aiment est éloigné de la base, l’interrupteur est ouvert.
En partant de ce principe on peut tout à fait le comparer avec un bouton ON/OFF, à la seule différence que l’action est manuelle alors que dans notre cas de l’interrupteur magnétique, c’est grâce à l’aiment que le changement d’état s’effectue.
Schéma du câblage
Place au code
const int door = 3;
int state; // 0 Fermé - 1 Ouvert
void setup() {
Serial.begin(9600);
pinMode(door, INPUT_PULLUP);
}
void loop() {
state = digitalRead(door);
if (state == HIGH){
Serial.println("Ouvert");
}
else{
Serial.println("Fermé");
}
delay(200);
}
Le code est très simple. On va initialiser le pinMode de notre interrupteur avec le paramètre INPUT_PULLUP et tester si c’est ouvert ou non dans une condition IF. Cela va nous permettre de réaliser des actions en fonction de l’ouverture ou non.
Maintenant lorsque vous allez tester, vous allez avoir dans le moniteur série si c’est fermé ou ouvert 🙂
Pourquoi INPUT_PULLUP ? Je me permets de paraphraser cet article.
Lorsque le bouton est pressé, l’entrée est à 5 V, mais lorsque le bouton n’est pas pressé, elle n’est pas définie car elle est « en l’air ». Les entrées du microcontrôleur équipant l’Arduino sont très sensibles et elles réagissent à la tension qui leur est appliquée. En conséquence, l’entrée laissée en l’air peut avoir n’importe quelle valeur comprise entre 0 et 5 V et être interprétée comme un LOW ou un HIGH par l’instruction digitalRead(…).
Pour fixer la tension lorsque le bouton n’est pas pressé, on insère une résistance pull down (résistance de tirage vers le bas) entre l’entrée et la masse (GND) dont le rôle est d’assurer que l’entrée est à 0 V lorsque le poussoir n’est pas pressé.
https://www.locoduino.org/spip.php?article122
Et maintenant, vous pouvez facilement y ajouter plusieurs choses comme par exemple une alarme pour être averti de l’ouverture d’une porte.
Si cet article vous a plu, n’hésitez pas à laisser un commentaire, noter et partager l’article.
0