Este repositorio contiene el código base y la documentación necesaria para participar en Proyecto Balam de la categoría Robofut. Cada participante recibe un kit que incluye:
- Shield diseñada por nuestro equipo.
- ESP32 diseñada por nuestro equipo.
- Módulo de control de motores TB6612FNG diseñado por nuestro equipo.
- Base
- Brackets de Unión
- Soporte de micro motor
- Paleta
- Tornillos necesarios
- Motores DC (amarillo)
- Micro DC
- Ruedas locas
- Baterías
A continuación encontrarás información sobre el pinout, la instalación, ejemplos de uso y recomendaciones.
El repositorio se divide en las siguientes secciones:
├── assets/
│ └── images/ # Diagramas y recursos gráficos
├── examples/ # Ejemplos de uso simplificados
│ ├── motor_basic/
│ │ └── motor_basic.ino # Movimiento básico de motores
│ └── controller_base/
│ └── controller_base.ino # Integración Bluepad + motores
├── libs/ # Librerías de terceros
│ ├── TB6612FNG/
│ └── Battery_Balam/ # Librería para la revisión de la batería
└── README.md # Documentación principal
- Hardware
- Diagrama de Pines
- Instalación
- Bibliotecas
- Control de Motores
- Uso de Mando (PS4)
- Recomendaciones
- Contribuciones
- Shield: Placa de expansión que facilita la conexión de motores y sensores.
- ESP32: Microcontrolador programable con conectividad Wi-Fi y Bluetooth.
- TB6612FNG: Driver de puente H para control de hasta 4 motores DC.
Figura 1: Pinout ESP32 diseñada por Tesla Lab
| Conexión | Función | GPIO ESP32 |
|---|---|---|
| M1_AIN1 | Motor 1 dirección A | 5 |
| M1_AIN2 | Motor 1 dirección B | 18 |
| M1_PWM | Motor 1 velocidad | 15 |
| M2_BIN1 | Motor 2 dirección A | 27 |
| M2_BIN2 | Motor 2 dirección B | 14 |
| M2_PWM | Motor 2 velocidad | 2 |
| M3_AIN1 | Motor 3 dirección A | 32 |
| M3_AIN2 | Motor 3 dirección B | 33 |
| M3_PWM | Motor 3 velocidad | 12 |
| M4_BIN1 | Motor 4 dirección A | 25 |
| M4_BIN2 | Motor 4 dirección B | 26 |
| M4_PWM | Motor 4 velocidad | 13 |
-
Abre Arduino IDE.
-
Ve a Archivo → Preferencias.
-
En Ajustes, busca Gestor de URLs Adicionales de Tarjetas.
-
Pega esta URL:
https://dl.espressif.com/dl/package_esp32_index.json, https://raw.githubusercontent.com/ricardoquesada/esp32-arduino-lib-builder/master/bluepad32_files/package_esp32_bluepad32_index.json -
Haz clic en OK.
-
Ve a Herramientas → Placa → Gestor de tarjetas.
-
Busca ESP32, selecciona ESP32 Dev Module e instala
** NOTA: Para evitar problemas de compatibilidad con la librería TB6612FNG utiliza la versión 2.0.17
- Busca esp32_bluepad32 de Ricardo Quesada e instala.
- Descarga el driver CH430 para Windows.
- Descomprime el ZIP o ejecuta el EXE.
- Ejecuta SETUP.exe y selecciona CH341SER.INF.
- Haz clic en Install.
- Sigue esta guía: Instalación driver CH340
- Ubicada en la carpeta
lib/TB6612FNG. - Revisa la hoja de datos de SparkFun para entender su uso.
Puedes utilizar tu teléfono como control para la ESP32
- Descarga la aplicación Dabble para Android o iOS.
- Revisa la documentación: https://ai.thestempedia.com/docs/dabble-app/getting-started-with-dabble/
La board y librería esp32_bluepad32 permite usar gamepads Bluetooth (PS4, Xbox, controles genéricos) con la ESP32. El ejemplo dado utiliza el ejemplo base de la librería para conectar con distintos controles. Para encontrar más información puedes explorar los siguientes enlaces:
- Documentación de la librería: https://bluepad32.readthedocs.io/en/latest/
- Controles compatibles: https://bluepad32.readthedocs.io/en/latest/supported_gamepads/
- Tutorial para uso de la librería: https://racheldebarros.com/esp32-projects/connect-your-game-controller-to-an-esp32/
Una librería creada por JoseL-DM en la que se incluye un ejemplo de uso de los módulos de carga para encontrar la carga de la batería y mostrarlo en los neopixeles del shield.
- Repositorio de la librería: https://github.com/JoseL-DM/Battery
NOTA: Puedes encontrar un zip para instalar la librería en la carpeta
lib/Battery_Balamen el repositorio del proyecto.
- Control digital:
digitalWrite(IN1, HIGH/LOW)para dirección. - Control PWM:
analogWrite(PWM, 0–255)para velocidad.
Para emparejar un control (PS4, XBOX, etc):
- Obtén la MAC de la ESP32, puedes utilizar una aplicación o conectarlo a una computadora para encontrar la dirección.
- Usa el programa de actualización de MAC: Descargar
- Actualiza la MAC y conecta el mando.
- Utiliza la versión 2.0.17 de la ESP32 para evitar problemas de compatibilidad con la librería TB6612FNG.
- Desactiva el switch de la placa al conectarla al PC.
- Asegúrate de que las baterías tengan suficiente carga
- Verifica conexiones antes de programar.
- Revisa la polaridad al colocar baterías.
Tip: ¡Libera tu creatividad y mejora el código base!
© 2025 TeslaLab - Grupo Intelecto
