Control de Motores con ESP32-CAM y Joystick Analógico Usando Thonny
En este proyecto creamos un robot controlado por joystick analógico usando un ESP32-CAM, un driver DRV8833 para los motores DC y un módulo bidireccional TTL TXS0108E para adaptar los niveles de señal. Además, implementamos un servidor web que permite manejar el robot desde cualquier navegador, mostrando la transmisión de video en vivo y un joystick virtual en pantalla.
ESP32-CAM
El ESP32-CAM es un módulo compacto que combina un microcontrolador ESP32 con una cámara OV2640.
Entre sus características principales destacan:
- Procesador dual-core de 240 MHz.
- Conectividad Wi-Fi y Bluetooth.
- Soporte para microSD.
- Compatible con MicroPython y Arduino IDE.
En este proyecto, el ESP32-CAM sirve como cerebro del robot, procesando las señales del joystick virtual y generando las señales PWM para controlar la velocidad y dirección de los motores.
Módulo Bidireccional TTL TXS0108E
El TXS0108E es un convertidor de nivel lógico bidireccional que nos permite adaptar los voltajes de distintos módulos:
- Convierte señales de 3.3V a 5V y viceversa.
- Compatible con I2C, SPI, UART y GPIO digitales.
- Protege los microcontroladores que funcionan a distintos niveles lógicos.
En nuestro proyecto, este módulo asegura que las señales de control del ESP32-CAM (3.3V) sean compatibles con el DRV8833, que opera con 5V en la lógica de entrada, evitando daños y errores de comunicación.
Driver de Motor DRV8833
El DRV8833 es un driver de motor DC dual H-Bridge que permite controlar la velocidad y dirección de dos motores usando señales PWM.
Conexiones para armar el Robot ESP32CAM
Cómo configurar el intérprete MicroPython en la ESP32-CAM usando Thonny
Para poder programar una ESP32-CAM con MicroPython es necesario instalar un firmware especial (.bin) en la memoria del módulo. Este archivo contiene el intérprete de MicroPython y permite que Thonny se comunique directamente con la placa.
1) Descargar el firmware (.bin)
Descarga el archivo de firmware recomendado para ESP32-CAM (OV2640 + PSRAM) desde el siguiente enlace:
2) Material necesario
- Ordenador con Thonny instalado.
- Adaptador USB-TTL (FTDI, CP210x, CH340, etc.).
- Cables Dupont para las conexiones.
- Fuente de 5 V estable (500 mA–1 A) para alimentar la cámara.
3) Conexiones físicas para modo programación
- FTDI TX → ESP32 RX (U0R)
- FTDI RX → ESP32 TX (U0T)
- FTDI GND → GND ESP32-CAM
- FTDI VCC → 5 V ESP32-CAM
Para entrar en modo bootloader conecta el pin GPIO0 a GND y luego pulsa el botón RESET (o desconecta y conecta la alimentación).
4) Flashear el firmware con Thonny
- Abre Thonny y ve a Tools → Options → Interpreter.
- En Interpreter selecciona MicroPython (ESP32) y elige el puerto COM correspondiente.
- Pulsa Install or update firmware.
- Haz clic en Browse… y selecciona el archivo
firmware.bin
descargado. - Marca la opción Erase flash before installing (recomendado) y pulsa Install.
- Espera a que termine el proceso (aprox. 1–2 minutos).
5) Reinicio y prueba
Una vez instalado, quita el puente entre GPIO0 y GND y pulsa RESET. En Thonny deberías ver el prompt >>>
(REPL) listo para ejecutar código MicroPython.
6) Subir scripts y probar la cámara
Consejo: la cámara consume picos de corriente, asegúrate de usar una fuente de 5 V estable para evitar reinicios.