ESP8266 - Capteur d'obstacles

Ce tutoriel vous explique comment utiliser l'ESP8266 avec le capteur d'évitement d'obstacles infrarouge. En détail, nous apprendrons :

Préparation du matériel

1×ESP8266 NodeMCU
1×Micro USB Cable
1×IR Obstacle Avoidance Sensor
1×Jumper Wires
1×(Optional) 5V Power Adapter for ESP8266
1×(Optional) ESP8266 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 infrarouge est conçu pour détecter la présence de tout obstacle sur son chemin en utilisant un signal infrarouge. Il possède une portée de détection de 2 cm à 30 cm, qui peut être ajustée avec un potentiomètre intégré.

Brochage du capteur d'évitement d'obstacles infrarouge

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

  • Broche GND : doit être connectée à GND (0V)
  • Broche VCC : doit être connectée à VCC (5V ou 3,3V)
  • Broche OUT : est une broche de sortie, BASSE lorsqu'un obstacle est présent, HAUTE lorsqu'il n'y en a pas. Cette broche doit être connectée à une broche d'entrée ESP8266.
Schéma de brochage du capteur de détection d'obstacles IR

Comment ça marche

Le module capteur d'obstacles infrarouge dispose d'un émetteur et d'un récepteur infrarouges intégrés. L'émetteur émet un signal infrarouge. Le récepteur recherche le signal réfléchi pour détecter la présence ou l'absence d'un objet. La broche OUT indique la présence d'un obstacle :

  • Si quelque chose bloque le capteur, la broche OUT sera à l'état BAS
  • Si rien ne bloque le capteur, la broche OUT sera à l'état HAUT

※ NOTE THAT:

Pendant le transport, il est possible que ce capteur se déforme, ce qui peut entraîner un dysfonctionnement. Si vous constatez que le capteur ne fonctionne pas correctement, essayez d'ajuster l'émetteur et le récepteur IR pour les aligner parallèlement l'un à l'autre.

Diagramme de câblage

Schéma de câblage du capteur de détection d'obstacles infrarouge ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Voir plus dans l'agencement des broches de l'ESP8266 et comment alimenter l'ESP8266 et d'autres composants.

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

  • Initialise la broche ESP8266 en mode d'entrée numérique en utilisant la fonction pinMode(). Par exemple, la broche D7 :
pinMode(D7, INPUT_PULLUP);
  • Lire le statut de la broche ESP8266 via la fonction digitalRead().
int state = digitalRead(D7);

Code ESP8266

Il existe deux approches pour la programmation d'une application d'évitement d'obstacles :

  • Prendre des mesures lorsque l'obstacle est présent ou absent
  • Prendre des mesures lorsque l'obstacle est détecté ou éliminé

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

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-obstacle-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to OUT pin of IR obstacle avoidance sensor void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266 NodeMCU's pin as an input 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

Pour commencer avec ESP8266 sur Arduino IDE, suivez ces étapes :

  • Consultez le tutoriel comment configurer l'environnement pour ESP8266 sur Arduino IDE si c'est la première fois que vous utilisez un ESP8266.
  • Câblez les composants comme indiqué dans le schéma.
  • Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
  • Ouvrez Arduino IDE sur votre ordinateur.
  • Choisissez la bonne carte ESP8266, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et le port COM correspondant.
  • Copiez le code et ouvrez-le dans Arduino IDE.
  • Cliquez sur le bouton Upload pour envoyer le code à l'ESP8266.
  • Placez un obstacle devant le capteur puis retirez-le.
  • Vérifiez le résultat sur le moniteur série.
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 ESP8266 pour détecter un obstacle

/* * Ce code ESP8266 NodeMCU a été développé par newbiely.fr * Ce code ESP8266 NodeMCU 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/esp8266/esp8266-obstacle-sensor */ #define SENSOR_PIN D7 // The ESP8266 pin D7 connected to OUT pin of IR obstacle avoidance sensor int prev_state = HIGH; // The previous state from the input pin int obstacle_state; // The current reading from the input pin void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(9600); // initialize the ESP8266's pin as an input pinMode(SENSOR_PIN, INPUT); } void loop() { // read the state of the the input pin: obstacle_state = digitalRead(SENSOR_PIN); if (prev_state == HIGH && obstacle_state == LOW) Serial.println("The obstacle is detected"); else if (prev_state == LOW && obstacle_state == HIGH) Serial.println("The obstacle is cleared"); delay(50); // save the the last state prev_state = obstacle_state; }

Étapes rapides

  • Câblez les composants comme indiqué sur le schéma.
  • Connectez la carte ESP8266 à votre ordinateur via un câble USB.
  • Ouvrez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte ESP8266 correcte, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
  • Copiez le code ci-dessus et ouvrez-le dans l'Arduino IDE.
  • Cliquez sur le bouton Upload dans l'Arduino IDE pour envoyer le code à l'ESP8266.
  • Placez un obstacle devant le capteur pendant un moment, puis retirez-le.
  • Vérifiez les résultats dans le moniteur série.
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

Références de fonction

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!