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这个软件, 在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(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没看到波形,你就拖动拖动条(主要是上下拖动条)试试。 下面就是我的程序输出的四个数据的波形 |
5.08 MB, 下载次数: 3570
软件
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed