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 (30 sensors/displays) | |
| 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 L298N
- 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 L298N.
- 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

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.

Normalmente, se requieren dos fuentes de energía:
- Uno para el motor (indirectamente a través del módulo L298N).
- Otro para la placa ESP32, el módulo L298N y el receptor IR.
Sin embargo, hay un método para simplificar esto usando únicamente una fuente de energía para todo. Puedes lograrlo utilizando cuatro baterías de 1,5 V (un total de 6 V). Así es como puedes hacerlo:
- Conecta las baterías al módulo L298N como se muestra en el diagrama.
- Retira dos jumpers que conectan los pines ENA y ENB a 5 voltios en el módulo L298N.
- Coloca un jumper etiquetado 5VEN, que está marcado con un círculo amarillo en el diagrama.
- Conecta el pin 12V en la terminal de tornillo del módulo L298N al pin Vin de la placa ESP32. Esto proporciona energía al ESP32 directamente de las baterías (6V).
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 L298N.
- 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.