如何仅绘制来自传感器的当前数据点?
How to plot only the current data point from sensor?
我正在从串行端口获取 LVDT 传感器数据。数据存储在变量 "values" 中。我正在映射输入然后绘图,但它也绘制了所有以前的点。我只想显示最新的值。
void draw()
{
while ( myPort.available() > 0)
{
String values = myPort.readStringUntil(lf);
if (values != null)
{
noFill();
stroke(255, 0, 0);
strokeWeight(1);
float end = map(float(values), 735, 4160, 0, height); // 735 is lowest value from sensor and 4160 is max. value from sensor
fill(255, 0, 0);
ellipse(200, end, 10, 10);
line(200, 400, 200, end);
}
}
}
目前显示是这样的:
但是我只想像这样显示最新的点:
添加一个全局变量,用于存储最后一个数据点。在绘制开始时读取数据点并将它们存储在全局变量中。这导致只注意到最后一个数据点。
在绘制开始时清除背景 (background()
) 并仅绘制一个数据点:
String values;
void draw()
{
while ( myPort.available() > 0) {
values = myPort.readStringUntil(lf);
}
background(0);
if (values != null)
{
noFill();
stroke(255, 0, 0);
strokeWeight(1);
float end = map(float(values), 735, 4160, 0, height); // 735 is lowest value from sensor and 4160 is max. value from sensor
fill(255, 0, 0);
ellipse(200, end, 10, 10);
line(200, 400, 200, end);
}
}
我正在从串行端口获取 LVDT 传感器数据。数据存储在变量 "values" 中。我正在映射输入然后绘图,但它也绘制了所有以前的点。我只想显示最新的值。
void draw()
{
while ( myPort.available() > 0)
{
String values = myPort.readStringUntil(lf);
if (values != null)
{
noFill();
stroke(255, 0, 0);
strokeWeight(1);
float end = map(float(values), 735, 4160, 0, height); // 735 is lowest value from sensor and 4160 is max. value from sensor
fill(255, 0, 0);
ellipse(200, end, 10, 10);
line(200, 400, 200, end);
}
}
}
目前显示是这样的:
但是我只想像这样显示最新的点:
添加一个全局变量,用于存储最后一个数据点。在绘制开始时读取数据点并将它们存储在全局变量中。这导致只注意到最后一个数据点。
在绘制开始时清除背景 (background()
) 并仅绘制一个数据点:
String values;
void draw()
{
while ( myPort.available() > 0) {
values = myPort.readStringUntil(lf);
}
background(0);
if (values != null)
{
noFill();
stroke(255, 0, 0);
strokeWeight(1);
float end = map(float(values), 735, 4160, 0, height); // 735 is lowest value from sensor and 4160 is max. value from sensor
fill(255, 0, 0);
ellipse(200, end, 10, 10);
line(200, 400, 200, end);
}
}