Arduino & Processing
Automatizace, řízení, měření, logování a programování s využitím platformy Arduino.
-
- Příspěvky: 8
- Registrován: čtv pro 25, 2014 6:03 pm
Arduino & Processing
Já už si s tím prostě nevím rady.
Mám v současné době tento program:
A tuto vizualizaci:
Výsledek u mě vypadá takto:
http://img24.cz/images/16052531158694030888.jpg
Chtěl jsem docílit toho, abych měl, namísto textového zobrazení hodnot, graf, jako je tento:
https://boolscott.wordpress.com/2010/02 ... r-graph-2/ (nejde mi o doslovně stejný grafický řešení, ale "pouze" o tento princip: graf mění svou velikost podle měřených hodnot.)
A už nevím, proč mi o věčně nejde. Nevím, co dělám špatně, a mě už je z toho špatně.
Děkuji za radu, sám si už žádnou nedám.
Mám v současné době tento program:
Kód: Vybrat vše
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
}
Kód: Vybrat vše
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);
}
http://img24.cz/images/16052531158694030888.jpg
Chtěl jsem docílit toho, abych měl, namísto textového zobrazení hodnot, graf, jako je tento:
https://boolscott.wordpress.com/2010/02 ... r-graph-2/ (nejde mi o doslovně stejný grafický řešení, ale "pouze" o tento princip: graf mění svou velikost podle měřených hodnot.)
A už nevím, proč mi o věčně nejde. Nevím, co dělám špatně, a mě už je z toho špatně.
Děkuji za radu, sám si už žádnou nedám.
-
- Příspěvky: 1586
- Registrován: pát bře 15, 2013 7:53 pm
Re: Arduino & Processing
Chápu to dobře, že se jedná o dvě Arduina spojená po serialu (důvod?)? Nebo ten processing je na něčem jiném? Chtělo by to lepší popis
Jsem osobně spíš příznivcem generování grafů přímo na měřícím Arduinu, pokud je tedy někdo chce, a zobrazení přes ethernet v internetovém browseru. Je to rozhodně praktičtější a přístupné odkudkoli a na jakémkoli zařízení včetně mobilu. Není problém napsat nějaký zobrazovací a grafový skript pro Arduino. Jednodušší bargrafy jen za pomocí tabulek a složitější grafy (jako třeba na https://boolscott.files.wordpress.com/2 ... -graph.jpg) pomocí HTML5.
Není dobré něco stavět s tím, že se pokusím o nějaký graf. Chce to představit si přesně co chci a pak to prostě naprogramovat.
Jsem osobně spíš příznivcem generování grafů přímo na měřícím Arduinu, pokud je tedy někdo chce, a zobrazení přes ethernet v internetovém browseru. Je to rozhodně praktičtější a přístupné odkudkoli a na jakémkoli zařízení včetně mobilu. Není problém napsat nějaký zobrazovací a grafový skript pro Arduino. Jednodušší bargrafy jen za pomocí tabulek a složitější grafy (jako třeba na https://boolscott.files.wordpress.com/2 ... -graph.jpg) pomocí HTML5.
Není dobré něco stavět s tím, že se pokusím o nějaký graf. Chce to představit si přesně co chci a pak to prostě naprogramovat.
-
- Příspěvky: 8
- Registrován: čtv pro 25, 2014 6:03 pm
Re: Arduino & Processing
No, je to jedno arduino, v něm zapojená dvě teplitní čidla
Chci to mít tak, že se mi v Processingu zobrazí dva grafy, pro každé čidlo jeden. A jejich velikost se bude měnit podle změn snímané teploty.
Chci to mít tak, že se mi v Processingu zobrazí dva grafy, pro každé čidlo jeden. A jejich velikost se bude měnit podle změn snímané teploty.
-
- Příspěvky: 8
- Registrován: čtv pro 25, 2014 6:03 pm
Re: Arduino & Processing
Tak, nakonec sem čerpal inspiraci odtud (konkrétně kapitola "Graphing Serial Data in Processing"):
http://www.dustynrobots.com/nyu/seeing- ... nsed-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/technica ... _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- ... nsed-data/
http://www.dustynrobots.com/nyu/seeing- ... nsed-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/technica ... _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- ... nsed-data/
-
- Podobná témata
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
-
Graf ve vizualizačním softwaru Processing (Arduino)
od jan.westhuserlt » » v Automatizace, měření, statistiky - 0 Odpovědi
- 1214 Zobrazení
-
Poslední příspěvek od jan.westhuserlt
-
-
- 15 Odpovědi
- 4810 Zobrazení
-
Poslední příspěvek od proasnet
-
- 62 Odpovědi
- 9199 Zobrazení
-
Poslední příspěvek od JiTr
-
- 6 Odpovědi
- 1195 Zobrazení
-
Poslední příspěvek od Matess
-
- 1 Odpovědi
- 1186 Zobrazení
-
Poslední příspěvek od rob.brno