Descripción
Sistema de control para un brazo robótico 3D utilizando ESP32. Este proyecto permite controlar un brazo robótico de 6 grados de libertad a través de una interfaz web interactiva con visualización 3D en tiempo real y retroalimentación mediante pantalla OLED.
✨
Características
- Visualización 3D interactiva del robot con Three.js
- Control preciso de 6 articulaciones (cintura, hombro, codo, muñeca, rotación muñeca, pinza)
- Interfaz web responsive adaptable a móviles y tablets
- Retroalimentación en tiempo real en pantalla OLED
- Modo demostración automático con secuencias predefinidas
- Portal cautivo para configuración WiFi
- Sistema de protección de límites de movimiento
- Comunicación bidireccional ESP32-Robot
📏
Límites de Movimiento
- Cintura: -120° a 120°
- Hombro: -70° a 70°
- Codo: -50° a 50°
- Muñeca: -90° a 90°
- Rotación Muñeca: -180° a 180°
- Pinza: 0 a 45mm
📋
Requisitos
- ESP32 DevKit
- Pantalla OLED SSD1306
- Robot con 6 motores paso a paso
- Navegador web moderno con soporte WebGL
- Conexión WiFi
🔌
Conexiones
- OLED: Pines I2C estándar (SDA, SCL)
- Robot:
- STROBE: Pin 13
- D0-D7: Pines 12,14,27,26,25,33,32,15
- BUSY: Pin 4
- ERROR: Pin 5
🚀
Primeros Pasos
- Cargar el código al ESP32 usando Arduino IDE
- Al iniciar, conectarse al punto de acceso WiFi del ESP32
- Configurar la red WiFi a través del portal cautivo
- Acceder a la interfaz web usando la IP mostrada en la OLED
- Comenzar a controlar el robot usando la interfaz 3D
📁
Estructura del Proyecto
- esp32_3D.ino: Archivo principal del proyecto
- oled.h: Gestión de la pantalla OLED
- wm.h: Configuración y gestión WiFi
- html.h: Interfaz web con visualización 3D
- servidor.h: Servidor web asíncrono
- robot.h: Control y comandos del robot
🔧
Solución de Problemas
- Para resetear la configuración WiFi: Mantener presionado el botón BOOT por 3 segundos
- Si el robot no responde: Verificar conexiones y alimentación
- Si los motores no se mueven: Comprobar límites de movimiento
- Problemas de visualización 3D: Verificar soporte WebGL del navegador
⚙️
Especificaciones de Motores
Motor | Rango Grados | Pasos | Descripción |
---|---|---|---|
M1 (Cintura) | -120° a 120° | ±1000 pasos | Movimiento rotacional de la base |
M2 (Hombro) | -70° a 70° | ±600 pasos | Elevación del brazo principal |
M3 (Codo) | -50° a 50° | ±600 pasos | Articulación intermedia |
M4 (Muñeca) | -90° a 90° | ±1992 pasos | Inclinación de la muñeca |
M5 (Rot. Muñeca) | -180° a 180° | ±1992 pasos | Rotación de la muñeca |
M6 (Pinza) | 0 a 45mm | 0 a 1800 pasos | Apertura/cierre de la pinza |
Notas importantes:
- Los pasos son relativos a la posición actual
- El sistema incluye protección contra sobrepasos
- La velocidad es ajustable mediante el comando S (1-5)
- La precisión depende de los micropasos configurados
💻