Arduino发送多个传感器数据到Processing显示
Posted 村头陈师傅
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Arduino发送多个传感器数据到Processing显示相关的知识,希望对你有一定的参考价值。
Arduino发送多个文本字段到Processing
公众号:STCode
我们想要Arduino发送包含多个字段的消息,例如,消息可能包含来自两个或者多个传感器的值,我们想要在PC端的Processing程序中使用这些值。做到上述效果简单的方法是发送一个文本字符串,里面所有的字段都被分隔字符所分隔。
Arduino端程序如下:
void setup()
{
Serial.begin(9600);
}
void loop()
{
int val1 = 123;
int val2 = 456;
int val3 = 789;
Serial.print('H');
Serial.print(',');
Serial.print(val1,DEC);
Serial.print(',');
Serial.print(val2,DEC);
Serial.print(',');
Serial.print(val3,DEC);
Serial.print(',');
Serial.println();
delay(100);
}
Processing端代码:
import processing.serial.*;
Serial myPort;
char HEADER = 'H';
short LF = 10;
String message;
String []data;
int Serial_flag = 0;
void setup()
{
size(500,500);
myPort = new Serial(this,"COM10",9600);
}
void draw()
{
background(255);
if(Serial_flag == 1)
{
textSize(32);
fill(0, 102, 153);
text("val1 = " + data[1], 150, 100);
text("val2 = " + data[2], 150, 200);
text("val3 = " + data[3], 150, 300);
}
}
void serialEvent(Serial p)
{
Serial_flag = 1;
message = myPort.readStringUntil(LF);
if(message != null)
{
data = message.split(",");
if(data[0].charAt(0) == HEADER && data.length > 3)
{
for(int i = 0;i<data.length-1;i++)
{
println("val"+i+"=="+data[i]);
}
println();
}
}
}
控制台信息
Processing界面信息
将Arduino接上多种传感器,将传感器的值替换掉val1、val2、val3就能在Processing端显示传感器的数据啦!
以上是关于Arduino发送多个传感器数据到Processing显示的主要内容,如果未能解决你的问题,请参考以下文章
Arduino没有形成蓝牙连接/将传感器数据从arduino发送到android
使用javascript和socket.io从串口显示多个传感器数据