ESP32 - Interrupteur de fin de course
Ce guide vous montre comment utiliser un interrupteur de fin de course avec l'ESP32 et MicroPython. Nous aborderons les détails suivants :
- Comment connecter l'interrupteur de fin de course à l'ESP32.
- Comment écrire du code MicroPython pour l'ESP32 afin de lire l'état de l'interrupteur de fin de course.
- Comment écrire du code MicroPython pour l'ESP32 afin de détecter les états touchés et non touchés de l'interrupteur de fin de course.

Préparation du matériel
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Démarrage DIYables ESP32 (ESP32 inclus) | |
| 1 | × | Kit de Capteurs DIYables (30 capteurs/écrans) | |
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
À propos de l'interrupteur de fin de course
On l'appelle Interrupteur de fin de course car sa fonction principale est de détecter quand un objet en mouvement atteint son point d'arrêt. Il est aussi connu sous le nom d'un interrupteur de déplacement. On l'appelle aussi l'interrupteur de déplacement.
Schéma des broches
Différents types d'interrupteurs de fin de course sont couramment utilisés, tels que les KW12-3 et les V-156-1C25. Chaque modèle comprend 3 broches.
- Broche C : Il s'agit de la broche commune. Elle est utilisée à la fois dans les réglages ouverts et fermés.
- Broche NO : Cela signifie la broche normalement ouverte. Elle est utilisée lorsque le réglage est ouvert.
- Broche NC : Cela signifie la broche normalement fermée. Elle est utilisée lorsque le réglage est fermé.

Comment cela fonctionne
L'interrupteur de fin de course possède trois broches, mais en général seules deux broches sont utilisées : la broche C et l'une des deux autres broches. Il existe quatre façons de connecter l'interrupteur de fin de course. Voici un tableau montrant le câblage de l'interrupteur de fin de course et ses lectures sur l'ESP32 pour les 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 |
Nous pouvons changer les positions des broches GND et d'entrée sur l'ESP32 pour chaque méthode. Cela nous donne 8 méthodes différentes pour connecter l'ESP32 à un interrupteur de fin de course.
Nous n'avons besoin que de choisir l'une des quatre méthodes mentionnées précédemment. Pour ce tutoriel, nous utiliserons la première méthode.
Diagramme de câblage
- Comment connecter l'ESP32 et un interrupteur de fin de course à l'aide d'une plaque d'essai

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
- Comment connecter l'ESP32 et l'interrupteur de fin de course en utilisant une carte d'extension à borniers à vis

Code MicroPython ESP32 - Interrupteur de fin de course
Un interrupteur de fin de course, semblable à un bouton, nécessite un anti-rebond pour fonctionner correctement. La gestion de l'anti-rebond peut rendre le code plus complexe. Heureusement, la DIYables_MicroPython_Button library fournit une fonction d'anti-rebond et comprend une résistance de tirage interne (pull-up), ce qui simplifie le processus de programmation.
Voici deux situations habituelles :
- Le premier : Si l'interrupteur est touché, faites quelque chose. S'il est non touché, faites le contraire.
- Le deuxième : Si l'interrupteur passe de non touché à touché ou de touché à non touché, faites quelque chose.
Voyons comment écrire le script MicroPython dans les deux cas.
Code MicroPython ESP32 - Lire l'état de l'interrupteur de fin de course
Étapes rapides
Voici les instructions pour configurer et exécuter votre code MicroPython sur l'ESP32 en utilisant l'IDE Thonny :
- Assurez-vous que Thonny IDE est installé sur votre ordinateur.
- Confirmez que le firmware MicroPython est chargé sur votre carte ESP32.
- Si c’est la première fois que vous utilisez un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
- Connectez la carte ESP32 à l'interrupteur de fin de course selon le schéma fourni.
- Connectez la carte ESP32 à votre ordinateur avec un câble USB.
- Ouvrez Thonny IDE sur votre ordinateur.
- Dans Thonny IDE, allez dans Outils > Options.
- Sous l'onglet Interpréteur, choisissez MicroPython (ESP32) dans le menu déroulant.
- Assurez-vous que le bon port est sélectionné. Thonny IDE le détecte généralement automatiquement, mais vous pourriez avoir besoin de le sélectionner manuellement (par exemple COM12 sur Windows ou /dev/ttyACM0 sur Linux).
- Dans Thonny IDE, accédez à Outils > Gérer les paquets.
- Recherchez «DIYables-MicroPython-Button», puis trouvez la bibliothèque Button créée par DIYables.
- Cliquez sur «DIYables-MicroPython-Button», puis cliquez sur le bouton Installer pour installer la bibliothèque Button.

- Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
- Enregistrez le code sur votre ESP32 en:
- Cliquez sur le bouton Enregistrer ou appuyez sur Ctrl+S.
- Dans la boîte de dialogue d'enregistrement, choisissez Périphérique MicroPython.
- Nommez le fichier main.py.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
- Appuyez, maintenez, puis relâchez l'interrupteur de fin de course tout en vérifiant le message dans le Shell en bas de Thonny.
Code MicroPython ESP32 - Vérifier l'événement touché/non touché du capteur de fin de course
- Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
- Enregistrez le script sur votre ESP32.
- Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
- Appuyez, maintenez puis relâchez l'interrupteur de fin de course tout en vérifiant le message dans le Shell situé en bas de Thonny.