13718浏览
查看: 13718|回复: 5

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

[复制链接]
本帖最后由 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这个软件,

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

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

[_setup_]
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


[_default_]
min=-180
max=180



[roll]
color=pink



[kalAngleX]
color=navy



[gyroXangle]
color=yellow



[compAngleX]
color=red

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


[_setup_]     
port=COM3       这个更改为你自己的串口,串口大于10好像没用,该成小于10的
baudrate=115200      改成你的程序写的波特率  例如你程序写的是Serial.begin(115200),这里就是115200

width=10000           这个宽度是下面的Chart窗口总共能显示多少个采样,就是如果10000,则只能显示10000个点就不能显示了
height=500              这个是Chart窗口数据的高度,如果你的数据是-255~ 255  那么这个值最小要512

[_default_]
min=-180              这个是配置你想显示的参数的范围大,因为我这个是要显示roll的角度,范围只有-180~180
max=180


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

[kalAngleX]            就是这样继续添加更多的数据
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没看到波形,你就拖动拖动条(主要是上下拖动条)试试。
下面就是我的程序输出的四个数据的波形


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







SerialChart.zip

5.08 MB, 下载次数: 3570

软件

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


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

使用道具 举报

凌风清羽  中级技匠

发表于 2016-3-28 17:22:56

哈哈,期待ing
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail