Ejemplo de Arduino WebPlotter - Tutorial de Visualización de Datos en Tiempo Real
Visión general
El ejemplo WebPlotter crea una interfaz de visualización de datos en tiempo real accesible a través de cualquier navegador web. Diseñado para la plataforma educativa Arduino Uno R4 WiFi y STEM V4 IoT de DIYables con capacidades mejoradas de procesamiento de datos, funciones de trazado en tiempo real y una integración perfecta con sistemas de monitoreo de sensores. Perfecto para visualizar datos de sensores, depurar algoritmos o monitorear el rendimiento del sistema en tiempo real.

Características
- Gráficas de datos en tiempo real: Visualiza los datos del sensor a medida que se transmiten desde Arduino
- Múltiples series de datos: Graficar hasta 8 flujos de datos diferentes de forma simultánea
- Escalado automático: Ajuste automático del eje Y según el rango de datos
- Interfaz interactiva: Haz zoom, desplázate y analiza las tendencias de los datos
- Comunicación WebSocket: Actualizaciones instantáneas con latencia mínima
- Diseño adaptable: Funciona en escritorio, tabletas y dispositivos móviles
- Configuración personalizable: Títulos de gráfico ajustables, etiquetas de ejes y rangos
- Plataforma extensible: Actualmente implementado para Arduino Uno R4 WiFi, pero se puede ampliar para otras plataformas de hardware. Ver DIYables_WebApps_ESP32
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino 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 utiliza el Arduino Uno R4 WiFi/DIYables STEM V4 IoT, consulte el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/DIYables STEM V4 IoT en el IDE de Arduino.
- Conecte la placa Arduino Uno R4/DIYables STEM V4 IoT a su computadora usando un cable USB.
- Inicie el IDE de Arduino en su computadora.
- Seleccione la placa Arduino Uno R4 adecuada (por ejemplo, Arduino Uno R4 WiFi) y el puerto COM.
- Vaya al icono Bibliotecas en la barra izquierda del IDE de Arduino.
- Busque "DIYables WebApps", luego localice la biblioteca DIYables WebApps de DIYables.
- Haga clic en el botón Instalar para instalar la biblioteca.

- Se le pedirá instalar algunas dependencias de otras bibliotecas.
- Haga clic en el botón Instalar todo para instalar todas las dependencias de la biblioteca.

- En el IDE de Arduino, vaya a Archivo Ejemplos DIYables WebApps WebPlotter 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 a Arduino UNO R4/DIYables STEM V4 IoT
- Abre el Monitor serie
- Consulta el resultado en el Monitor serie. Se ve como lo siguiente
- Si no ves nada, reinicia la placa Arduino.
- Toma nota de la dirección IP que se muestra y escribe esta dirección en la barra de direcciones de un navegador web en tu teléfono inteligente o PC.
- Ejemplo: http://192.168.0.2
- Verás la página de inicio como se muestra en la imagen a continuación:

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

- O también puedes acceder a la página directamente mediante la dirección IP seguida de /web-plotter. Por ejemplo: http://192.168.0.2/web-plotter
- Observa cómo el Arduino genera datos simulados de sensores y los representa en tiempo real. Verás varias líneas de colores que representan diferentes flujos de datos.
Personalización creativa - Visualiza tus datos de forma creativa
Transforma la interfaz de trazado para que se ajuste a los requisitos únicos de tu proyecto y crea visualizaciones de datos impresionantes:
Configuración de la fuente de datos
Reemplazar los datos simulados por lecturas reales de sensores:
Método 1: Lectura de un solo sensor
Método 2: Múltiples Sensores
Método 3: Arreglo de Valores
Personalización de gráficos
Apariencia personalizada del gráfico
Configuración dinámica
Procesamiento de Datos Avanzado
Filtro de media móvil
Registro de datos con marcas de tiempo
Ejemplos de Integración
Monitoreo ambiental
Retroalimentación del control motor
Visualización del Controlador PID
Optimización del rendimiento
Transmisión de Datos Eficiente
Envío condicional de datos
Ideas de Proyectos
Aplicaciones científicas
- Registrador de datos: Registro de temperatura, humedad y presión a lo largo del tiempo
- Análisis de vibraciones: Monitorear datos del acelerómetro para sistemas mecánicos
- Monitoreo de pH: Monitorear la calidad del agua en sistemas de acuaponía
- Eficiencia de paneles solares: Monitorear la salida de voltaje y corriente en función de la luz solar
Proyectos Educativos
- Experimentos de Física: Visualizar el movimiento del péndulo y las oscilaciones del resorte
- Laboratorio de Química: Monitorear las velocidades de reacción y los cambios de temperatura
- Estudios de Biología: Monitorear sensores de crecimiento de plantas y factores ambientales
- Matemáticas: Representar gráficas de funciones matemáticas y salidas algorítmicas
Automatización del hogar
- Monitoreo de energía: Seguimiento de los patrones de consumo de energía
- Automatización del jardín: Monitorear la humedad del suelo y los niveles de luz
- Control de climatización: Visualizar las tendencias de temperatura y humedad
- Sistema de seguridad: Registrar las actividades del sensor de movimiento
Robótica y Control
- Navegación del robot: Trazar datos de posición y orientación
- Control de motores: Monitorear velocidad, par y eficiencia
- Fusión de sensores: Combinar lecturas de múltiples sensores
- Planificación de trayectorias: Visualizar algoritmos de movimiento del robot
Solución de problemas
Problemas comunes
1. No aparecen datos en el gráfico
- Verifica el estado de la conexión WiFi
- Verifica la conexión WebSocket en la consola del navegador
- Asegúrate de que sendPlotData() se llame regularmente
- Verifica el Monitor Serial para mensajes de error
- El gráfico parece inestable o errático
- Implementar filtrado de datos (media móvil)
- Reducir la frecuencia de envío de datos
- Verificar ruido del sensor o problemas de conexión
- Verificar la estabilidad de la fuente de alimentación
3. Problemas de rendimiento del navegador
- Reducir el número máximo de muestras (setMaxSamples())
- Disminuir la tasa de transmisión de datos
- Cerrar otras pestañas del navegador
- Usar la aceleración de hardware en el navegador
4. Caídas de la conexión WebSocket
- Verificar la intensidad de la señal WiFi
- Verificar la configuración del router (cortafuegos, bloqueo de puertos)
- Implementar la lógica de reconexión en código personalizado
- Monitorear el uso de memoria del Arduino
Consejos de depuración
Activar registro detallado
Generación de datos de prueba
Características avanzadas
Formato de Datos Personalizado
Integración con otras aplicaciones web
Control en tiempo real con gráficos
Próximos pasos
Después de dominar el ejemplo de WebPlotter, explore:
- MultipleWebApps - Combinar gráficos con interfaces de control
- WebMonitor - Añadir capacidades de depuración junto a la visualización
- Custom Applications - Construye tus propias herramientas de visualización especializadas
- Data Analysis - Implementar análisis estadístico de los datos trazados
Soporte
Para ayuda adicional:
- Consulta la documentación de la API
- Visita los tutoriales de DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Foros de la comunidad de Arduino
- Herramientas de depuración de WebSocket en la consola de desarrollo del navegador