Arduino 和 SerialChart 的互动,教程
Arduino 和 SerialChart 的互动SerialChart是什么?
SerialChart是一个体积非常小串口数据实时生成图形的软件,作用就是绘图,那么在哪些场合可以用上呢?做平衡小车的PID调试,还有卡尔曼滤波融合的时候,借助这个简单的小工具有一个能把数据实时传回电脑进行分析,并且生成图形的软件,会对调试过程起到事半功倍的效果。
正因为SerialChart能做绘图的事情,那么就可以将Arduino的数值传回电脑,然后在绘图。
代码讲解
下面是调试时候的截图,也就是一个抛物线和一个圆的结合,但是有点小瑕疵,就是圆有点不圆,程序中圆的方程和计算是没有什么问题的。只是在Serialchart这里调试有点不理想。
代码下载链接:
链接:http://pan.baidu.com/s/1c24rzHI 密码:kvmr
代码讲解:
port = com3
baurate = 9600
width = 1000
height = 250
background_color = white
grid_h_origin = 0
grid_h_step = 20
grid_h_color = #CCC
grid_h_origin_color = #CCC
grid_v_origin = 0
grid_v_step = 20
grid_v_color = #CCC
grid_v_origin_color = #CCC
min = -5
max = 5
color = red
color = red上面是代码,我不知道怎么给SerialChart写注释,好像没办法写注释,不过下面我讲解一下下面语句的关键点
min = -5
max = 5
这里min max 就是最小最大的意思, 也就是你传回电脑变量的取值范围,这个会对曲线的形状产生非常大的影响,也就是会让你觉得图像或者看上去很奇怪,尽管程序没有错。
好吧,下面插个广告啊。
欢迎光临我们的小店:电子进阶室
https://shop117773209.taobao.com/?spm=a230r.7195193.1997079397.2.nctdgM
我们提供物美价廉的电子模块:
萝莉控遥控器:
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10523036467.3.OhzoFL&id=522167533120
STC15W最小系统板/开发板-64脚
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10523036467.5.OhzoFL&id=520524062405
stc15W4K32S4单片机带下载器
https://item.taobao.com/item.htm?spm=686.1000925.0.0.pz8iRP&id=530621935127
那么接下来就分析一下Arduino的程序,思路是这样子的,定义两个float型的数组变量
也就是定一个X轴的变量范围,然后在根绝抛物线和圆的方程,解出Y的坐标,最后在使用Serialchart能够识别的数据格式,串口打印回电脑,那样就能够显示了,当然,这种方法不仅仅局限于Arduino单片机,其他带串口的单片机都是可以通过此方法调试的,之前我也试过使用STC单片机调试。效果也是可以的。/* 这个sketch展示怎么使用Arduino来画一个抛物线
电脑端使用的画图软件是SerialChart
圆的方程: X^2+Y^2 = 1
抛物线方程:y^2 = 2pX
SerialChart的下载地址是:
另外也欢迎参观我们的网店,我们提供物美价廉
的模块
https://shop117773209.taobao.com/?spm=a230r.7195193.1997079397.2.vO4XPP
店铺名称:电子进阶室
萝莉控遥控器:¥45
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10523036467.3.OhzoFL&id=522167533120
STC15W最小系统板/开发板-64脚 ¥29
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-10523036467.5.OhzoFL&id=520524062405
stc15W4K32S4单片机带下载器 单片机 开发板 套件 C15 系列 手把手 c51 ¥20
https://item.taobao.com/item.htm?spm=686.1000925.0.0.pz8iRP&id=530621935127
2016/05/07 14:30
*/
float xaxis = {0}; // 圆的X轴
float yaxis = {0}; // 圆的Y轴
float pxaxis = {0}; // 抛物线的X轴
float pyaxis = {0}; // 抛物线的Y轴
int para = 10; //抛物线参数,参数越大,抛物线开口越大
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
for (int i = 0; i <= 10; i++) // 给X轴赋值
{
xaxis = i * 0.05;
}
for (int i = 0; i <= 10; i++) //给抛物线X轴赋值
{
yaxis = sqrt(0.5 - xaxis * xaxis); //计算圆的方程
}
for (int i = 0; i <= 100; i++)
{
pxaxis = 2 * para * i; //计算抛物线的方程
}
}
int delay_plot = 0; //用于画出一条直线用
void loop() {
for (int j = 0; j < 100; j++)
{
Serial.print(delay_plot);
Serial.print(",");
Serial.print(0);
Serial.println();
}
for (int i = 10; i >= 0; i--)// 画出圆的左半部份
{
Serial.print(yaxis);
Serial.print(",");
Serial.print(-yaxis);
Serial.println();
}
for (int i = 0; i <= 10; i++) // 画出圆的右半部份
{
Serial.print(yaxis);
Serial.print(",");
Serial.print(-yaxis);
Serial.println();
}
for (int i = 0; i <= 100; i++) //下面这个循环是画出抛物线
{
pyaxis = 0.1 * sqrt(pxaxis);
Serial.print(pyaxis);
Serial.print(",");
Serial.print(-pyaxis);
Serial.println();
}
}最后展示一下其他的画图:
一连串的圆
像关节一样的图形
所有文档的下载链接
1.SerialChart下载地址: 链接:http://pan.baidu.com/s/1qXDgiW8 密码:o9wh
2.所有代码下载:链接:http://pan.baidu.com/s/1c24rzHI 密码:kvmr
参考阅读:
1. SerialChart串口数据波形描绘软件配置详解
http://bbs.ednchina.com/BLOG_ARTICLE_3015472.HTM
2. github中的SerialChart源码 :https://github.com/robint91/serialchart
如果你有任何不明白的地方欢迎指出,感谢帮助我们完善,我们将做得更好。 萝莉的东西虽然是开放的,但还是要在宝贝介绍里声明下吧,尊重下别人的成果
不能让乐意奉献的人心寒 Hackerpro 发表于 2016-5-9 11:55 static/image/common/back.gif
萝莉的东西虽然是开放的,但还是要在宝贝介绍里声明下吧,尊重下别人的成果
不能让乐意奉献的人心寒
不好意思,我不是很懂你的意思,能否指明? freeLabs 发表于 2016-5-9 17:35 static/image/common/back.gif
不好意思,我不是很懂你的意思,能否指明?
我说的是店铺中的商品介绍 挺实用的东东 ' 注释
'设置端口参数
port=COM2
baudrate=9600
'设置绘图区域 单位:像素
width=3600
height=500
background_color = #333333
'设置水平网格,X轴线
grid_h_origin = 300
grid_h_origin_color = yellow
grid_h_step = 10
grid_h_color = #999999
'设置垂直网格,Y轴线
grid_v_origin = 60
grid_v_origin_color = white
grid_v_step = 10
grid_v_color = #999999
'取值映射范围
min=200
max=700
'第一条曲线
color=red
‘第二条曲线
color=green
’第三条曲线
color=#00ffff
你可以去看看DF做的一个开源的串口波形显示的 https://github.com/DFRobot/DFSerialChart 下载后之间点start.bat就好了不需要任何配置
页:
[1]