Osciloscópio Web Arduino com Trigger Avançado – 6 Canais, Configurável
Componentes e Materiais
| Componente | Quantidade |
|---|---|
| Arduino UNO | 1 |
| PHPoC Shield para Arduino | 1 |
| Jumpers | 1 |
Sobre o Projeto
Se você é iniciante, pode aprender mais sobre Arduino + WiFi.
Demonstração
(Veja vídeo/demo no projeto original)
Recursos
- Suporta 6 canais
- Trigger único ou múltiplo
- Modos de trigger: falling, rising, both
- Valor de trigger ajustável
- Ajuste de divisão de tempo via knob web
- Ajuste de divisão de tensão por canal via knob web
- Ajuste de offset de exibição por canal via knob web
- Toque/clique para mostrar/ocultar área de configurações
- Multiplataforma: Windows, Linux, iOS, Android... (qualquer navegador web)
Interface do Usuário

Como Funciona
O Osciloscópio Web é modificação do Web Serial Monitor do PHPoC. Explico primeiro como este funciona.
O PHPoC Shield tem app web embarcado "Web Serial Monitor", similar ao Serial Monitor do Arduino IDE. Diferença:
- Serial Monitor IDE: Lê dados do pino TX do Arduino via USB.
- Web Serial Monitor PHPoC: Lê dados do pino TX via Internet.
Detalhes: PHPoC comunica com Arduino via SPI. Usuário acessa Web Serial Monitor no navegador. Após carregar, a página abre conexão WebSocket com PHPoC Shield. Este captura dados do TX do Arduino e envia ao navegador via WebSocket. Permite ver dados no PC, celular, qualquer dispositivo com navegador.
Como o Web Osciloscópio funciona:
Mesmo princípio, mas em vez de exibir dados brutos, visualiza no gráfico. Funções extras permitem ajustar UI e realizar trigger.
Sobre dados enviados pelo Arduino:
Arduino lê ADC (A0 a A5) e timestamp (microssegundos). Converte ADC para tensão e imprime na serial no formato:
- Timestamp, seguido de espaço ou "\t"
- Dados de tensão de cada canal separados por espaço ou "\t"
- Termina com newline
Nota: Máximo 6 canais, mas pode enviar apenas 1, 2, 3...
Código Fonte
Duas partes:
- Código Arduino (
WebOscilloscope.ino) - Código web app (
oscilloscope.php) – interface do usuário. Envie ao PHPoC Shield conforme instruções.
Como Usar

Acesse no navegador: https://seu_ip/oscilloscope.php
Medir sinal: dois fios, um no GND e outro em qualquer pino analógico (A0-A5). Conecte ao ponto de teste.
Como são 6 canais, precisaria de 6 fios GND. Arduino tem só 2 pinos GND. Solução abaixo para expandir:

Referências de Funções
- Serial.begin()
- Serial.println()
- delay()
- millis()
- for / while / if else / loop() / setup()
- String.toInt() / substring() / indexOf() / remove() / equals()
Código
WebOscilloscope.ino (Arduino)
#include <SPI.h>
#include <Phpoc.h>
#define AREF 5.0
#define ADC_MAX 1023.0
float ratio = AREF / ADC_MAX;
void setup() {
Serial.begin(115200);
Phpoc.begin();
}
void loop() {
unsigned long time_a = micros();
float v0 = analogRead(A0) * ratio;
float v1 = analogRead(A1) * ratio;
float v2 = analogRead(A2) * ratio;
float v3 = analogRead(A3) * ratio;
float v4 = analogRead(A4) * ratio;
float v5 = analogRead(A5) * ratio;
Serial.print(time_a); Serial.print(" ");
Serial.print(v0); Serial.print(" ");
Serial.print(v1); Serial.print(" ");
Serial.print(v2); Serial.print(" ");
// Serial.print(v3); Serial.print(" "); // canal 3 comentado
Serial.print(v4); Serial.print(" ");
Serial.println(v5);
}
oscilloscope.php (PHP – Web App)
Código completo da interface web (HTML/JS/PHP) para visualização, trigger, knobs, etc. Disponível na seção de código do projeto original.
Esquemáticos
Processo de manufatura
- Sistema de Iluminação DMX Controlado via Web – Controlador Mestre Arduino
- Construa um Osciloscópio Arduino de 20 kHz em LCD Nokia 5110 – Guia DIY Fácil
- Construa um Spybot Controlado por Bluetooth com Arduino
- FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
- DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
- Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Soluções de Energia Otimizadas para Projetos Arduino
- Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
- Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo