Exemplo Arduino WebPlotter - Tutorial de Visualização de Dados em Tempo Real
Visão Geral
O exemplo WebPlotter cria uma interface de visualização de dados em tempo real, acessível por qualquer navegador web. Projetado para a plataforma educacional Arduino Uno R4 WiFi e DIYables STEM V4 IoT, com recursos avançados de processamento de dados, plotagem em tempo real e integração perfeita com sistemas de monitoramento de sensores. Perfeito para visualizar dados de sensores, depurar algoritmos ou monitorar o desempenho de um sistema em tempo real.

Assista a este tutorial em vídeo passo a passo que mostra como usar um sensor DHT11 com o app Web Plotter:
Recursos
- Plotagem de Dados em Tempo Real: Visualize os dados dos sensores enquanto eles chegam do Arduino
- Várias Séries de Dados: Plote até 8 fluxos de dados diferentes ao mesmo tempo
- Escala Automática: Escala automática do eixo Y de acordo com a faixa dos dados
- Interface Interativa: Dê zoom, mova e analise as tendências dos dados
- Comunicação WebSocket: Atualizações instantâneas com latência mínima
- Design Responsivo: Funciona em desktop, tablet e celular
- Configuração Personalizável: Títulos do gráfico, rótulos dos eixos e faixas ajustáveis
- Plataforma Extensível: Atualmente implementada para o Arduino Uno R4 WiFi, mas pode ser estendida para outras plataformas de hardware. Veja DIYables_WebApps_ESP32
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Instruções de Configuração
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/DIYables STEM V4 IoT, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/DIYables STEM V4 IoT no Arduino IDE.
- Conecte a placa Arduino Uno R4/DIYables STEM V4 IoT ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Navegue até o ícone Libraries na barra esquerda do Arduino IDE.
- Pesquise "DIYables WebApps" e encontre a biblioteca DIYables WebApps, da DIYables
- Clique no botão Install para instalar a biblioteca.

- Você será perguntado se quer instalar outras bibliotecas das quais ela depende
- Clique no botão Install All para instalar todas as dependências da biblioteca.

- No Arduino IDE, vá em File Examples DIYables WebApps WebPlotter para abrir o exemplo, ou copie o código acima e cole no editor do Arduino IDE
- Configure as credenciais do WiFi no código atualizando estas linhas:
- Clique no botão Upload no Arduino IDE para carregar o código no Arduino UNO R4/DIYables STEM V4 IoT
- Abra o Serial Monitor
- Veja o resultado no Serial Monitor. Ele deve ficar parecido com o abaixo
- Se você não vir nada, reinicie a placa Arduino.
- Anote o endereço IP exibido e digite esse endereço na barra de endereços de um navegador web no seu celular ou PC.
- Exemplo: http://192.168.0.2
- Você verá a home page como na imagem abaixo:

- Clique no link Web Plotter e você verá a interface do app Web Plotter como abaixo:

- Você também pode acessar a página diretamente pelo endereço IP seguido de /web-plotter. Por exemplo: http://192.168.0.2/web-plotter
- Veja o Arduino gerar dados simulados de sensores e plotá-los em tempo real. Você verá várias linhas coloridas representando fluxos de dados diferentes.
Personalização Criativa - Visualize os Seus Dados com Criatividade
Transforme a interface de plotagem para atender aos requisitos exclusivos do seu projeto e crie visualizações de dados impressionantes:
Configuração da Fonte de Dados
Substitua os dados simulados por leituras reais de sensores:
Método 1: Leitura de um Único Sensor
Método 2: Vários Sensores
Método 3: Array de Valores
Personalização do Gráfico
Aparência Personalizada do Gráfico
Configuração Dinâmica
Processamento Avançado de Dados
Filtro de Média Móvel
Registro de Dados com Marcação de Horário
Exemplos de Integração
Monitoramento Ambiental
Retorno do Controle de Motor
Visualização de Controlador PID
Otimização de Desempenho
Transmissão Eficiente de Dados
Envio Condicional de Dados
Ideias de Projetos
Aplicações Científicas
- Data Logger: Registre temperatura, umidade e pressão ao longo do tempo
- Análise de Vibração: Monitore os dados do acelerômetro em sistemas mecânicos
- Monitoramento de pH: Acompanhe a qualidade da água em sistemas de aquaponia
- Eficiência de Painel Solar: Monitore a tensão/corrente de saída em função da luz solar
Projetos Educacionais
- Experimentos de Física: Visualize o movimento de pêndulos e as oscilações de molas
- Laboratório de Química: Monitore taxas de reação e mudanças de temperatura
- Estudos de Biologia: Acompanhe sensores de crescimento de plantas e fatores ambientais
- Matemática: Plote funções matemáticas e saídas de algoritmos
Automação Residencial
- Monitoramento de Energia: Acompanhe os padrões de consumo de energia
- Automação de Jardim: Monitore a umidade do solo e os níveis de luz
- Controle de HVAC: Visualize as tendências de temperatura e umidade
- Sistema de Segurança: Plote a atividade dos sensores de movimento
Robótica e Controle
- Navegação de Robô: Plote dados de posição e orientação
- Controle de Motor: Monitore velocidade, torque e eficiência
- Fusão de Sensores: Combine leituras de vários sensores
- Planejamento de Trajetória: Visualize algoritmos de movimento do robô
Solução de Problemas
Problemas Comuns
1. Nenhum dado aparece no gráfico
- Verifique o status da conexão WiFi
- Confirme a conexão WebSocket no console do navegador
- Garanta que sendPlotData() esteja sendo chamada regularmente
- Verifique o Serial Monitor em busca de mensagens de erro
2. O gráfico parece irregular ou instável
- Implemente a filtragem dos dados (média móvel)
- Reduza a frequência de envio dos dados
- Verifique se há ruído no sensor ou problemas de conexão
- Confirme a estabilidade da fonte de alimentação
3. Problemas de desempenho do navegador
- Reduza o número máximo de amostras (setMaxSamples())
- Diminua a taxa de transmissão de dados
- Feche outras abas do navegador
- Use a aceleração de hardware no navegador
4. A conexão WebSocket cai
- Verifique a intensidade do sinal WiFi
- Confirme as configurações do roteador (firewall, bloqueio de portas)
- Implemente lógica de reconexão no código personalizado
- Monitore o uso de memória do Arduino
Dicas de Depuração
Ative o Registro Detalhado
Geração de Dados de Teste
Recursos Avançados
Formatação Personalizada dos Dados
Integração com Outros WebApps
Controle em Tempo Real com Plotagem
Arduino Uno R4 Web Plotter com Sensor DHT11
Abaixo está o código completo para adaptar este web app a um sensor DHT11:
Abaixo está um tutorial em vídeo passo a passo que mostra como usar um sensor DHT11 com o app Web Plotter:
Próximos Passos
Depois de dominar o exemplo WebPlotter, explore:
- MultipleWebApps - Combine a plotagem com interfaces de controle
- WebMonitor - Adicione recursos de depuração junto com a plotagem
- Aplicações Personalizadas - Crie suas próprias ferramentas de plotagem especializadas
- Análise de Dados - Implemente a análise estatística dos dados plotados
Suporte
Para obter mais ajuda:
- Consulte a documentação de Referência da API
- Visite os tutoriais da DIYables: https://newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-diyables-webapps
- Fóruns da comunidade Arduino
- Ferramentas de depuração de WebSocket no console de desenvolvedor do navegador