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 :

ESP32 MicroPython avec interrupteur de fin de course

À 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é.
Schéma de brochage de l'interrupteur de fin de course
image source: diyables.io

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
Schéma de câblage d'un interrupteur de fin de course ESP32 MicroPython

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment connecter l'ESP32 et un interrupteur de fin de course

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

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-limit-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the limit switch connected to GPIO19 pin of the ESP32 limit_switch = Button(19) # Set debounce time to 50 milliseconds limit_switch.set_debounce_time(50) while True: limit_switch.loop() # Update the button state state = limit_switch.get_state() if state == 1: # GPIO HIGH print("The limit switch: UNTOUCHED") else: print("The limit switch: TOUCHED")

É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.
Bibliothèque de bouton MicroPython pour ESP32
  • 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.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED 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: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Code MicroPython ESP32 - Vérifier l'événement touché/non touché du capteur de fin de course

/* * Ce code ESP32 MicroPython a été développé par newbiely.fr * Ce code ESP32 MicroPython 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-micropython/esp32-micropython-limit-switch */ from DIYables_MicroPython_Button import Button import time # Initialize the limit switch connected to GPIO19 pin of the ESP32 limit_switch = Button(19) # Set debounce time to 50 milliseconds limit_switch.set_debounce_time(50) while True: limit_switch.loop() # Update the button state if limit_switch.is_pressed(): print("The limit switch: UNTOUCHED -> TOUCHED") if limit_switch.is_released(): print("The limit switch: TOUCHED -> UNTOUCHED")
  • 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.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED -> UNTOUCHED
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !