Un coche de Arduino dibuja el recorrido mientras esquiva las paredes
Luca Fagioli muestra un coche de cuatro ruedas que explora un circuito con ultrasonidos y dibuja sus paredes por Wi-Fi. Un proyecto abierto para entender cómo navega.

El coche se detiene, mueve de lado a lado sus dos «ojos» y vuelve a avanzar entre las paredes de un circuito de colores. A su lado, en una pantalla, aparece el trazado que va descubriendo. Es la demostración de Luca Fagioli, que convierte un chasis de cuatro ruedas y una placa Arduino en un pequeño explorador.
Su proyecto, 4WD SLAM Radar 2D Robot Car, se publicó en Hackaday.io el 27 de octubre [en]. Hackaday lo destacó al día siguiente por utilizar ultrasonidos para cartografiar el entorno. La gracia está en ver juntas dos cosas distintas: cómo el robot encuentra espacio para pasar y cómo representa lo que cree haber recorrido.
Los «ojos» escuchan el eco
Los dos cilindros del frontal pertenecen a un sensor HC-SR04: emite sonido y mide el tiempo que tarda en regresar el eco. Un pequeño servomotor gira el conjunto para mirar en varias direcciones. Aunque el nombre del proyecto diga radar, la medición se hace con sonido, no con ondas de radio.
Según la documentación del montaje, el coche toma siete medidas repartidas por su arco frontal antes de decidir el siguiente movimiento. Una Arduino UNO R4 WiFi gobierna la exploración y envía las lecturas a una página web, donde se dibujan las paredes. Los sensores infrarrojos de los bajos sirven para reconocer una marca negra de llegada.
En el vídeo se aprecia ese avance a pequeños pasos, con pausas para explorar y maniobras al acercarse a las curvas. Es un montaje de aficionado con código publicado, dentro del mundo de los robots educativos, y no una demostración de un navegador comercial listo para cualquier vivienda.
Esquivar una pared y dibujarla son problemas diferentes
El programa que mueve el coche compara las distancias para avanzar o escoger un giro. Cuando empieza una curva, conserva la dirección elegida hasta encontrar espacio delante: así evita cambiar de idea a mitad de maniobra y regresar por donde vino.
La posición del mapa se calcula de otra manera. El código estima cuánto ha avanzado a partir del tiempo que han girado los motores y aplica un ángulo calibrado a cada giro. No mide el desplazamiento de las ruedas con encoders, unos sensores que permitirían registrar su rotación. Si las ruedas patinan, la distancia estimada puede separarse de la real.
Aunque el autor lo presenta como SLAM —localización y creación de mapas simultáneas—, el código publicado no utiliza las paredes dibujadas para corregir esa posición estimada. Es una diferencia relevante frente a interpretar la pantalla como un plano preciso del circuito.
La interfaz de visualización también limpia puntos cercanos a la trayectoria registrada, para quitar paredes falsas del espacio por el que supuestamente ha pasado. El dibujo, por tanto, combina mediciones y reglas de limpieza. Frente a un micromouse compacto como Pi:Co V2, este montaje deja especialmente a la vista el proceso: el coche puede reaccionar a una pared que tiene delante mientras su representación del recorrido acumula errores.
Fuentes
- Luca Fagioli — presentación del proyecto y fecha de publicación en Hackaday.io [en]
- Luca Fagioli — repositorio del montaje, componentes y funcionamiento [it]
- Luca Fagioli — código de navegación y estimación de la posición
- Luca Fagioli — código de la visualización y limpieza del mapa
- Hackaday, Zoe Skyforest — cobertura del 28 de octubre sobre navegación con Arduino y ultrasonidos [en]
- Luca Fagioli — vídeo original del coche y del mapa durante la exploración
- Imagen: Luca Fagioli — fotografías del robot publicadas en su proyecto; adaptadas a formato de cabecera
Sigue explorando
Robots relacionados
Descubre sus fichas y todo lo que hemos contado sobre ellos.