Introducción
¿Te imaginas controlar un robot como si estuvieras dentro de Minecraft? En este tutorial aprenderás paso a paso cómo crear tu propio robot Minecraft con control web, diseño impreso en 3D y una interfaz inspirada en el videojuego.
Tabla de contenidos
Lista de Materiales
Materiales necesarios para construir tu robot Minecraft desde cero.
Cantidad | Material | Función |
---|---|---|
2 | Micromotores 6V 100 RPM | Proporcionan el movimiento del robot |
2 | Ruedas N20 | Acopladas a los micromotores para desplazamiento |
1 | Rueda loca mini | Estabiliza la parte delantera del robot |
1 | ESP32 | Microcontrolador principal del robot |
1 | DRV8833 | Driver para el control de motores DC |
1 | Baquelita perforada 7x5 cm | Base para montar y soldar los componentes |
1 | Switch de palanca | Permite encender o apagar el sistema |
1 | Batería de 9V | Fuente de alimentación principal |
1 | Conector de batería | Enlaza la batería al sistema eléctrico |
1 | 2 metros de alambre de timbre | Para realizar las conexiones eléctricas |
1 | Estaño + cautín | Para soldar los componentes en la baquelita |
2 | Tornillos autoperforantes 12.7 x 2.5 mm | Fijan el cuerpo del robot |
4 | Tornillos M3 x 10 mm | Sujetan los soportes de los motores |
2 | Tornillos M3 x 30 mm | Fijan la baquelita a la base del robot |
3 | Regletas de espadines hembra | Permiten montar la ESP32 y el driver de forma desmontable |
Impresión 3D
Configura tu impresora 3D fácilmente para imprimir todas las piezas del robot Minecraft. Descarga los archivos STL dando clic en el botón de descarga.
Base del Robot (estructura inferior)
Material: PLA (color negro).
Calidad de impresión: Estándar.
Relleno: 15%.
Patrón de relleno: Octeto.
Velocidad de impresión: 80 mm/s.
Soportes: No se requieren.
Adherencia en la placa de impresión: Falda.
Nota: Esta pieza no necesita ningún soporte adicional. Se recomienda pintar zonas específicas en amarillo con pintura acrílica.
Cuerpo del Robot (estructura principal)
Material: PLA (color negro).
Calidad de impresión: Estándar.
Relleno: 15%.
Patrón de relleno: Octeto.
Velocidad de impresión: 70 mm/s.
Soportes: Sí, soporte simple en todas las zonas.
Adherencia en la placa de impresión: Falda.
Nota: El diseño del ojo tiene un corte de 1 mm que puede generar imperfecciones. Se recomienda lijar o limar suavemente esa zona para mejorar el acabado.
Alas Izquierda y Derecha
Material: PLA (color negro).
Calidad de impresión: Estándar.
Relleno: 20%.
Patrón de relleno: Octeto.
Velocidad de impresión: 60 mm/s.
Soportes: No se requieren.
Adherencia en la placa de impresión: Falda.
Nota: Se pueden pintar al gusto para darles un acabado personalizado.
Accesorios decorativos y estructurales
Incluye:
2 antenas
2 cejas
2 soportes para motores
2 soportes para la baquelita
2 ojos
Configuración recomendado:
Material: PLA (preferiblemente negro; opcional blanco para ojos y cejas).
Calidad de impresión: Estándar.
Relleno: 20%.
Patrón de relleno: Octeto.
Velocidad de impresión: 60 mm/s.
Soportes: No se requieren.
Adherencia en la placa de impresión: Falda.
Nota: Puedes agrupar estas piezas en una sola impresión. Si no tienes PLA blanco, imprímelas en negro y pinta los ojos y cejas con acrílico.
Diagrama de Conexiones
Sigue esta guía paso a paso para soldar correctamente todos los componentes del robot Minecraft en la baquelita.
Paso 1: Orienta la baquelita correctamente
Coloca la baquelita perforada de forma que el lado corto (5 cm) sea el frontal y el largo (7 cm) el lateral. Esta será la base de referencia para organizar los componentes.
Paso 2: Coloca la ESP32 en el frente de la baquelita
Ubica la ESP32 de forma horizontal en la parte frontal, con el puerto USB mirando hacia la derecha. Esto permite fácil acceso al momento de programar o cargar el firmware.
Paso 3: Ubica el driver DRV8833 a la izquierda de la ESP32
Coloca el DRV8833 al lado izquierdo de la ESP32, dejando libre el lado derecho para posibles futuras expansiones o módulos adicionales.
Paso 4: Instala las borneras en la parte trasera
Coloca tres borneras de dos pines alineadas en la parte trasera de la baquelita:
Primera bornera (izquierda): Motor izquierdo.
Segunda bornera (centro): Motor derecho.
Tercera bornera (derecha): Alimentación.
Paso 5: Realiza las conexiones entre ESP32 y DRV8833
Conecta los pines de control del ESP32 hacia el DRV8833 de esta manera:
Motor izquierdo: GPIO 33 y GPIO 32
Motor derecho: GPIO 26 y GPIO 25
No olvides conectar alimentación (+5V) y GND entre ambos módulos.
Paso 6: Conecta el DRV8833 a las borneras de los motores
Desde el DRV8833, conecta OUT1 y OUT2 a la bornera del motor izquierdo, y OUT3 y OUT4 al motor derecho.
Nota: Los motores no tienen polaridad fija. Si después de realizar pruebas alguno gira en sentido contrario, simplemente intercambia sus cables en la bornera correspondiente.
Paso 7: Ubica el switch en el cuerpo del robot
El switch de encendido no se instalará en la baquelita, sino que irá en la parte trasera del cuerpo del robot, simulando la aguja de la abeja. Esto mejora la estética y funcionalidad del diseño.
Paso 8: Conecta la alimentación desde el switch a la bornera
Suelda el positivo del broche de batería de 9V al pin central del switch.
Luego, lleva un cable desde la otra patita del switch (NO) hacia el positivo de la bornera de alimentación.
Conecta el GND del broche directamente al negativo de la bornera de alimentación.
Paso 9: Revisa las conexiones eléctricas
Verifica visualmente cada punto de soldadura y usa un multímetro para confirmar que no haya cortos entre positivo y GND. Asegúrate de que cada componente esté bien sujeto.
Montaje
En esta sección se ensamblan todos los componentes físicos del robot. Asegúrate de seguir cada paso con atención. Puedes ver el video completo del montaje paso a paso para mayor claridad.
Paso 1: Fija los soportes de los motores
Coloca los soportes impresos en 3D para los motores sobre la base del robot y asegúralos utilizando los tornillos M3 x 10. Verifica que queden firmes y bien alineados.
Paso 2: Instala la batería y el broche
Ubica la batería de 9V en el espacio destinado en la base. Conecta el broche de batería y asegúrate de que sus cables lleguen al switch sin estirarse demasiado.
Paso 3: Coloca la baquelita perforada
Con la circuitería ya montada y soldados todos los componentes, coloca la baquelita sobre los soportes impresos en 3D y fíjala con los tornillos M3 x 30.
Paso 4: Inserta el switch en la parte trasera
Coloca el switch en el orificio ubicado en la parte trasera del cuerpo del robot, simulando la aguja de la abeja. Asegúrate de que encaje firmemente y que los cables estén bien conectados.
Paso 5: Deja pendiente el cierre del cuerpo
La instalación del cuerpo completo se completará al final del proyecto. Por ahora, deja el cuerpo sin cerrar para facilitar futuras pruebas y la programación.
Explicación del Código
Este código transforma el ESP32 en un robot controlado por WiFi, con una interfaz web al estilo Minecraft. El usuario puede manejar el robot desde su navegador sin necesidad de conexión a Internet ni aplicaciones externas. Además, el código está optimizado para reducir el consumo energético, lo cual es ideal para robots que funcionan con batería.
Librerías Necesarias
#include
#include
Estas dos librerías permiten configurar el ESP32 como punto de acceso (AP) y habilitar un servidor web que será la interfaz de control.
Ambas librerías ya vienen incluidas en el entorno de desarrollo de ESP32, no necesitas instalarlas por separado.
Definición de pines
const int IN1_DER = 26; // Motor derecho
const int IN2_DER = 25;
const int IN1_IZQ = 33; // Motor izquierdo
const int IN2_IZQ = 32;
Define qué pines están conectados a los motores derecho e izquierdo.
Estos pines controlan los canales PWM que permiten variar la velocidad del motor.
Zona que puede modificar el usuario
const char* ap_ssid = "BeeCraft_Robot";
const char* ap_password = "beecraft123";
int velocidad = 150;
ap_ssid
: nombre de la red WiFi generada por el ESP32. Puedes cambiarlo por otro nombre si deseas.ap_password
: puedes dejarlo vacío""
si deseas que sea una red abierta.velocidad
: representa el nivel de PWM (de 0 a 255). Puedes subir o bajar este valor para ajustar la velocidad del robot.
Función principal del proyecto
void setup() {
...
server.on("/adelante", HTTP_GET, []() { moverAdelante(); ... });
...
server.begin();
}
Aquí se configura todo lo esencial: pines, canales PWM, servidor WiFi y las rutas de cada comando (
/adelante
,/atras
, etc.)Cada ruta ejecuta una función que mueve el robot en una dirección específica.
Funciones de movimiento
void moverAtras() {
ledcWrite(0, velocidad);
ledcWrite(1, 0);
ledcWrite(2, 0);
ledcWrite(3, velocidad);
}
void girarIzquierda() {
ledcWrite(0, 0);
ledcWrite(1, velocidad);
ledcWrite(2, 0);
ledcWrite(3, velocidad);
}
void girarDerecha() {
ledcWrite(0, velocidad);
ledcWrite(1, 0);
ledcWrite(2, velocidad);
ledcWrite(3, 0);
}
void detener() {
ledcWrite(0, 0);
ledcWrite(1, 0);
ledcWrite(2, 0);
ledcWrite(3, 0);
}
Estas funciones utilizan
ledcWrite
para enviar señales PWM a los motores y controlar su dirección.El código usa cuatro canales PWM (0 a 3) para manejar ambos motores de forma independiente.
Servidor web y control remoto
void handleRoot() { ... }
Esta función entrega la página web con los botones de control al estilo Minecraft.
El código HTML está embebido directamente dentro del programa.
El usuario se conecta a la red “BeeCraft_Robot”, abre un navegador y accede a la dirección
192.168.4.1
.
Pruebas Experimentales
Esta guía te llevará desde la carga del código hasta el control completo del servomotor a través de la interfaz web. Incluye la verificación de conexiones, solución de problemas comunes y pruebas para confirmar el funcionamiento.
Paso 1: Cargar el código al ESP32
Abre el archivo del código en el Arduino IDE, selecciona la placa ESP32 Dev Module y el puerto correspondiente, y haz clic en Subir. Espera a que se complete la carga sin errores.
Paso 2: Encender el robot y colocar la tapa
Acciona el switch trasero que simula la aguja de la abeja para encender el sistema. Verifica que se encienda el LED de la ESP32 como señal de que todo está funcionando correctamente.
A continuación, coloca la tapa del cuerpo del robot y ajústala utilizando los tornillos autoperforantes para asegurar todas las piezas antes de continuar con las pruebas.
Paso 3: Conectarse a la red WiFi del robot
Desde un celular o laptop, ve a las redes WiFi disponibles y conéctate a la red llamada «BeeCraft_Robot». Si estás usando el código original, deberás ingresar la contraseña: beecraft123
.
Nota: Si en tu caso eliminaste la contraseña del código, la red se comportará como red abierta sin contraseña.
Paso 4: Acceder a la interfaz web
Abre un navegador y escribe en la barra de direcciones: http://192.168.4.1. Se abrirá la interfaz de control con estilo Minecraft. Si no carga, revisa que estés conectado a la red del robot.
Paso 5: Probar los botones de movimiento
Haz clic en los botones Adelante, Atrás, Izquierda, Derecha y Detener. Verifica que el robot responda correctamente a cada uno. Si algún motor gira en dirección contraria, invierte sus cables en la bornera.
Paso 6: Probar el estado del robot
Observa la sección de estado. Cada vez que hagas clic en un botón, el texto debe cambiar a ADELANTE, ATRÁS, etc. Si no lo hace, revisa las rutas del servidor en el código.
Paso 7: Verificación final
Mueve el robot varias veces para asegurarte de que los motores no se calientan, la batería no se suelta y la baquelita no tenga falsos contactos. Si todo está correcto, el robot está listo para usar.
Descarga los Archivos de este Proyecto
Ya tienes todo lo necesario para llevar este proyecto al siguiente nivel. Descarga ahora mismo todos los archivos que necesitas, incluyendo:
Archivos STL para impresión 3D
Código fuente listo para cargar en la ESP32
Diagramas de conexiones
Haz clic en el botón a continuación y empieza a dar vida a tu Robot BeeCraft inspirado en Minecraft.