Die Arduino Datei aus diesem Beitrag wird ab Zeile 31 etwas verändert, sodass Temperatur und Luftdruck ohne Leerzeichen, aber mit einem Komma getrennt ausgegeben werden: 25.3,1015.1
Serial.print(((float)temp_mittel/10.0)+temp_offset, 1);
Serial.print(",");
Serial.println(((float)druck_mittel/100.0)+druck_offset, 1);
Und hier die Processing Datei um die Linien Grafik auszugeben.
// Von der Seriellen Schnittstelle (Arduino) einlesen
// und ein Grafik Fenster mit Processing 2.2 ausgeben
//
// Matthias Busse 28.6.2015 Version 1.1
import processing.serial.*;
Serial myPort; // Serielle Schhnittstelle definieren
int xPos = 1;
float temp, druck;
//float zahlen[];
void setup() {
size(400,300); // Fenstergröße
// textSize(33); // Textgröße
frame.setTitle("Temperatur & Luftdruck vom Arduino");
myPort = new Serial(this, Serial.list()[0], 9600); // Seriellen Port öffnen
}
void draw() {
}
void serialEvent (Serial myPort) {
String inString = myPort.readStringUntil('\n');
if (inString != null) {
inString = trim(inString);
float zahlen[] = float(split(inString,','));
temp=zahlen[0];
druck=zahlen[1];
println(inString);
println(temp);
println(druck);
fill(200, 200, 200);
rect(0,0,500,30); // Text Hintergrund neu zeichnen
fill(0,100,0); // Temperatur schreiben
text(temp+ " Grad", 100, 20);
temp = map(temp, 10, 30, 45, height-45);
text("30 ", 1, 45); // Temp. Skala links
text("10 ", 1,295);
text("20 ", 1, 295-((295-45)/2));
stroke(0, 100, 0); // Linie zeichnen
line(xPos, height-temp-1, xPos, height-temp);
fill(100, 0, 0); // Luftdruck schreiben
text(druck+ " hPa", 250,20);
druck = map(druck, 980, 1040, 45, height-45);
text("1040 ", 370, 45); // Druck Skala rechts
text("980 ", 380,295);
text("1000 ", 370,295-((295-45)/3));
text("1020 ", 370,295-((295-45)/3*2));
stroke(100, 0, 0); // Druck zeichnen
line(xPos, height-druck-1, xPos, height-druck);
if (xPos >= width) {
xPos = 0;
background(200,200,200);
}
else { xPos++; }
}
}
Das Ergebnis sieht dann so aus
Software: Arduino 1.6.1, Processing 2.2.1
Hardware: Arduino Nano, BMP180
von Matthias Busse

