Paso 4: Desarrollo de la interfaz gráfica
Vamos a hacer la parte de GUI con software de procesamiento. En primer lugar descarga procesamiento de www.processing.org e instalar la última versión.
El código es muy simple, estamos sólo tomando las lecturas de la serie y luego trazar un gráfico. Por favor descargar el código en este paso.
CÓDIGO:
---------
Import processing.serial.*;
Puerto serial; Crear un objeto de clase Serial int val; Datos recibidos desde el puerto serie int [] los valores; zoom del flotador;
void setup() {size(1280, 480); / / abrir el puerto que la Junta está conectada y utiliza el mismo puerto de velocidad (9600 bps) = serie nueva (este, Serial.list() [0], 9600); valores = new int [width]; zoom = 1.0f; smooth();}
int getY(int val) {devolver (int) (altura - val/1023.0f * (altura - 1));}
int getValue() {int valor = -1; mientras que (port.available() > = 3) {si (port.read() == 0xff) {valor = (port.read() << 8) | (port.read()); valor devuelto}}; }
void pushValue (int valor) {para (int i = 0; i
void drawLines() {stroke(255); int displayWidth = (int) (ancho / zoom); int k = values.length - displayWidth; int x0 = 0; int y0 = getY(values[k]); para (int i = 1; i
void drawGrid() {stroke (255, 0, 0); line (0, 2/altura, anchura, altura/2);}
void keyReleased() {switch (key) {caso '+': zoom * = 2.0f; println(zoom); si ((int) (ancho / zoom) < = 1) zoom / = 2.0f; break; caso '-': zoom / = 2.0f; si (zoom < 1.0f) zoom * = 2.0f; break;}}
void draw() {background(0); drawGrid(); val = getValue(); if (val! = -1) {pushValue(val);} drawLines();}
--------
Una vez hayas hecho este paso a paso y empezar a probarlo tu osciloscopio!