Arduino Nano ESP32 - Interrupteur de limite

Ce tutoriel fournit des instructions sur comment utiliser l'interrupteur de fin de course avec l'Arduino Nano ESP32.

Arduino Nano 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×Arduino Nano ESP32
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) 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)
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 limite parce que sa fonction principale est de détecter l'objet en mouvement atteignant une limite.

Un interrupteur de fin de course porte ce nom car son objectif principal est de détecter quand un objet en mouvement a atteint une limite.

Schéma des broches

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

  • Broche C : C'est la broche commune, elle est utilisée à la fois en modes 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é.
Schéma de 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 donne quatre manières différentes d'utiliser un interrupteur de fin de course. Le tableau ci-dessous illustre le câblage et l'état de lecture sur un Arduino Nano ESP32 pour chacune de ces quatre méthodes.

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

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

Parmi les huit méthodes, le tutoriel se concentrera sur une méthode en particulier, 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 Arduino Nano ESP32

This image is created using Fritzing. Click to enlarge image

Pour rendre la connexion des fils stable et solide, nous recommandons de souder les fils et la broche de l'interrupteur limiteur ensemble, puis d'utiliser pour garantir 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 gaines thermorétractables pour plus de sécurité.

Code Arduino Nano ESP32 - Interrupteur de fin de course

Tout comme un bouton, un interrupteur de fin de course doit également être déparasité (Voir plus à ). Le déparasitage rend le code compliqué. Heureusement, la bibliothèque ezButton prend en charge la fonction de déparasitage. 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 un anti-rebond est nécessaire pour le bouton/l'interrupteur de fin de course ?). L'anti-rebond peut compliquer le code. Cependant, la bibliothèque ezButton offre une fonctionnalité d'anti-rebond et utilise des registres de pull-up internes, facilitant la programmation.

※ NOTE THAT:

Deux cas d'utilisation courants d'un interrupteur à limite sont :

  • Premier cas d'utilisation : Si l'interrupteur est TOUCHANT, effectuer une certaine action. Si l'état d'entrée est INTACT, effectuer l'action opposée.
  • Deuxième cas d'utilisation : Si l'état de l'interrupteur passe de INTACT à TOUCHANT (ou de TOUCHANT à INTACT), effectuer une action spécifique.
/* * Ce code Arduino Nano ESP32 a été développé par newbiely.fr * Ce code Arduino Nano 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/arduino-nano-esp32/arduino-nano-esp32-limit-switch */ #include <ezButton.h> ezButton limitSwitch(D2); // create ezButton object that attach to the Arduino Nano ESP32 pin D2 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 à Arduino Nano ESP32.
  • Connectez votre Arduino Nano ESP32 à votre PC à l'aide d'un câble USB.
  • Ouvrez le logiciel Arduino IDE.
  • Installez la bibliothèque ezButton. Consultez les instructions
  • Sélectionnez la carte et le port appropriés dans l'Arduino IDE.
  • Compilez et téléchargez le code sur la carte Arduino Nano 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.
  • Consultez 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!