Tutorial ESP32 19/55 - Detección de obstáculos utilizando sensor infrarrojo | Kit de aprendizaje IoT ESP32 de SunFounder

Tutorial ESP32 19/55 - Detección de obstáculos utilizando sensor infrarrojo | Kit de aprendizaje IoT ESP32 de SunFounder

En este tutorial, aprenderemos cómo utilizar un sensor de evitación de obstáculos por infrarrojos con el módulo ESP32 para detectar obstáculos. Este proyecto demostrará cómo el sensor puede activar un zumbador cuando se detecta un obstáculo. La configuración también mostrará el estado de detección en el monitor serial, proporcionando una forma clara e interactiva de observar la funcionalidad del sensor.

Estaremos trabajando con el Kit de Aprendizaje IoT SunFounder ESP32, que incluye el microcontrolador ESP32 equipado con capacidades de Wi-Fi y Bluetooth. El sensor infrarrojo funciona enviando luz infrarroja, que se reflejará en los obstáculos cercanos. Cuando la luz se refleje de vuelta, el sensor activará una señal de salida que leeremos en nuestro código. También incluiremos un zumbador que se activa cuando se detecta un obstáculo, proporcionando una alerta audible.

Hardware Explicado

Los componentes principales de este proyecto incluyen el módulo ESP32, el sensor de evitación de obstáculos por infrarrojos y un zumbador. El módulo ESP32 sirve como la unidad central de procesamiento, manejando las entradas del sensor y controlando las salidas. Se puede alimentar utilizando una batería de litio, lo que lo hace portátil y flexible para diversas aplicaciones.

El sensor de evitación de obstáculos por infrarrojos consiste en un transmisor y un receptor. El transmisor emite luz infrarroja, mientras que el receptor detecta la luz reflejada de objetos cercanos. Cuando hay un obstáculo presente, el pin de salida del sensor se pone bajo, señalando al ESP32 que tome acción, como encender el zumbador.

Detalles de la ficha técnica

FabricanteSunFounder
Número de parteSensor de evitación de obstáculos por infrarrojos
Voltaje de operación3.3 V - 5 V
Tipo de salidaDigital (Bajo cuando se detecta un obstáculo)
Rango de detecciónHasta 20 cm
Tiempo de RespuestaMenos de 10 ms
PaqueteMódulo

  • Fuente de alimentación: 3.3 V a 5 V para funcionamiento.
  • La señal de salida se baja cuando se detecta un obstáculo.
  • Sensibilidad ajustable a través de potenciómetro.
  • El rango de detección típico es de hasta 20 cm.
  • Tiempo de respuesta rápido de menos de 10 ms.

Instrucciones de cableado

ESP32-19-obstacle_voide-wiring

Para conectar el sensor de evitación de obstáculos infrarrojo al ESP32, comienza conectando el pin VCC del sensor al pin de 5V en el ESP32. Luego, conecta el pin GND del sensor a uno de los pines GND en el ESP32. Por último, conecta el pin OUT del sensor al pin GPIO 14 en el ESP32.

Para el zumbador, conecta el terminal negativo a GND y el terminal positivo al pin GPIO 27. Asegúrate de que todas las conexiones estén seguras y de que el sensor esté alimentado correctamente. El cableado debería ser sencillo, ya que el sensor y el zumbador solo requieren conexiones de alimentación y señal simples.

Ejemplos de código y recorrido

En el código, primero definimos el pin conectado al sensor de evitación de obstáculos. Esto se hace utilizando el identificador.avoidPinestablecer en 14. También declaramos una variableavoidStatepara mantener el estado de salida del sensor.

const int avoidPin = 14;  // the number of the avoid module pin

int avoidState = 0;

En la función de configuración, inicializamos la comunicación serie y configuramos elavoidPincomo entrada. Esto permite que el ESP32 lea el estado de salida del sensor.

void setup() {
  Serial.begin(115200);  
  pinMode(avoidPin, INPUT);
}

Dentro de la función loop, leemos continuamente la salida del sensor utilizandodigitalRead(avoidPin)y almacena el resultado enavoidStateEste valor se imprime en el monitor serial, lo que nos permite ver cuándo se detecta un obstáculo (la salida será 0) o no (la salida será 1).

void loop() {
  avoidState = digitalRead(avoidPin);
  Serial.println(avoidState);
}

Para el código completo, por favor consulta la sección de carga debajo del artículo.

Demostración / Qué Esperar

Cuando la configuración esté completa y el código esté cargado, deberías ver el monitor serie mostrando un 0 o un 1 dependiendo de si se detecta un obstáculo. Cuando un obstáculo está dentro del rango de detección, la salida mostrará 0 y el zumbador sonará. Si se retira el obstáculo, la salida mostrará 1 y el zumbador se detendrá. Esta funcionalidad se demuestra en el video (en el video a las 12:30).

Los problemas comunes pueden incluir un cableado incorrecto, lo que podría hacer que el sensor no funcione correctamente, o velocidades de baudios desiguales en el monitor serial, lo que impide que los datos se muestren con precisión. Asegúrate de revisar estos aspectos si encuentras problemas.

Tiempos del video

  • 00:00 Inicio
  • 1:57 Introducción del proyecto
  • 4:33 Cableado de evitación de obstáculos
  • 5:55 Código de Arduino para Evitar Obstáculos
  • 7:36 Seleccionando la placa ESP32 y el puerto COM en el IDE de Arduino
  • 9:18 Demostración del proyecto
  • 10:42 Ajustando el rango de aumento de sensibilidad
  • 12:39 Tomando acción cuando se detecta un obstáculo
  • 14:24 Usando un timbre cuando se detecta un obstáculo

Imágenes

ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-schematic
ESP32-19-obstacle_voide-wiring
ESP32-19-obstacle_voide-wiring
818-ESP32 Tutorial 19/55- Arduino code for obstacle avoidance module
Idioma: C++
¡Copiado!

Recursos y referencias

Archivos📁

No hay archivos disponibles.