Arduino - Osciloscopio web (activador de soporte)
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Acerca de este proyecto
Si es un principiante, puede obtener más información sobre Arduino - Wifi.
Demostración
Características
- Admite 6 canales
- Admite un solo disparador, varios disparadores
- Modo de disparo seleccionable:descendente, ascendente, descendente y ascendente
- Valor de activación configurable
- Ajustar la división del tiempo mediante un botón web
- Ajustando la división de voltaje para cada canal a través de una perilla web
- Ajustar la compensación de la pantalla para cada canal a través de una perilla web
- Toque o haga clic para mostrar / ocultar el área de configuración
- Trabajar en multiplataforma:Windows, Linux, iOS, Android ... (por característica de la web), que tiene un navegador web
Interfaz de usuario
Cómo funciona
Debido a que Web Osciloscopio es una modificación de Web Serial Monitor en PHPoC, primero explicaré cómo funciona Web Serial Monitor.
El escudo PHPoC tiene una aplicación web incorporada, llamada "Web Serial Monitor". Es similar a Serial Monitor en Arduino IDE. La diferencia entre Serial Monitor en Arduino IDE es que:
- Serial Monitor en Arduino IDE: Lectura de datos desde el pin arduino tx a través de un cable USB.
- Web Serial Monitor en PHPoC Shield: Lectura de datos del pin arduino tx a través de Internet
En detalle, PHPoC Shield se comunica con Arduino a través de SPI. Cuando el usuario accede a Web Serial Monitor desde un navegador web. Una vez que se carga la página, la página establece una conexión WebSocket a PHPoC Shield. En este momento, PHPoC Shield está apilado en Arduino, captura datos del pin Arduino TX y luego envía estos datos a Web Serial Monitor en el navegador web a través de WebSocket. Web Serial recibe los datos y los muestra en la web.
Esto permite al usuario no solo ver los datos en la PC, sino también ver los datos en el móvil o en cualquier dispositivo que admita un navegador web
Ahora veamos cómo funciona el osciloscopio web.
Web Osciloscopio funciona igual que Web Serial Monitor, excepto por la última parte.
En lugar de mostrar datos sin procesar en la web, el osciloscopio web visualiza los datos en el gráfico. Se agregan otras funciones, que permiten al usuario ajustar la interfaz de usuario y realizar el disparo.
Acerca de los datos, que se envían desde Arduino
Arduino lee los datos del pin ADC (de A0 a A5) y lee la marca de tiempo (en microsegundos)
Los datos de ADC se convierten a voltaje y se imprimen en el puerto serie junto con la marca de tiempo de acuerdo con el siguiente formato:
- En primer lugar, la marca de tiempo, seguida de un carácter en blanco o "\ t".
- Y luego, seguido de los datos de voltaje. Los datos de cada canal están separados por un carácter en blanco o "\ t".
- El final es un carácter de nueva línea
Nota: El canal máximo es 6, pero también puede enviar solo datos de uno, dos solo tres canales.
Código fuente
El código fuente incluye dos partes:
- Código Arduino (consulte WebOscilloscope.ino)
- Código de la aplicación web (osciloscopio.php):este es el código de la interfaz de usuario. Debe cargarse en PHPoC Shield de acuerdo con estas instrucciones
Cómo utilizar
Acceda al osciloscopio web desde el navegador web de su PC o teléfono inteligente escribiendo: http:// replace_ip_address /oscilloscope.php
Cómo medir la señal:solo necesita usar dos cables, uno a GND y otro a cualquier pin analógico de Arduino (A0 a A5). Conecta estos dos pines al punto en el que queremos comprobar la señal.
Como hay 6 canales, necesitamos 6 cables de tierra. Sin embargo, para mayor comodidad, Arduino solo tiene dos pines GND. Hago lo siguiente para extender más pines GND.
El mejor kit de inicio de Arduino para principiantes
Si está buscando un kit de Arduino, consulte El mejor kit de Arduino para principiantes
Referencias de funciones
- Serial.begin ()
- Serial.println ()
- retraso ()
- milis ()
- para bucle
- ciclo while
- si es otra cosa
- bucle ()
- configuración ()
- String.toInt ()
- String.substring ()
- String.indexOf ()
- String.remove ()
- String.equals ()
Código
- WebOscilloscope.ino
- osciloscopio.php
WebOscilloscope.ino Arduino
Este es el código arduino. NO necesitamos enviar todos los datos de los 6 canales. Como puede ver, comenté el canal de datos 3#include#include #define AREF 5.0 # define ADC_MAX 1023.0float ratio =AREF / ADC_MAX; void setup () {Serial.begin (115200); Phpoc.begin ();} void loop () {// leer la hora del sistema unsigned long time_a =micros (); // lee el valor analógico y convierte a voltaje:float voltageChannel0 =analogRead (A0) * ratio; Float voltageChannel1 =analogRead (A1) * ratio; Float voltageChannel2 =analogRead (A2) * ratio; Float voltageChannel3 =analogRead (A3) * ratio; Float voltageChannel4 =analogRead (A4) * ratio; Float voltageChannel5 =analogRead (A5) * ratio; // enviar primero la hora del sistema Serial.print (time_a); Serial.print (""); // envía el valor de cada canal, separado por "" o "\ t". Serial.print (voltageChannel0); Serial.print (""); Serial.print (voltageChannel1); Serial.print (""); Serial.print (voltageChannel2); Serial.print (""); //Serial.print(voltageChannel3); //Serial.print (""); Serial.print (voltageChannel4); Serial.print (""); // el último canal debe enviar con nuevos caracteres de línea Serial.println (voltageChannel5);}
osciloscopio.php PHP
Este es el código web.PHPoC Shield - Osciloscopio web para Arduino 0
Esquemas
Proceso de manufactura