ESP8266 - Sensor de Obstáculos

Este tutorial te enseña cómo usar el ESP8266 con el sensor de evitación de obstáculos por infrarrojos. En detalle, aprenderemos:

Hardware Requerido

1×ESP8266 NodeMCU
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×Sensor de Evasión de Obstáculos IR
1×(Alternativo) TCRT5000 Obstacle Avoidance Sensor
1×Cables Puente
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para ESP8266
1×(Recomendado) Divisor de Alimentación para ESP8266 Tipo-C

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del sensor de evitación de obstáculos IR

El sensor de obstáculos infrarrojos está diseñado para detectar la presencia de cualquier obstáculo en su camino mediante una señal infrarroja. Tiene un rango de detección de 2 cm a 30 cm, que puede ajustarse con un potenciómetro integrado.

Disposición de pines del sensor de evitación de obstáculos por infrarrojos

El sensor de evitación de obstáculos IR tiene tres pines:

  • Pin GND: debe estar conectado a GND (0V)
  • Pin VCC: debe estar conectado a VCC (5V o 3.3V)
  • Pin OUT: es un pin de salida, bajo cuando hay un obstáculo presente, alto cuando no lo hay. Este pin debe estar conectado a un pin de entrada del ESP8266.
Diagrama de pines del sensor de detección de obstáculos por infrarrojos

Cómo funciona

El módulo de sensor de obstáculos por infrarrojos tiene un transmisor y un receptor de infrarrojos integrados. El transmisor emite una señal infrarroja. El receptor busca la señal reflejada para detectar si hay un objeto presente o no. El pin OUT indica la presencia de un obstáculo:

  • Si algo está bloqueando el sensor, el pin OUT estará en nivel bajo
  • Si no hay nada bloqueando el sensor, el pin OUT estará en nivel alto

※ Nota:

Durante el transporte, existe la posibilidad de que este sensor se deforme, lo que puede provocar un mal funcionamiento. Si observa que el sensor no funciona correctamente, intente ajustar el transmisor IR y el receptor para alinearlos paralelamente entre sí.

Diagrama de Cableado

Diagrama de cableado del sensor de evitación de obstáculos por infrarrojos para ESP8266 NodeMCU

This image is created using Fritzing. Click to enlarge image

Para obtener m\u00e1s informaci\u00f3n, consulte Pines del ESP8266 y c\u00f3mo alimentar ESP8266 y otros componentes.

Cómo programar para el sensor de detección de obstáculos por infrarrojos

  • Inicializa el pin ESP8266 en el modo de entrada digital utilizando la función pinMode(). Por ejemplo, pin D7:
pinMode(D7, INPUT_PULLUP);
  • Leer el estado del pin ESP8266 mediante la función digitalRead().
int state = digitalRead(D7);

Código ESP8266

Hay dos enfoques para programar una aplicación de evitación de obstáculos:

  • Actuar cuando el obstáculo esté presente o ausente
  • Actuar cuando se detecte el obstáculo o cuando haya sido eliminado

Código ESP8266 para comprobar si el obstáculo está presente

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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); }

Pasos R\u00e1pidos

Para empezar con ESP8266 en el IDE de Arduino, siga estos pasos:

  • Consulta el tutorial cómo configurar el entorno para ESP8266 en Arduino IDE si es la primera vez que usas ESP8266.
  • Conecta los componentes tal como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu ordenador usando un cable USB.
  • Abre Arduino IDE en tu ordenador.
  • Elige la placa ESP8266 correcta, como (p. ej. NodeMCU 1.0 (ESP-12E Module)), y su puerto COM respectivo.
  • Copia el código y ábrelo en Arduino IDE.
  • Haz clic en el botón Upload para enviar el código al ESP8266.
  • Coloca un obstáculo frente al sensor y luego retíralo.
  • Verifica el resultado en el Monitor Serial.
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  

Código ESP8266 para detectar un obstáculo

/* * Este código de ESP8266 NodeMCU fue desarrollado por es.newbiely.com * Este código de ESP8266 NodeMCU se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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; }

Pasos R\u00e1pidos

  • Conecta los componentes como se muestra en el diagrama.
  • Conecta la placa ESP8266 a tu computadora usando un cable USB.
  • Abre el IDE de Arduino en tu computadora.
  • Elige la placa ESP8266 correcta, como (p. ej., NodeMCU 1.0 (ESP-12E Module)), y su puerto COM correspondiente.
  • Copia el código anterior y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para enviar el código al ESP8266.
  • Coloca un obstáculo frente al sensor durante un rato, luego retíralo.
  • Verifica los resultados en el Monitor Serial.
COM6
Send
The obstacle is detected The obstacle is cleared
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

Referencias de funciones

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!