Arduino with processing

Hello, i have this arduino program:

int sensorPin1 = 0; //Definice analogového pinu, ke kterému připojím výstup snímače teploty 
//citlivost je 10mV na jeden °C 
//s celkovou škálou 500mV - umožňuje i záporné hodnoty. 
int sensorPin2 = 1; //Definice analogového pinu, ke kterému připojím výstup snímače teploty 
//citlivost je 10mV na jeden °C 
//s celkovou škálou 500mV - umožňuje i záporné hodnoty. 

//funkce uvedené zde se načtou po spuštění arduina a platí po celou dobu běhu programu. 

void setup() 
{ 
Serial.begin(9600); //nabindování sériové komunikace s počítačem. 
Serial.println("Vitejte v programu na mereni teploty."); // odeslani textu po seriove lince s odradkovanim 

} 

void loop() // tyto funkce se cyklicky opakují 
{ 
//čtení napěťových hodnot z teplotního senzoru 
int reading1 = analogRead(sensorPin1); 
int reading2 = analogRead(sensorPin2); 
// převod načtených hodnot na napětí (?), for 3.3v arduino use 3.3 
float voltage1 = reading1 * 5.0; 
voltage1 /= 1024.0; 

float voltage2 = reading2 * 5.0; 
voltage2 /= 1024.0; 
// zobrazení napěťových hodnot 
Serial.print("Senzor A:"); Serial.print(voltage1); Serial.println(" V"); 
Serial.print("Senzor B:"); Serial.print(voltage2); Serial.println(" V"); 

// zobrazení teploty v °C 
float temperatureC1 = (voltage1 - 0.5) * 100 ; //převod teploty (10 mv = 1 °C) s celkovám rozsahem 500mV !offset! 
//to degrees ((voltage - 500mV) times 100 ?) 
Serial.print("Teplota A:"); Serial.print(temperatureC1); Serial.println(" stupnu C"); 

float temperatureC2 = (voltage2 - 0.5) * 100 ; //převod teploty (10 mv = 1 °C) s celkovám rozsahem 500mV !offset! 
//to degrees ((voltage - 500mV) times 100 ?) 
Serial.print("Teplota B:"); Serial.print(temperatureC2); Serial.println(" stupnu C"); 


delay(5000); //doba zobrazení textu 5s 
}

and this Processing app

import processing.serial.*;
String temperature = "0";
PImage pozadi;
PFont font;
Serial port;
void setup() {
pozadi = loadImage("pozadi.jpg");
size(1024, 768, P2D);
rect(30, 20, 55, 55, 7);
font = loadFont("Algerian-30.vlw");
port = new Serial(this, "COM4", 9600);
fill(0);
smooth();
} 
void draw () {
image(pozadi, 0, 0, width, height);
int q = second(); 
int w = hour(); 
int e = minute(); 
int r = day(); 
int t = month(); 
int z = year(); 
text(":" , 78, 50);
text(":" , 115, 50);
text("." , 78, 80);
text("." , 115, 80);
fill(249, 250, 56);
if (port.available()>0) {
delay(100);
temperature = port.readString();
}

text(temperature, width/3, height/3);

String
s = String.valueOf(w);
text(s, 47, 50);
textFont(font, 25);
s = String.valueOf(e);
text(s, 85, 50);
s = String.valueOf(q);
text(s, 120, 50);
s = String.valueOf(r);
text(s, 47, 80);
s = String.valueOf(t);
text(s, 85, 80); 
s = String.valueOf(z);
text(s, 122, 80);
}

Effect is here:

How i can addapt this sample:
Arduino + Processing : Analogue bar graph | the open source student to my project? I want see temperature not like a text message, but like a bargraph. And i dont know where is a bug :frowning:

How make same kind of bargraph, like i see on boolscott´s web?

Many thanks for help.

if (port.available()>0) {
delay(100);
temperature = port.readString();
}

If there is data to read, stick your thumb up your ass for a while, then read the data. Please explain why!

String
s = String.valueOf(w);

Maybe you should have:

String
s
=
String.valueOf
(
w
)
;

One statement goes on ONE line!

I want see temperature not like a text message, but like a bargraph

First question then is why you are sending all that other stuff then.

Serial.print("Senzor A:"); Serial.print(voltage1); Serial.println(" V"); 
Serial.print("Senzor B:"); Serial.print(voltage2); Serial.println(" V"); 
Serial.print("Teplota A:"); Serial.print(temperatureC1); Serial.println(" stupnu C");

Don't send what you don't need.

On the Processing end, you need to use serialEvent(), bufferUntil(), and readUntil(), and get reading serial data out of draw().

You'll need to convert the string you read back to an int.

"If there is data to read, stick your thumb up your ass for a while, then read the data. Please explain why!
"

What you mean? I just need to know how adapt that bargraph for my Arduino projekt. Nothing else.

I just need to know how adapt that bargraph for my Arduino projekt. Nothing else.

I respectfully disagree.

why?

Safranek:
why?

Because you are overlooking problems with the code. Fixing one issue, while ignoring others, is not the best approach, in my opinion.

I agree, but now i need proper useable code, then, i can boring myself with solving theoretic problems.

Tak, nakonec sem čerpal inspiraci odtud (konkrétně kapitola "Graphing Serial Data in Processing"):

http://www.dustynrobots.com/nyu/seeing-sensors-how-to-visualize-and-save-arduino-sensed-data/

Nedostatkem je, že tastovací zapojení potenciometru (levá noha uzemněna, prostřední na A0, pravá na 5V) funguje na jedničku, zatímco ta s TM36 (+Vs - 5V, Vout na A0, GND na GND http://www.analog.com/media/en/technical-documentation/data-sheets/TMP35_36_37.pdf) taky zobrazí nějakou grafickou hodnotu, ale stále stejnou.

Tak už teda nevím, zda je problém někde, anebo, zda jde jen o nastavení škály, že ty teplotní změny jsou pro tento graf moc malé.

Nějaké tipy?

http://www.dustynrobots.com/nyu/seeing-sensors-how-to-visualize-and-save-arduino-sensed-data/