ESP32 - Coche
Una de las cosas más geniales que puedes probar si recién empiezas con ESP32 es hacer un coche robótico. En esta guía, aprenderemos a usar ESP32 para construir un coche robótico y controlarlo con un mando a distancia por infrarrojos. Para controlar el coche robótico a través de la Web (Wi‑Fi), consulta el tutorial ESP32 controla el coche vía Web.

Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca de Robot Car
En el contexto del ESP32, el coche robot suele llamarse por diferentes nombres, como coche robot, coche RC, coche de control remoto, coche inteligente o coche DIY. Se puede controlar a distancia sin cables. Puede usarse ya sea un control remoto especial que use luz infrarroja o una aplicación para teléfonos inteligentes mediante Bluetooth o WiFi. El coche robot puede ir hacia la izquierda o hacia la derecha y también avanzar o retroceder.
Un coche con tracción en dos ruedas (2WD) para ESP32 es un pequeño vehículo robótico que puedes construir y controlar usando una placa ESP32. Generalmente consta de los siguientes componentes:
- Chasis: la base o marco del coche, donde se montan todos los demás componentes.
- Ruedas: Las dos ruedas que proporcionan locomoción al coche. Están conectadas a dos motores DC.
- Motores: Dos motores DC se utilizan para impulsar las dos ruedas.
- Controlador de motores: La placa controladora de motores es un componente esencial que hace de interfaz entre el ESP32 y los motores. Toma señales del ESP32 y proporciona la potencia y el control necesarios a los motores.
- Placa ESP32: El cerebro del coche. Lee las entradas de los sensores y los comandos del usuario y controla los motores en consecuencia.
- Fuente de alimentación: El coche de tracción en dos ruedas (2WD) requiere una fuente de alimentación, usualmente baterías y un portabaterías, para alimentar los motores y la placa ESP32.
- Receptor inalámbrico: Un módulo infrarrojo, Bluetooth o WiFi para comunicación inalámbrica con un control remoto o teléfono inteligente.
- Componentes opcionales: Dependiendo de la complejidad de tu proyecto, puedes añadir varios componentes opcionales como sensores (p. ej., sensores ultrasónicos para evitar obstáculos, sensores de seguimiento de línea), y más.
En este tutorial, para simplificarlo, usaremos:
- Kit de coche 2WD (incluye chasis, ruedas, motores, soporte para batería)
- Controlador de motor L9110S
- Kit infrarrojo (incluye controlador IR y receptor IR)
Revisa la lista de hardware en la parte superior de esta página.
Cómo funciona

- ESP32 se conecta a los motores de corriente continua del robot a través del módulo controlador de motor L9110S.
- ESP32 se conecta a un receptor IR.
- La batería alimenta al ESP32, a los motores de corriente continua, al módulo controlador de motor y al receptor IR.
- Los usuarios presionan las teclas ARRIBA/ABAJO/IZQUIERDA/DERECHA/OK en el control remoto IR.
- ESP32 recibe los comandos ARRIBA/ABAJO/IZQUIERDA/DERECHA/OK a través del receptor IR.
- El ESP32 controla el coche para avanzar/retroceder/girar a la izquierda/girar a la derecha/detenerse mediante el control de los motores de corriente continua a través del módulo controlador de motor.
Diagrama de Cableado
El siguiente diagrama muestra cómo conectar el ESP32, el controlador de motor L9110S, los dos motores DC y el receptor IR, usando una placa de pruebas para compartir las líneas comunes de alimentación y tierra:

This image is created using Fritzing. Click to enlarge image
Si no sabe c\u00f3mo alimentar ESP32 y otros componentes, encuentre instrucciones en el siguiente tutorial: C\u00f3mo alimentar ESP32.
Nota: El diagrama anterior muestra el cableado correcto. En la práctica, conectar varios cables (como las líneas compartidas de VCC y GND) en el mismo orificio del conector de pines del ESP32 no es fácil. Una solución conveniente es usar una placa de expansión con bloque de terminales de tornillo para ESP32 — se pueden asegurar varios cables en el mismo terminal de tornillo, o un cable en el tornillo y otro en el pin del conector adyacente.

This image is created using Fritzing. Click to enlarge image
El módulo L9110S alimenta los motores directamente desde sus pines VCC y GND y no tiene un regulador de 5 V integrado. Esto significa que puedes alimentar todo con una única fuente de energía: cuatro pilas AA de 1,5 V (un total de 6 V). Así es como puedes hacerlo:
- Conecta la batería de 6 V a los pines VCC y GND del módulo L9110S para alimentar los motores.
- Conecta la misma batería de 6 V a los pines Vin y GND de la placa ESP32 para alimentarla (el receptor IR se alimenta desde el pin de 5 V del ESP32).
- Asegúrate de que el módulo L9110S, la placa ESP32 y el receptor IR compartan un GND común.
A diferencia del L298N, el L9110S no tiene puentes de habilitación ENA/ENB ni una terminal de tornillo de 12 V, por lo que el cableado es más sencillo.
Código ESP32
Pasos R\u00e1pidos
- Si es la primera vez que usas ESP32, consulta cómo configurar el entorno para ESP32 en Arduino IDE.
- Instala la biblioteca DIYables_IRcontroller en el IDE de Arduino siguiendo esta instrucción.
- Realiza el cableado tal como se muestra en el diagrama de arriba.
- Desconecta el cable del Vin en el ESP32 porque alimentaremos el ESP32 a través del cable USB cuando carguemos el código.
- Da la vuelta al coche para que las ruedas queden en la parte superior.
- Conecta la placa ESP32 a tu PC mediante un cable micro USB.
- Abre el IDE de Arduino en tu PC.
- Selecciona la placa ESP32 correcta (p. ej. ESP32 Dev Module) y el puerto COM.
- Copia el código proporcionado y ábrelo en el IDE de Arduino.
- Haz clic en el botón Subir en el IDE de Arduino para transferir el código al ESP32.
- Utiliza el control remoto IR para hacer que el coche avance, retroceda, gire a la izquierda, gire a la derecha o se detenga.
- Verifica si las ruedas se mueven correctamente de acuerdo con tus comandos.
- Si las ruedas se mueven en la dirección incorrecta, intercambia los cables del motor DC en el módulo L9110S.
- También puedes ver los resultados en el Monitor Serial del IDE de Arduino.
- Si todo va bien, desconecta el cable USB del ESP32 y luego conecta de nuevo el cable al pin Vin 5V. Esto dará energía al ESP32 desde la batería.
- Haz que el coche vuelva a su posición normal con las ruedas en el suelo.
- ¡Diviértete controlando el coche!
Explicación del código
Puedes encontrar la explicación en la línea de comentarios del código de Arduino anterior.
Puede aprender más sobre el código consultando los siguientes tutoriales:
- ESP32 - Infrared Remote Control tutorial
- ESP32 - DC motor tutorial
Puedes ampliar este proyecto mediante:
- Agregar sensores de evitación de obstáculos para detener el coche inmediatamente si se detecta un obstáculo.
- Agregar una función para controlar la velocidad del coche (ver el tutorial ESP32 - motor DC). El código proporcionado controla el coche a máxima velocidad.
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.