Ejemplo de ESP32 WebRotator - Tutorial de Control Rotacional Interactivo
Visión general
El ejemplo WebRotator crea una interfaz de control de disco giratorio interactiva, accesible desde cualquier navegador web. Diseñado para la plataforma educativa ESP32 con capacidades mejoradas de control de motores, características de control de servomotores y de motores paso a paso integradas, y una integración fluida con módulos educativos de robótica. Perfecto para controlar servomotores, motores paso a paso, brazos robóticos, antenas o cualquier sistema que requiera un control de rotación preciso.

Características
- Disco giratorio interactivo: Interfaz de disco controlada por tacto y ratón
- Modos de operación duales: Continuo (0-360°) y rango de ángulo limitado
- Retroalimentación de ángulo en tiempo real: Visualización y control precisos del ángulo
- Indicador visual de posición: Marcador claro de la posición del disco con diseño de gradiente
- Soporte táctil y con ratón: Funciona en escritorio, tabletas y dispositivos móviles
- Gestión automática de la configuración: Establezca el modo y el rango una vez en el constructor
- Comunicación WebSocket: Respuesta instantánea sin recargar la página
- Interfaz profesional: Diseño de gradiente cónico con rotación suave
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables ESP32 Starter Kit (ESP32 included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instrucciones de Configuración
Pasos Rápidos
Siga estas instrucciones paso a paso:
- Si es la primera vez que usas el ESP32, consulta el tutorial sobre la configuración del entorno para ESP32 en el IDE de Arduino (BASE_URL/tutorials/esp32/esp32-software-installation).
- Conecta la placa ESP32 a tu computadora con un cable USB.
- Inicia el IDE de Arduino en tu computadora.
- Selecciona la placa ESP32 adecuada (p. ej. ESP32 Dev Module) y el puerto COM.
- Navega hasta el icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca "DIYables ESP32 WebApps", luego encuentra la Biblioteca DIYables ESP32 WebApps de DIYables
- Haz clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá instalar algunas otras dependencias de la biblioteca.
- Haga clic en Instalar Todo para instalar todas las dependencias de la biblioteca.

- En el IDE de Arduino, vaya a Archivo Ejemplos DIYables ESP32 WebApps WebRotator ejemplo, o copie el código anterior y péguelo en el editor del IDE de Arduino
- Configura las credenciales de WiFi en el código actualizando estas líneas:
- Haz clic en el botón Subir en el IDE de Arduino para subir el código al ESP32
- Abre el Monitor Serial
- Consulta el resultado en el Monitor Serial. Se muestra a continuación
- Si no ves nada, reinicia la placa ESP32.
- Abre un navegador web en tu PC o teléfono móvil.
- Escribe la dirección IP mostrada en el Monitor Serial en el navegador web
- Ejemplo: http://192.168.1.100
- Verás la página de inicio como en la imagen de abajo:

- Haz clic en el enlace de Web Rotator; verás la interfaz de usuario de la aplicación Web Rotator como se muestra a continuación.

- O también puedes acceder a la página directamente mediante la dirección IP seguida de /web-rotator. Por ejemplo: http://192.168.1.100/web-rotator
- Verás un disco giratorio interactivo que puedes arrastrar para controlar la rotación
Características de la interfaz web
Control de Disco Giratorio
- Disco interactivo: Haz clic y arrastra para girar el disco
- Retroalimentación visual: Visualización en tiempo real del ángulo e indicador de posición
- Animación fluida: Rotación fluida con diseño de degradado profesional
- Visualización del ángulo: El ángulo actual mostrado en grados
- Indicador de modo: Muestra el modo de rotación actual y los límites
Soporte táctil y de ratón
- Control de Escritorio: Clic y arrastre con el ratón
- Control móvil: Toques y gestos de deslizamiento
- Diseño adaptable: Optimizado para todo tipo de tamaños de pantalla
- Señales visuales: Indicadores claros para las áreas de interacción
Configuración del código
Configuración del rotador
Recepción de comandos de ángulo
Modos de operación
Modo continuo
- Rotación completa: 0° a 360° y más allá, sin límite superior
- Sin reinicio: Los valores de ángulo pueden aumentar por encima de 360° y no se reinician a 0°
- Casos de uso: Servos de rotación continua, antenas, giradiscos
- Configuración: ROTATOR_MODE_CONTINUOUS
Modo limitado
- Rango personalizado: Define ángulos mínimos y máximos
- Límites de rotación: Previene la rotación más allá de los límites establecidos
- Casos de uso: Servos estándar, brazos robóticos, sistemas de dirección
- Configuración: ROTATOR_MODE_LIMITED, minAngle, maxAngle
Integración de hardware
Control de Servomotor
Nota: El siguiente fragmento de código es un ejemplo parcial y debe integrarse en su sketch principal de ESP32 para que funcione correctamente.
Control de motor paso a paso
Opciones de personalización
Rango de ángulos
- Ángulo mínimo: Establecer la rotación mínima permitida
- Ángulo máximo: Establecer la rotación máxima permitida
- Posición predeterminada: Ángulo de inicio al arrancar el sistema
- Resolución: Controlar la precisión de las actualizaciones del ángulo
Apariencia visual
La interfaz web se adapta automáticamente a su configuración:
- Visualización de rango: Muestra los límites de ángulo configurados
- Indicador de modo: Muestra el modo de operación actual
- Marcador de posición: Indicador visual del ángulo actual
- Diseño de gradiente: Apariencia profesional con colores suaves
Casos de uso comunes
Proyectos Educativos
- Aprendizaje del control de servomotores: Comprensión de PWM y del funcionamiento de los servomotores
- Educación en robótica: Posicionamiento del brazo, control de articulaciones
- Posicionamiento de la antena: Control de la antena direccional
- Pan y Tilt de la cámara: Posicionamiento remoto de la cámara
Aplicaciones Prácticas
- Domótica: Persianas automáticas, rejillas de ventilación, puertas automáticas
- Robótica: Articulaciones del brazo robótico, dirección de un robot móvil
- Proyectos IoT: Sistemas de posicionamiento remotos
- Industria: Posicionamiento automático, control de válvulas
Solución de problemas
La rotación no funciona
- Verificar la conexión Wi-Fi y el estado de WebSocket
- Verificar que la función de callback esté correctamente configurada
- Verificar que el servomotor esté correctamente conectado
- Verificar la fuente de alimentación para los motores
Valores de ángulos incorrectos
- Verifica el mapeo de ángulos para tu hardware específico
- Verifica la biblioteca de servomotores y la configuración de pines
- Asegura una escala adecuada en la función de devolución de llamada
- Prueba con la salida del Monitor Serial
Problemas de conexión
- Verificar la dirección IP en el navegador
- Verificar la configuración del firewall
- Asegúrese de que la red WiFi sea de 2,4 GHz (5 GHz no es compatible)
- Intente recargar la página del navegador
Características Avanzadas
Cambios en el modo de tiempo de ejecución
Puede cambiar el modo del rotador durante el funcionamiento:
Retroalimentación de posición
Envía la posición actual de vuelta a la interfaz web:
Nota: Enviar retroalimentación de ángulo con frecuencia a la interfaz web podría provocar un movimiento menos fluido. Utilice esta función solo si se requieren actualizaciones de posición en tiempo real.
Control de múltiples ejes
Combina varios rotadores para un posicionamiento complejo:
Integración educativa
Objetivos de aprendizaje STEM
- Control de motores: Comprensión del funcionamiento de los servomotores y de los motores paso a paso
- Sistemas de coordenadas: Medición de ángulos y posicionamiento
- Tecnologías web: Interfaces de control en tiempo real
- Programación: Funciones de devolución de llamada, control de hardware
Actividades en el aula
- Calibración del servo: Aprender el funcionamiento del servo y las señales PWM
- Control de posición: Practicar tareas de posicionamiento precisas
- Integración del sistema: Combinar sensores con el control del motor
- Resolución de problemas: Depurar problemas de hardware y software
Este ejemplo ofrece una base integral para los sistemas de control de rotación, perfecto para aplicaciones robóticas tanto educativas como prácticas.