Tutorial ESP32 20/55 - Módulo de seguimiento de línea | Kit de aprendizaje IoT ESP32 de SunFounder

Tutorial ESP32 20/55 - Módulo de seguimiento de línea | Kit de aprendizaje IoT ESP32 de SunFounder

En este tutorial, aprenderemos a usar el módulo ESP32 junto con el módulo de seguimiento de líneas para detectar líneas negras en una superficie blanca. Esta capacidad es esencial para aplicaciones como coches robóticos que necesitan seguir un camino designado. Además, integraremos un zumbador que se activa cuando el módulo de seguimiento de líneas detecta la línea negra, mejorando el mecanismo de retroalimentación de nuestro proyecto. Para más aclaraciones, consulte el video (en el video a las 0:00).

line_track

Hardware Explicado

Los componentes principales de este proyecto incluyen el módulo ESP32, un módulo de seguimiento de línea y un zumbador. El módulo ESP32 es un microcontrolador potente que cuenta con capacidades de Wi-Fi y Bluetooth integradas, lo que permite una amplia gama de aplicaciones de IoT. El módulo de seguimiento de línea utiliza un emisor de infrarrojos y un fotorresistor para detectar diferencias en el color de la superficie en función de la intensidad de la luz infrarroja reflejada.

El módulo de seguimiento de líneas funciona emitiendo luz infrarroja que se refleja en la superficie que tiene debajo. Una superficie más oscura, como el negro, absorbe más luz, lo que resulta en una menor intensidad reflejada, mientras que una superficie más clara, como el blanco, refleja más luz, produciendo una mayor intensidad. Esta diferencia es procesada por un amplificador operativo para determinar el estado de la superficie (negra o blanca) y emitir una señal correspondiente.

Detalles de la hoja de datos

Fabricante SunFounder
Número de parte TCRT5000
Voltaje de lógica/entrada-salida 3.3 V a 5 V
Corriente de salida (por canal) 20 mA
Corriente pico (por canal) 50 mA
Tiempo de respuesta < 10 ms
Rango de detección 1 cm a 5 cm
Paquete Módulo con pines de encabezado
Notas / variantes Comúnmente utilizado en robots que siguen líneas

  • Asegúrese de suministrar la energía adecuada (3.3 V o 5 V).
  • Mantén el sensor limpio para obtener lecturas precisas.
  • Ajuste la sensibilidad usando el potenciómetro integrado.
  • Verifica las conexiones para evitar entradas flotantes.
  • Utiliza resistencias pull-up si es necesario para lecturas estables.
  • Minimizar la interferencia de fuentes infrarrojas ambientales.

Instrucciones de cableado

ESP32-20_line-tracking-wiring

Para cablear el módulo de seguimiento de línea al ESP32, comienza conectando el pin de tierra del módulo a un pin de tierra en el ESP32. Luego, conecta el pin V+ del módulo de seguimiento de línea a una fuente de alimentación adecuada, ya sea 3.3 V o 5 V en el ESP32. El pin de señal (etiquetado comoSdebería estar conectado a GPIO 14 en el ESP32. Asegúrate de que estas conexiones estén seguras antes de continuar.

Si estás usando un zumbador, conecta su terminal negativo a tierra y el terminal positivo a GPIO 27 en el ESP32. Esta configuración permite que el zumbador se active cuando el módulo de seguimiento de línea detecta una línea negra. Asegúrate de verificar todas las conexiones para asegurarte de que coincidan con los pines especificados en el código.

ESP32-20_diagrama-de-seguimiento-de-línea

Ejemplos de código y guía paso a paso

A continuación se muestra un extracto clave del código que configura el módulo de seguimiento de línea. La variablelinePinse define para representar el pin conectado al módulo de seguimiento de línea.

const int linePin = 14;  // The number of the line track module pin

Esta línea inicializalinePincomo pin 14, que se utilizará para leer el estado de la línea. EllineStatela variable contendrá el resultado del sensor.

En elsetup()función, configuramos el modo del pin paralinePincomo entrada.

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

Esto asegura que el ESP32 puede leer el estado del módulo de seguimiento de línea. La comunicación serial se inicia a una velocidad de 115200 baud para monitorear la salida.

Finalmente, en elloop()función, leemos continuamente el estado del módulo de seguimiento de línea e imprimimos el color detectado.

void loop() {
  lineState = digitalRead(linePin);
  if (lineState == HIGH) {
    Serial.println("Black");
    delay(100);
  } else {
    Serial.println("White");
    delay(100);
  }
}

Este bucle verifica si ellineStatees ALTO (indicando negro) o BAJO (indicando blanco) y imprime el resultado en el monitor serial. El código completo se carga abajo del artículo para tu referencia.

Demostración / Qué Esperar

Una vez que el cableado esté completo y el código esté cargado, deberías observar que el ESP32 imprime "Negro" cuando el módulo de seguimiento de línea está sobre una superficie negra, y "Blanco" cuando está sobre una superficie blanca. Además, el zumbador sonará cuando el módulo detecte la línea negra, proporcionando una alerta audible. Ten cuidado con la configuración del potenciómetro, ya que configuraciones demasiado sensibles pueden llevar a un comportamiento errático (en el video a las 10:00).

Sellos de tiempo del video

  • 00:00 Comenzar
  • 2:22 Introducción al módulo de seguimiento de línea
  • 5:10 Página de documentación
  • 9:20 Explicación del cableado
  • 10:49 Explicación del código de Arduino
  • 13:36 Seleccionando la placa ESP32 y el puerto COM en Arduino IDE
  • 15:18 Demostración
  • 18:15 Proyecto: Seguimiento de línea con zumbador
  • 19:52 Código Arduino para seguimiento de línea y zumbador
  • 20:52 Demostración

Imágenes

ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-schemtaic
ESP32-20_line-tracking-wiring
ESP32-20_line-tracking-wiring
line_track
line_track
819-ESP32 Tutorial 20/55- Arduino code line tracking
Idioma: C++
¡Copiado!

Recursos y referencias

Archivos📁

No hay archivos disponibles.