import grafica.*;
import processing.serial.*;
GPlot plot;
Serial serial;
int startZeit;
float ymin=30;
float ymax=31;
int sekunden() {
return hour()*3600+minute()*60+second();
}
void setup() {
printArray(Serial.list());
String port=Serial.list()[0];
serial=new Serial(this, port, 9600);
size(500, 350);
background(0, 0, 0);
plot=new GPlot(this, 25, 25);
plot.setTitleText("Temperaturmessung");
plot.getXAxis().setAxisLabelText("Zeit in Sekunden");
plot.getYAxis().setAxisLabelText("Temp. in °C");
plot.setXLim(0, 10);
plot.setYLim(ymin,ymax);
plot.defaultDraw();
startZeit=sekunden();
}
void draw() {
while (serial.available()>0) {
String input=serial.readStringUntil(10);
if (input!=null) {
float wert=float(input);
int x=sekunden()-startZeit;
if (wert<ymin+10) {
ymin=wert-10;
}
if (wert>ymax-10) {
ymax=wert+10;
}
plot.setYLim(ymin, ymax);
plot.setXLim(0, x+10);
plot.addPoint(x, wert);
plot.defaultDraw();
}
}
}
zurück