How to Create a Line-Following Robot Using Infrared Sensors
Table of Contents
Construir un robot de seguimiento de línea es un proyecto clásico pero altamente instructivo para cualquier persona que se sume en robótica, sistemas embebidos y control sensorial. Al combinar un microcontrolador simple, sensores infrarrojos y un conductor de motor, puede crear una máquina que siga autónomamente una línea oscura o ligera en un fondo contrastante. Esta guía se expande en cada aspecto de la construcción —desde la física de sensores IR hasta la línea avanzada de aprendizaje y solución de problemas.
Comprensión de sensores infrarrojos para detección de líneas
Los sensores infrarrojos (IR) son los ojos de su robot. Funcionan emitiendo luz infrarroja de un LED y midiendo la cantidad reflejada de nuevo a un fotodetector. Cuando el robot viaja sobre una superficie, la reflectividad cambia: una superficie blanca o ligera refleja más luz IR, mientras que una superficie negra o oscura la absorbe. El sensor produce una tensión analógica o una señal digital HIGH/LOW dependiendo del umbral fijado en el módulo.
La mayoría de los sensores de línea IR de grado hobby utilizan un chip comparador (como el LM393) para convertir la lectura analógica en una señal digital limpia. La sensibilidad es ajustable a través de un pequeño potenciómetro en el módulo. Para línea siguiente, usted utiliza normalmente dos o más sensores colocados lado a lado en la parte frontal del robot. Cuando el robot está centrado en la línea, ambos sensores ven la línea (o ambos versa).
Selección de los módulos de sensores adecuados
Las opciones comunes incluyen el TCRT5000 y el KY‐033. TCRT5000 módulo está ampliamente disponible, barato y funciona bien en la mayoría de superficies con suficiente contraste. KY‐033 El tablero tiene el mismo chip pero un diseño diferente del pin. Siempre compruebe la compatibilidad con el nivel lógico del microcontrolador (3.3 V o 5 V). Para un Arduino Uno (5 V), cualquier módulo tolerante de 5 voltios funcionará. Si está usando una tabla de 3.3 V como un ESP32, seleccione módulos que pueden operar a ese voltaje o agregue un desplazador de nivel.
Para un robot más robusto, considere usar tres o incluso cuatro sensores. Un array de tres sensores le da una condición “perdida” que puede desencadenar una rutina de búsqueda, mientras que cuatro sensores permiten correcciones similares a PID. Sin embargo, una configuración de dos sensores es perfectamente adecuado para aprender los fundamentos.
Materiales y Herramientas
A continuación se muestra una lista completa de los hardware que necesitará. La mayoría de los artículos están disponibles en tiendas de electrónica en línea o tiendas de fabricantes locales.
- Microcontrolador: Arduino Uno, Nano, o compatible (por ejemplo, Elegoo, SparkFun RedBoard).
- Módulos de sensores IR: Dos módulos TCRT5000 o KY‐033 (ajustable).
- Módulo de conductor motor: L298N o L293D H-bridge basado. El L298N es muy común y puede conducir dos motores DC independientemente.
- Motores DC con ruedas: Dos motores de 3-6 V engranaje, preferiblemente con encoders (opcional para el control de velocidad).
- Chassis: Robot kit de chasis de coche (acrilico o metal, con agujeros de montaje para motores y ruedas).
- Suministro de energía: Paquete de batería (6 V / 4×AA o 7.4 V Li‐Po). El Arduino puede ser alimentado a través de su pin VIN o USB, pero los motores de conducción de la misma fuente pueden causar ruido. Se recomienda una batería separada para los motores para principiantes.
- Cables de pan y saltador: Una pequeña panadería sin soldadura simplifica el prototipado; utilizar alambres masculinos a femeninos y masculinos a machos.
- Multimetros: Para comprobar voltajes y continuidad.
- Herramientas: Tiradores de alambre, destornillador, pistola de pegamento caliente (para asegurar sensores).
- Material de seguimiento: Cinta eléctrica negra en póster blanco, o una pista impresa en papel mate. Asegurar un buen contraste.
Construyendo el Robot: Asamblea mecánica
Chasis y montaje de motor
Comience por conectar los dos motores DC al chasis según las instrucciones del kit. La mayoría de los kits proporcionan soportes o una placa de tornillo. Asegúrese de que las ruedas giran libremente y están alineadas paralelamente entre sí. Adjunte una rueda de la rueda o un cojinete de bolas en la parte delantera o trasera para mantener el robot estable. Los sensores IR se montarán en la parte delantera, por lo que el lanzador debe ser situado enfrente del lado del sensor para evitar interferencia.
Montaje de los sensores de IR
Colocar los dos módulos de sensores IR en la parte delantera del chasis, espaciados unos 3–5 cm. El espaciamiento exacto depende de la anchura de la línea que se pretende seguir (típicamente 15–20 mm). Una buena regla del pulgar es colocar los sensores para que cuando el robot esté centrado, el sensor izquierdo esté justo dentro del borde izquierdo de la línea y el sensor derecho esté justo dentro del borde derecho.
Conexión de los componentes
Ahora para las conexiones eléctricas. Usa una tabla de pan para distribuir energía y señales a menos que se vende directamente. El siguiente mapa de cableado asume un Arduino Uno y un conductor de motor L298N. Verifique doblemente la pinout de su módulo de sensor: la mayoría tienen VCC, GND y OUT (digital). Algunos también tienen un pin de habilitación o una salida analógica – utilizaremos la salida digital para la simplicidad.
- Poder: Conecte el terminal positivo del paquete de baterías al motor +12 V (o entrada de potencia) y el GND del controlador a la batería negativa. Si sus baterías son 6 V (4×AA), la salida 5 V del controlador puede encender el Arduino y sensores a través de su pin de 5 V. De lo contrario, alimentar el Arduino por separado del USB o una segunda batería.
- Motor driver:
- Conectar los dos motores a los Out1/OUT2 y OUT3/OUT4 del conductor.
- Conectar los pines ENA y ENB del controlador (pueden) a los pines digitales Arduino 5 y 6 (capaz de PWM).
- Conectar IN1, IN2, IN3, IN4 a los pines digitales Arduino 7, 8, 9, 10.
- Conecte la salida 5 V del controlador al pin 5 V del Arduino (si utiliza la misma batería) o deje desconectado si se alimenta Arduino por separado.
- Sensores IR:
- Sensor izquierdo VCC → Arduino 5 V, GND → GND, OUT → Arduino digital pin 2.
- Sensor derecho VCC → 5 V, GND → GND, OUT → Arduino digital pin 3.
- Terreno común: Conectar todos los GNDs juntos (Arduino, conductor de motor, sensores, batería).
Después de cablear, comprobar las conexiones de doble punto antes de encender. Utilice un multimetro para verificar que el tren de 5 V es de hecho 5 V y que no existen cortos.
Programación de la lógica
El programa lee continuamente las dos salidas de sensores y decide las acciones motoras. A continuación se muestra un completo boceto Arduino que implementa un controlador básico de flequillo. El robot girará a la izquierda o a la derecha dependiendo de qué sensor vea la línea, y se detendrá si ninguno sensor detecta la línea (condición perdida).
Nota sobre la lógica sensor: El código anterior asume la salida de los módulos de sensor LOW cuando detectan la línea (línea negra sobre fondo blanco). Muchos módulos tienen un indicador LED activo-bajo. Si sus sensores producen HIGH en la detección, invierta las condiciones (cambiar ] a ] en los estados si, o ajuste el potenciómetro del módulo.
Calibrando los sensores
Antes de ejecutar el código, coloque el robot sobre la línea y ajuste el potenciómetro de cada sensor para que salga LOW cuando en la línea y ALTO cuando en el fondo. Utilice el Monitor de serie Arduino para leer los valores del pin:
Desenrolla las ollas de corte hasta que obtengas lecturas consistentes. Los sensores deben ser suficientemente sensibles para detectar la línea desde una distancia de 10–15 mm.
Pruebas y solución de problemas
Coloca el robot en una sección recta de la pista y enciende. Si el robot no se mueve como se esperaba, compruebe lo siguiente:
- Poder: ¿Los motores reciben suficiente voltaje? El L298N necesita al menos 7 V para una operación adecuada, pero muchos trabajan hasta 6 V con par reducido. Si el robot se mueve lentamente o no, pruebe una batería más fresca o aumente el ciclo de servicio PWM.
- Adaptación del sensor: ¿Los dos sensores están equidistant desde la línea cuando el robot está centrado? Ajustar la posición de montaje.
- Conexiones de motor: Verifique que los motores izquierdo y derecho están correctamente cableados. Si el robot gira en su lugar cuando debe ir hacia adelante, cambiar los cables de motor en un canal.
- Inversión logística: Si el robot gira de la manera equivocada (por ejemplo, se dirige a la derecha cuando el sensor izquierdo ve la línea), cambiar los pines de dirección del motor en el código o cambiar las conexiones del sensor.
Para problemas persistentes, cree un simple boceto de prueba que mueve cada motor de forma independiente para confirmar la integridad del hardware. También comprueba que los módulos del sensor no están montados en un ángulo que crea un punto ciego.
Rendimiento y mejora de la actuación profesional
Ajuste de velocidad y radio de giro
El controlador Bang-bang funciona bien a velocidades lentas (valores PWM alrededor de 150–200). A velocidades más altas, el robot puede sobresuelvar la línea. Puede implementar un control proporcional leyendo la salida analógica de los sensores (si está disponible) y ajustando las velocidades de motor en consecuencia. Un enfoque simple “PID-like” utiliza la diferencia entre los valores de sensor izquierdo y derecho para variar continuamente las velocidades de motor.
Añadiendo un tercer o cuarto sensor
Con tres sensores, puede detectar cuando el robot está completamente fuera de la línea e implementar un patrón de “busca” (por ejemplo, girando en su lugar hasta que cualquier sensor vuelva a recoger la línea. Cuatro sensores permiten la dirección diferencial que imita un bot de competición de línea real. Muchas bibliotecas de código abierto, como la de la línea ROBOTIS line‐follower library, proporcionar algoritmos avanzados.
Usando un módulo LCD o Bluetooth
Para depurar y afinar, conecte un LCD I2C (16×2) para mostrar valores de sensores y estado actual. Alternativamente, utilice un módulo Bluetooth HC‐05 para enviar telemetría a una aplicación de smartphone. Esto es especialmente útil cuando el robot se mueve.
Gestión de la energía
Si su robot funciona con baterías, considere agregar un regulador de tensión para proporcionar 5 V estable para el Arduino y sensores. Una batería separada 7.4 V Li‐Po para los motores y una UBEC 5 V para la tabla de lógica puede mejorar dramáticamente el rendimiento. Además, añadir un condensador grande (470 μF o más) a través de la entrada de potencia del motor para los picos de tensión lisa.
Ampliación del proyecto: Más allá del seguidor de línea básica
Una vez que su robot sigue de forma fiable una línea negra simple, puede extenderlo de muchas maneras:
- Evitación del obstáculo: Agregue un sensor ultrasónico (HC‐SR04) y programe el robot para detener o rodear objetos que aparecen en la línea.
- Coincidencias e intersecciones de líneas: Use más sensores para detectar las tiradas T y las curvas de ángulo derecho. Esto permite al robot navegar por un laberinto.
- Control inalámbrico: Integrar un módulo Wi-Fi (ESP8266/ESP32) para recibir comandos de un ordenador o teléfono, útiles para la telepresencia o coordinación multi-robot.
- Registro de datos: Utilice un módulo de tarjeta SD para registrar datos de registro de sensores para analizar el rendimiento del robot.
Para la inspiración y el apoyo comunitario, consulte los siguientes recursos:
- Tutoriales oficiales de Arduino – especialmente los ejemplos de “Inputación de Analógico” y “Motor Knob”.
- Cómo Mechatronics L298N Tutorial – cableado detallado y control PWM.
- TCRT5000 Ficha técnica – especificaciones técnicas para el sensor reflectante.
Conclusión
Construir un robot de seguimiento de línea con sensores infrarrojos es una combinación perfecta de montaje de hardware y lógica de software. Enseña la implementación práctica de retroalimentación de sensores, control de motores y algoritmos de toma de decisiones. Siguiendo esta guía, habrás construido un robot totalmente funcional que puede navegar autónomamente por una pista. Más importante aún, habrás adquirido las habilidades para solucionar problemas, iterar y mejorar el diseño.