ESP32 Robot 3D

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

  1. Cargar el código al ESP32 usando Arduino IDE
  2. Al iniciar, conectarse al punto de acceso WiFi del ESP32
  3. Configurar la red WiFi a través del portal cautivo
  4. Acceder a la interfaz web usando la IP mostrada en la OLED
  5. 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
💻

Código