所以我很生气,无法完成如此简单的事情。 我有一个Arduino通过串行端口发送各种值。发送的值显示为例如152,0,140,92,53..etc。 我只想在处理中保存例如100个这些值,停止记录然后以某种方式绘制它。 如果没有端口“关闭”本身或根本没有记录数据,我实际上无法获得运行的顺序。
有人可以指导我完成其工作版本吗?
Arduino的部分很简单:
<pre>int fsr0;
int fsr1;
void setup()
{
Serial.begin(9600);
}
void loop()
{
fsr0=analogRead(A4);
fsr1=analogRead(A5);
Serial.print(fsr0);
Serial.print(",");
delay(500);
Serial.println(fsr1);
delay(500);
}
<code>
处理部分是
<pre>import processing.serial.*;
float gauge0[] = new float[100];
float gauge1[] = new float[100];
int k=0;
Serial mySerial;
void setup()
{
size (800, 580);
frameRate(10);
String myPort = Serial.list()[0];
mySerial = new Serial(this, myPort, 9600);
mySerial.bufferUntil('\n');
}
void draw()
{
// something
}
void serialEvent(Serial mySerial)
{
String inString = mySerial.readStringUntil('\n');
if (inString!=null); // this area splits the arduino inputs such that they can be received seperately
{
inString=trim(inString);
float[] sensors= float (split(inString, ","));
if (sensors.length>=2)
{
gauge0[k]=sensors[0];
gauge1[k]=sensors[1];
k++;
}
}
}<code>