ESP32 - Capteur d'évitement d'obstacles

Dans ce guide, nous allons apprendre comment utiliser le capteur d’évitement d’obstacles infrarouge avec l’ESP32 et MicroPython pour détecter des obstacles. En détail, nous allons apprendre :

Capteur d'évitement d'obstacles ESP32 MicroPython

Préparation du matériel

1×Module de développement ESP32 ESP-WROOM-32
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×Capteur d'évitement d'obstacle IR
1×Alternativement: TCRT5000 Obstacle Avoidance Sensor
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour ESP32
1×Recommandé: Breakout Expansion Board for ESP32
1×Recommandé: Répartiteur d'alimentation pour ESP32

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)
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 du capteur d'évitement d'obstacles IR

Le capteur d'obstacles infrarouge (IR) détecte les obstacles à l'aide d'un signal infrarouge. Il peut identifier des objets situés à une distance comprise entre 2 cm et 30 cm. La plage de détection peut être ajustée à l'aide d'un potentiomètre intégré.

Plan de brochage

Le capteur d'évitement d'obstacles infrarouge comporte trois broches :

  • Broche GND : Branchez-la à la masse (0 volt).
  • Broche VCC : Branchez-la à une alimentation (5 volts ou 3,3 volts).
  • Broche OUT : Cette broche de sortie passe à l'état bas lorsque un obstacle est détecté et à l'état haut lorsque aucun obstacle n'est présent. Branchez-la sur une broche d'entrée de l'ESP32.
Pinout du capteur d'évitement d'obstacles infrarouge
image source: diyables.io

Comment cela fonctionne

Un module capteur d'obstacles infrarouge contient un émetteur IR et un récepteur IR. L'émetteur IR émet un signal infrarouge, tandis que le récepteur IR détecte le signal réfléchi pour déterminer si un objet est présent. La présence d'un obstacle est indiquée par la broche OUT :

  • Si un obstacle se trouve devant le capteur, la broche OUT est basse.
  • Si aucun obstacle ne se trouve devant le capteur, la broche OUT est haute.

※ Note:

Le capteur peut se déformer pendant l'expédition, ce qui peut entraîner un dysfonctionnement. Si le capteur ne fonctionne pas correctement, ajustez l'émetteur et le récepteur IR afin de vous assurer qu'ils sont alignés parallèlement l'un à l'autre.

Diagramme de câblage

  • Comment connecter l'ESP32 et le capteur d'évitement d'obstacles en utilisant breadboard
Schéma de câblage du capteur d’évitement d’obstacles IR ESP32 MicroPython

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

Comment connecter l'ESP32 et le capteur d'évitement d'obstacles.

Code MicroPython pour ESP32

Il existe deux approches pour programmer une application d’évitement d’obstacles :

  • Exécuter ou ignorer une action en fonction de la présence ou de l'absence de l'obstacle.
  • Exécuter ou ignorer une action lorsque l'obstacle est détecté ou dégagé.

Code MicroPython ESP32 pour vérifier si l'obstacle est présent

/* * 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-obstacle-avoidance-sensor */ from machine import Pin from time import sleep # Define pin SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to the OUT pin of IR obstacle avoidance sensor # Initialize the pin sensor = Pin(SENSOR_PIN, Pin.IN) # Main loop while True: state = sensor.value() # Read the state of the input pin if state == 0: print("The obstacle is present") else: print("The obstacle is NOT present") sleep(0.1) # Delay 100 ms

É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 votre première utilisation d'un ESP32 avec MicroPython, consultez le guide ESP32 - Premiers pas. pour des instructions étape par étape.
  • Branchez le capteur d'évitement d'obstacles à l'ESP32 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 devrez peut-être le sélectionner manuellement (comme COM12 sous Windows ou /dev/ttyACM0 sous Linux).
  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32 en procédant comme suit :
    • En cliquant sur le bouton Enregistrer ou en appuyant 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.
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is NOT present The obstacle is present The obstacle is present The obstacle is present The obstacle is present The obstacle is NOT present The obstacle is NOT present
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Code MicroPython ESP32 pour détecter un obstacle

/* * 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-obstacle-avoidance-sensor */ from machine import Pin from time import sleep # Define pin SENSOR_PIN = 18 # The ESP32 pin GPIO18 connected to the OUT pin of IR obstacle avoidance sensor # Initialize the pin sensor = Pin(SENSOR_PIN, Pin.IN) # Variables to store the previous and current obstacle states prev_obstacle_state = 1 # Start with HIGH (no obstacle) obstacle_state = 1 # Current reading from the input pin # Main loop while True: # Read the state of the input pin obstacle_state = sensor.value() if prev_obstacle_state == 1 and obstacle_state == 0: print("The obstacle is detected") elif prev_obstacle_state == 0 and obstacle_state == 1: print("The obstacle is cleared") # Save the last state prev_obstacle_state = obstacle_state sleep(0.1) # Delay 100 ms

Étapes rapides

  • Copiez le code MicroPython fourni et collez-le dans l'éditeur de Thonny.
  • Enregistrez le code sur votre ESP32.
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script.
  • Mettez quelque chose devant le capteur brièvement, puis retirez-le.
  • Consultez le message dans le Shell en bas de Thonny.
Shell x
>>> %Run -c $EDITOR_CONTENT
MPY: soft reboot The obstacle is detected The obstacle is cleared
MicroPython (ESP32) • CP2102 USB To UART Bridge Controller @ COM12 ≡

Vidéo

Tutoriels connexes

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