nxcosa 发表于 2016-3-23 19:13:30

在一个串口界面同时画多个数据

本帖最后由 nxcosa 于 2016-3-23 19:12 编辑

不知道你有没有碰到过这种情况,你想要做个滤波,但是你不知道你的滤波的效果是怎么样的,因为你不能同时在一个窗口里面看到原始数据和滤波后的数据的波形图。

这几天在玩MPU6050,就像看看一次原始波形与卡尔曼滤波,一次滤波,互补滤波的实时波形,但是ARDUINO自带的串口绘图器只能支持一个数据显示波形。今天下午发现了这个软件可以实时同步显示多个数据波形。http://code.google.com/p/serialchart/

这个软件需要一些配置,也很简单,这里是配置的翻译http://www.geek-workshop.com/thread-554-1-1.html

如果你不想看那些介绍的话我直接看我下面的简单的配置吧,想要更复杂的内容,还是看上面的链接吧。
开始了!
首先把这帖子的附件的软件下载下来。
打开SerialChart.exe这个软件,



在configuration那个界面里面复制粘贴我下面的内容
复制开始!!


port=COM3   
baudrate=115200

width=10000
height=500
background_color = white

grid_h_origin = 0
grid_h_step = 1
grid_h_color = #EEE
grid_h_origin_color = #CCC

grid_v_origin = -100
grid_v_step = 0
grid_v_color = #EEE
grid_v_origin_color=#CCC



min=-180
max=180




color=pink




color=navy




color=yellow




color=red

复制结束!!
好了,要适应你自己的程序,你只要注意一下几个参数就可以了。


   port=COM3       这个更改为你自己的串口,串口大于10好像没用,该成小于10的baudrate=115200      改成你的程序写的波特率例如你程序写的是Serial.begin(115200),这里就是115200
width=10000         这个宽度是下面的Chart窗口总共能显示多少个采样,就是如果10000,则只能显示10000个点就不能显示了height=500            这个是Chart窗口数据的高度,如果你的数据是-255~ 255那么这个值最小要512
min=-180            这个是配置你想显示的参数的范围大,因为我这个是要显示roll的角度,范围只有-180~180max=180

                     这个roll要改成你想要的数据,例如你的程序里面写的是Serial.print(Temp);那么就要弄成color=pink            这个就是更改这个数据波形的颜色,你想要这个波形显示什么颜色就改下颜色名字。
                              https://www.w3.org/TR/SVG/types.html#ColorKeywords   颜色名字可以参考这个网站

            就是这样继续添加更多的数据color=navy

下面就是你ARDUINO的程序发送的方式:
Serial.print(roll);Serial.print(",");                                    //每个后面都需要加Serial.print(",");要发送个","字符过去
Serial.print(gyroXangle); Serial.print(",");                  //这个名字要对应你SerialChart配置里面的名字
Serial.print(compAngleX); Serial.print(",");

Serial.print(kalAngleX); Serial.print(",");
Serial.print("\r\n");                                                            //所有数据发送完后要加这一句


OK,差不多就这样了,把程序烧进UNO,关闭ARDUINO这个软件,打开SerialChart这个软件,电机绿色的开始按钮就可以了。不过这个软件有个BUG的地方,他下面的波形显示的窗口Chart不能自动跟随数据跑,要你手拖动才能看到实时最新的数据。如果你Data串口看到有数据而Chart没看到波形,你就拖动拖动条(主要是上下拖动条)试试。
下面就是我的程序输出的四个数据的波形










iooops 发表于 2016-3-24 00:45:45

沙发!

virtualwiz 发表于 2016-3-26 15:10:16

mark~
还没玩过SerialChart:lol学习咯

凌风清羽 发表于 2016-3-27 21:06:04

有意思~~~~

nxcosa 发表于 2016-3-28 11:13:38

凌风清羽 发表于 2016-3-27 21:06
有意思~~~~

DF软件部的大神做了个更好用的    但是暂时好像还没出正式版   我测试使用下来相当不过

凌风清羽 发表于 2016-3-28 17:22:56

哈哈,期待ing
页: [1]
查看完整版本: 在一个串口界面同时画多个数据