ESP32 - Capteur d'évitement d'obstacles infrarouge

Ce tutoriel vous explique comment utiliser l'ESP32 avec le capteur infrarouge de détection d'obstacles pour détecter la présence de l'obstacle.

Préparation du matériel

1×ESP-WROOM-32 Dev Module
1×USB Cable Type-C
1×IR Obstacle Avoidance Sensor
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 du capteur d'évitement d'obstacles IR

Le capteur d'obstacles IR (infrarouge) est utilisé pour détecter la présence d'obstacles devant le module de capteur en utilisant le signal IR. La plage de détection est de 2 cm à 30 cm et peut être ajustée par un potentiomètre intégré.

Brochage

Un capteur de détection d'obstacles IR possède trois broches :

  • Broche GND : connectez cette broche à GND (0V)
  • Broche VCC : connectez cette broche à VCC (5V ou 3.3V)
  • Broche OUT : c'est une broche de sortie : LOW si un obstacle est présent, HIGH s'il n'y a pas d'obstacle. Cette broche doit être connectée à la broche d'entrée de l'ESP32.
Capteur infrarouge de détection d'obstacles - Brochage

Comment ça marche

Un module de capteur d'obstacle infrarouge se compose d'un émetteur IR et d'un récepteur IR. L'émetteur IR émet le signal IR tandis que le récepteur IR recherche le signal IR réfléchi pour déterminer si un objet est présent ou non. La présence d'un obstacle se reflète sur la broche OUT :

  • Si l'obstacle est présent, la broche OUT du capteur est en état BAS
  • Si l'obstacle n'est pas présent, la broche OUT du capteur est en état HAUT

※ NOTE THAT:

Pendant le transport, le capteur peut se déformer, ce qui peut entraîner un dysfonctionnement. Si le capteur ne fonctionne pas correctement, ajustez l'émetteur et le récepteur IR pour vous assurer qu'ils sont parallèles.

Diagramme de câblage

Schéma de câblage du capteur de détection d'obstacles IR 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.

Comment programmer un capteur de détection d'obstacles IR

  • Initialise la broche ESP32 en mode entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche 8
pinMode(8, INPUT_PULLUP);
  • Lit l'état de la broche ESP32 en utilisant la fonction digitalRead().
int state = digitalRead(8);

Code ESP32

Il existe deux cas d'utilisation pour mettre en œuvre une application d'évitement d'obstacles :

  • Agissez que l'obstacle soit présent ou non
  • Agissez lorsque l'obstacle est détecté ou éliminé

Code ESP32 pour vérifier si un obstacle est présent

/* * 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-infrared-obstacle-avoidance-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to OUT pin of IR obstacle avoidance sensor void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the Arduino's pin as aninput pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: int state = digitalRead(SENSOR_PIN); if (state == LOW) Serial.println("The obstacle is present"); else Serial.println("The obstacle is NOT present"); delay(100); }

Étapes rapides

  • Si c'est la première fois que vous utilisez un ESP32, consultez comment configurer l'environnement pour ESP32 sur Arduino IDE.
  • Copiez le code ci-dessus et collez-le dans Arduino IDE.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans Arduino IDE.
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Consultez le résultat sur le moniteur série. Il ressemble à ce qui suit :
COM6
Send
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
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Code ESP32 pour détecter un obstacle

/* * 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-infrared-obstacle-avoidance-sensor */ #define SENSOR_PIN 18 // ESP32 pin GPIO18 connected to OUT pin of IR obstacle avoidance sensor int lastState = HIGH; // the previous state from the input pin int currentState; // the current reading from the input pin void setup() { // initialize serial communication at 9600 bits per second: Serial.begin(9600); // initialize the ESP32's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: currentState = digitalRead(SENSOR_PIN); if (lastState == HIGH && currentState == LOW) Serial.println("The obstacle is detected"); else if (lastState == LOW && currentState == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state lastState = currentState; }

Étapes rapides

  • Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
  • Compilez et téléchargez le code sur la carte ESP32 en cliquant sur le bouton Upload dans l'IDE Arduino.
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Consultez le résultat sur le moniteur série. Cela ressemble à ce qui suit :
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Tutoriels connexes

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