烽火社区

标题: 香蕉派R1制作电子指南针【QT4图形显示】 [打印本页]

作者: jerrylee    时间: 2015-2-11 01:03 PM
标题: 香蕉派R1制作电子指南针【QT4图形显示】

嗯,最近一直想弄个出行的导航系统,骑车一族嘛,出去玩肯定要带点设备。

昨天晚上玩QT4突然想研究一下串口,嘿嘿,正好,就利用QT4来做一个电子指南针的上位机。

首先要安装QT4的环境,apt-get install qt4-designer qt4-qmake等,我是安装了这些……大家可以做个参考……[attach]37337[/attach]

安装好后,就可以在开始菜单的编程工具里找到

[attach]37338[/attach]

嗯,打开QT设计器,就可以看到一个比较眼熟的窗口设计界面了~

那么我们就来写个窗口吧~有UI设计绘制窗口还是很容易的。当然,对于QT我只是个新手,神马类神马指针我几乎都不懂,唯一记得比较清楚的是信号槽……

好了不扯淡了,速战速决,我手上有个指南针模块,可以用串口和IIC来通讯,为了方便直接用串口。

[attach]37339[/attach]

连接模块上的TXRX到香蕉派的串口上,这里我为了方便用是接了个PL2303的USB转串口模块,所以一会用的串口终端是/dev/ttyUSB0

那QT4怎么用串口呢?对于一个新手来说要自己写出来肯定是不太可能。没关系,百度!

直接百度个QT4串口,拿回来自己看着研究,然后修改……【这里我用的是lincom的开源串口调试助手程序,在此感谢原作者】

[attach]37340[/attach]

开源的好处就是酱紫,程序的一些功能不是自己需要的或者缺少自己需要的就可以随意修改为自己需要的功能。

最后我是改成了这一个样子……中间加了一个Dial组件,用来做指南针的指针盘,提取码是cd87,以及在最下面放了个角度显示的文本框,以及最后考虑到可能我会在树莓派上用以及为了看着方便添加了个隐藏其他多余内容的选择框。

然后修改代码,在原来的程序里写一些转换的操作和对控件的控制。

主要增加了这些内容:

[attach]37341[/attach]

在接收处理里写一些类型转换,把接收到的信息进行处理最后传递给dial和spinBox两个控件来显示方向信息。

[attach]37342[/attach]

最后,保存然后编译运行。

[attach]37343[/attach]

没有意外的话,就可以看到窗口了,然后选好串口,设置好波特率点击绿色的打勾按钮打开串口

[attach]37344[/attach]

串口打开后在发送数据那输入1,因为模块的控制是被动的,你发送一个控制指令他才会返回对应的数据,1是控制输出角度信息。

最后点连续发送让程序自动发送控制指令,这样就可以实时的获取传感器的信息了。

为了方便查看我们可以点击右下角的隐藏选择框把串口的其他没必要的东西隐藏起来,需要显示的时候点击菜单的关于里选隐藏其他就可以重新显示。

[attach]37345[/attach]

同时也可以看到,在终端也会实时的输出一些获取到的数据,那其实是我在写程序时方便调试的,不需要大家可以自行删除之前贴出的那部分代码中的printf即可。



作者: MHB520    时间: 2015-2-11 02:54 PM
顶一个!!!
作者: 寻觅虚无    时间: 2015-2-11 05:01 PM

[attach]37346[/attach][attach]37347[/attach]

这是在树莓派上用TFT屏幕运行的实际效果,因为香蕉派我没有屏幕,所以就用树莓派运行,程序可以直接放在树莓派上执行


作者: 巴山小游侠    时间: 2015-2-11 05:08 PM
牛逼;!
作者: 二水ershui    时间: 2015-3-10 12:12 PM
学习啦                  




欢迎光临 烽火社区 (https://bbs.cnecport.com/) Powered by Discuz! X3.2