Stap 4: Ontwikkeling van de grafiek-interface
We zullen het GUI deel met het verwerken van de software maken. Allereerst download verwerking vanaf www.processing.org en installeren van de nieuwste versie.
De code is echt eenvoudig, we zijn net het nemen van lezingen uit de serie en vervolgens een grafiek plotten. Download de code aangesloten in deze stap.
CODE:
---------
importeren van processing.serial.*;
Seriële poort; Object maakt van seriële klasse int val; Gegevens ontvangen van de seriële poort int [] waarden; float zoom;
void setup {size(1280, 480); / / openen van de poort waarop de Raad van bestuur is aangesloten en gebruiken dezelfde snelheid (9600 bps) poort = nieuwe Serial (dit, Serial.list() [0], 9600); waarden = nieuwe int [breedte]; zoom = 1.0f; smooth();}
int getY(int val) {return (int) (hoogte - val/1023.0f * (hoogte - 1));}
GetValue (int) {int waarde = -1, terwijl (port.available() > = 3) {als (port.read() == 0xff) {waarde = (port.read() << 8) | (port.read()); de geretourneerde waarde}}; }
VOID pushValue (int waarde) {for (int i = 0; i
VOID drawLines() {stroke(255); int displayWidth = (int) (breedte / zoom); int k = values.length - displayWidth; int x0 = 0; int y0 = getY(values[k]); voor (int i = 1; ik
VOID drawGrid() {beroerte (255, 0, 0), lijn (0, hoogte/2, de breedte, de hoogte/2);}
VOID keyReleased() {schakelaar (sleutel) {geval '+': zoom * = 2.0f; println(zoom); als ((int) (breedte / zoom) < = 1) zoom / = 2.0f; break; case "-": zoom / = 2.0f; als (zoom < 1.0f) zoom * = 2.0f; break;}}
VOID draw() {background(0); drawGrid(); val = GetValue (); als (val! = -1) {pushValue(val)}; drawLines();}
--------
Zodra u deze verplaatsen naar de volgende stap heb gedaan en beginnen met het testen van uw oscilloscoop!