Недавно я учусь использовать обработку с моим arduino UNO, я проверил учебник по графику arduino , и он работает как чудо, но я не смог обновить простой текст, когда выданные рисования, например, если у меня есть источник данных в реальном времени, который поступает через последовательный порт.
Я хочу написать текст со значением, но кажется, что он каким-то образом затенен / перезаписан, и это невозможнодисплей с номером.
Проверьте следующее изображение:
Исходный код для построения этих данных следующий:
/*
GreenLine Temperature Graph,
Modified from https://www.arduino.cc/en/Tutorial/Graph
c1b3r
*/
import processing.serial.*;
Serial myPort;
int xPos = 1;
color eggshell = color(255, 253, 248);
int temperaturaActual;
float temperaturaPreviaAltura = 0 ;
String inDataArduino;
PFont font;
void setup () {
size(600,600);
//fullScreen();
frameRate(30);
println(Serial.list());
myPort = new Serial(this, Serial.list()[0], 9600);
myPort.bufferUntil('\n');
background(0);
font = createFont("Arial",32,true);
}
void draw () {
int Xmaxgraph = int(width-(width/4));
println(Xmaxgraph,width, height);
temperaturaActual = int(inDataArduino);
float alturaTemperatura = map(temperaturaActual, 0, 1023, 0, height);
stroke(255,255,255);
line(Xmaxgraph, 0, Xmaxgraph, height);
textSize(40);
fill(255, 0, 0);
textFont(font,16);
text("Temp°", width - 150, 40);
text(temperaturaActual, width - 150, 90);
fill(255,255,0);
text("Estado", width - 150, height-100);
stroke(0,255,0);
line(xPos-1, height - temperaturaPreviaAltura, xPos, height- alturaTemperatura);
temperaturaPreviaAltura = alturaTemperatura;
if (xPos >= Xmaxgraph) {
xPos = 0;
background(0);
} else {
xPos++;
}
}
void serialEvent (Serial myPort) {
inDataArduino = myPort.readStringUntil('\n');
if (inDataArduino != null) {
inDataArduino = trim(inDataArduino);
}
}
Вот синтаксис выделенный код .
Почему происходит такое поведение?Что я могу сделать, чтобы исправить эту ситуацию и ясно видеть текст при построении данных?
Я ценю вашу помощь с этим, Спасибо, H.