ESP8266 - Interrupteur de limite

Ce tutoriel vous explique comment utiliser l'ESP8266 avec l'interrupteur de fin de course. En détail, nous apprendrons :

ESP8266 NodeMCU avec interrupteur de fin de course

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×Limit Switch (KW12-3)
1×Limit Switch (V-156-1C25)
1×Wires
1×(Optional) Heat Shrink Tubing
1×(Optional) Soldering Iron
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 Screw Terminal Adapter

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.

Sur l'interrupteur de fin de course

Il est appelé interrupteur de fin de course car son objectif principal est de détecter lorsqu'un objet en mouvement a atteint une limite.

Le brochage de l'interrupteur de fin de course

Il existe différents types d'interrupteurs de fin de course, mais les plus appréciés sont le KW12-3 et le V-156-1C25. Chacun de ces modèles dispose de trois broches :

  • C : C'est la broche commune et est utilisée à la fois pour les modes normalement ouvert et normalement fermé.
  • NO : C'est la broche normalement ouverte et est utilisée uniquement en mode normalement ouvert.
  • NC : C'est la broche normalement fermée et est utilisée uniquement en mode normalement fermé.
Brochage de l'interrupteur de fin de course
image source: diyables.io

Comment ça fonctionne

Bien que l'interrupteur de fin de course ait trois broches, une application typique utilise généralement seulement deux broches : la broche C et l'une des deux autres. Par conséquent, il existe quatre manières différentes d'utiliser l'interrupteur de fin de course. Voici un tableau de câblage pour l'interrupteur de fin de course et l'état de lecture sur ESP8266 pour les quatre méthodes :

C pin NO pin NC pin ESP8266 Input Pin's State
1 GND ESP8266 Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected ESP8266 Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC ESP8266 Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected ESP8266 Input Pin (with pull-down) HIGH when untouched, LOW when touched

Pour chaque méthode, nous pouvons interchanger la broche GND et la broche d'entrée de l'ESP8266. Par conséquent, il existe huit façons possibles de connecter un ESP8266 à un interrupteur de fin de course.

Nous devons choisir l'une des quatre options présentées. Le reste du tutoriel utilisera la première méthode.

Diagramme de câblage

Schéma de câblage de l'interrupteur de fin de course ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

Pour une connexion de câblage sûre et fiable, nous vous suggérons d'utiliser un Fer à Souder pour souder ensemble les fils et les broches de l'interrupteur de fin de course. Ensuite, recouvrez la connexion avec un Tube Thermorétractable pour une sécurité supplémentaire.

Code ESP8266 - Interrupteur de fin de course

Semblable à un bouton, le debounce est également nécessaire pour un interrupteur de fin de course (pour plus d'informations, voir Pourquoi le debounce est nécessaire pour le bouton/interrupteur de fin de course ?). Cela peut rendre la programmation complexe. Heureusement, la bibliothèque ezButton prend en charge la fonction de debounce et possède un registre de pull-up interne, ce qui facilite la programmation du bouton.

※ NOTE THAT:

Deux applications courantes existent avec l'interrupteur de fin de course :

  • La première : si l'interrupteur est en état TOUCHÉ, une certaine action doit être prise. Inversement, si l'entrée est NON TOUCHÉE, une action différente doit être effectuée.
  • La seconde : si l'interrupteur passe de NON TOUCHÉ à TOUCHÉ (ou vice versa), une action spécifique doit être exécutée.
/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-limit-switch */ #include <ezButton.h> ezButton limitSwitch(D7); // create ezButton object that attach to ESP8266 pin D7 void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

Étapes rapides

Pour commencer avec l'ESP8266 sur l'IDE Arduino, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, tel que (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Réalisez le câblage comme indiqué dans le schéma.
  • Connectez l'ESP8266 à un ordinateur à l'aide d'un câble USB.
  • Ouvrez l'Arduino IDE.
  • Installez la bibliothèque ezButton, les instructions se trouvent ici.
  • Sélectionnez la carte et le port corrects.
  • Cliquez sur le bouton Upload dans l'Arduino IDE pour compiler et téléverser le code sur l'ESP8266.
  • Pressez et relâchez l'interrupteur à limite.
  • Vérifiez le résultat sur le moniteur série.
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

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