ESP32 - Interrupteur de fin de course

Ce tutoriel vous explique comment utiliser l'interrupteur de limite avec l'ESP32.

ESP32 avec interrupteur de fin de course

Il est important de noter que ce tutoriel concerne spécifiquement l'utilisation d'un interrupteur de fin de course, veuillez ne pas confondre avec ce qui suit :

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×Limit Switch (KW12-3)
1×Limit Switch (V-156-1C25)
1×Wires
1×Breadboard
1×Jumper Wires
1×(Optional) DC Power Jack
1×(Recommended) ESP32 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.

À propos de l'interrupteur de fin de course

Il est appelé interrupteur de fin de course parce que sa principale fonctionnalité est de détecter l'objet en mouvement atteignant une limite.

Un interrupteur de fin de course est ainsi nommé parce que son objectif principal est de détecter lorsqu'un objet en mouvement a atteint une limite.

Brochage

Il existe différents types d'interrupteurs de fin de course, mais parmi les plus couramment utilisés figurent le KW12-3 et le V-156-1C25. Chacun de ces types comporte trois broches :

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

Comment ça fonctionne

Une application typique d'un interrupteur de fin de course utilise généralement seulement deux broches, la broche C et l'une des deux autres broches restantes. Cela entraîne quatre différentes manières d'utiliser un interrupteur de fin de course. Le tableau ci-dessous illustre le câblage et l'état de lecture sur un ESP32 pour chacune de ces quatre méthodes.

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

En échangeant la broche GND et la broche d'entrée de l'ESP32 pour chacune des quatre manières, il existe un total de huit manières différentes de connecter un ESP32 à un interrupteur de fin de course.

Parmi les huit méthodes, le tutoriel se concentrera sur une méthode, spécifiquement la première méthode sera utilisée comme exemple.

Diagramme de câblage

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

This image is created using Fritzing. Click to enlarge image

Si vous ne savez pas comment alimenter l'ESP32 et d'autres composants, vous pouvez trouver des conseils dans le tutoriel suivant : Comment alimenter l'ESP32.

Pour rendre la connexion des câblages stable et solide, nous recommandons d'utiliser un fer à souder pour souder ensemble les fils et la broche de l'interrupteur de limite, puis d'utiliser un moyen de protection pour assurer la sécurité.

Pour une connexion stable et sécurisée, il est recommandé d'utiliser un fer à souder pour souder ensemble les fils et les broches de l'interrupteur de fin de course, puis d'utiliser des gainnes thermorétractables pour plus de sécurité.

Code ESP32 - Interrupteur de fin de course

Tout comme un bouton, un interrupteur de fin de course doit également être anti-rebond (Voir plus à ). L'anti-rebond complique le code. Heureusement, la bibliothèque ezButton prend en charge la fonction d'anti-rebond. La bibliothèque utilise également un registre de pull-up interne. Cela nous facilite la programmation.

Semblable à un bouton, un interrupteur de fin de course nécessite également un anti-rebond (plus d'informations sont disponibles sur Pourquoi a-t-on besoin d'un anti-rebond pour le bouton/interrupteur de fin de course ?). L'anti-rebond peut rendre le code plus complexe. Cependant, la bibliothèque ezButton offre une fonctionnalité d'anti-rebond et utilise des registres de tirage interne, ce qui facilite la programmation.

※ NOTE THAT:

Deux cas d'utilisation courants pour un interrupteur de fin de course sont :

  • Premier cas d'utilisation : Si l'interrupteur est TOUCHÉ, effectuer une action spécifique. Si l'état d'entrée est NON TOUCHÉ, effectuer l'action opposée.
  • Deuxième cas d'utilisation : Si l'état de l'interrupteur passe de NON TOUCHÉ à TOUCHÉ (ou de TOUCHÉ à NON TOUCHÉ), effectuer une action spécifique.
/* * Ce code ESP32 a été développé par newbiely.fr * Ce code ESP32 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/esp32/esp32-limit-switch */ #include <ezButton.h> ezButton limitSwitch(17); // create ezButton object that attach to ESP32 pin GPIO17 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

  • Suivez le schéma de câblage fourni ci-dessus pour connecter votre Interrupteur de fin de course à l'ESP32.
  • Connectez votre ESP32 à votre PC à l'aide d'un câble USB.
  • Ouvrez le logiciel Arduino IDE.
  • Installez la bibliothèque ezButton. Reportez-vous aux instructions
  • Sélectionnez la carte et le port appropriés dans l'Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans l'Arduino IDE.
  • Testez l'Interrupteur de fin de course en le touchant et en le relâchant.
  • Observez la sortie sur le Moniteur Série dans l'Arduino IDE.
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!