您的位置 首页 报告

自己动手用Cortex-M3与ADXL345做个重力感应遥控器

已经是很久没有写文章了,因为没有时间,人家都说大四不考研,天天像过年,可我依旧没能有那份闲暇的时间。现在几乎人人的手里都是一款安卓智能机这是我非常羡慕的,而我手里只有上学期用380元买的一台二手诺基亚

现已是好久没有写文章了,由于没有时刻,人家都说大四不考研,天天像春节,可我仍旧没能有那份空闲的时刻。

现在简直人人的手里都是一款安卓智能机这是我十分仰慕的,而我手里只需上学期用380元买的一台二手诺基亚N96,尽管也称得上智能机可是远远没有现在安卓智能的优异,其间一个功用便是经过重力感应玩赛车游戏,我想这个咱们都不生疏,只需把手机歪一歪斜一斜就可以操控赛车方向了,这个功用令桥哥好生仰慕嫉妒恨,惋惜自己的手机不能玩,上星期突来创意何不自己做一个玩玩。正好上学期开始着手给侄子做的四轴飞行器的基板根本调试完结,中心的芯片便是一块M3微控器,一块三轴加速度传感器ADXL345,一块三轴数字陀螺仪。而要做一个简略的重力感应遥控器用M3结合ADXL345就可以完成了。实践上由于之前调试把芯片的操控函数都写好了,而且上位机的程序又有之前给学长做毕设的时分写的程序的根底,所以花的时刻很少也就两个下午的时刻。

要完成一个操控电脑游戏的重力感应遥控器原理也十分简略,无非便是判别此刻遥控器歪斜视点,然后M3将指令敏捷传给电脑,电脑依据指令给出跟敲击键盘方向键相同的指令就完事了。检测歪斜视点由ADXL345完成,三轴加速度传感器可以测出静态时xyz方向的加速度,假如平放的情况下,只在z轴有一个向下的重力加速度,假如歪斜,那么重力将可以分化到xy方向,这样产生了xy方向的加速度,然后可以测得遥控器向哪边歪斜了。

接下来,M3经过I%&&&&&%总线方法读取ADXL345测得的X轴的加速度数据,只需经过判别X轴方向的数据就可以判别基板往哪个方向歪斜了。下面是M3的丈量代码

M3判别出歪斜方向之后当即经过57600波特率的串口向电脑上位机发送指令,为了进步遥控器灵敏度和反映速度,我这儿指令只用了一个字符,L代表左,R 代表右,而且不运用校验,也不需求上位机回应M3,M3只管往上位机不断发指令就可以了,可以大大进步功率,实践测验中,这种波特率情况下即确保了传输速率,误码率也是较低的。

接下来上位机接纳到方向指令后就得经过代码来模仿咱们平常敲击键盘的动作,程序也是十分简略。跟我曾经做的无线鼠标的完成代码十分的相似。

经过这段代码可以发现,除了左键右键的指令外,还有一个名为’X’的空白指令,代表的是当遥控器水平放置的时分开释按键。

VC写的上位机界面如下所示

看起来比较的粗糙,外观上我就不做什么润饰了,究竟做的是电子而不是软件开发,只需可以完成我需求的功用,软件丑陋一点就迁就吧。中心的四个方向按键效果是为了满意有些游戏是需求一向按下某个按键玩的,比方极品飞车你就得一向按着方向键才干走吧呵呵,当然就现在来讲我只判别了ADXL345的X轴数据,假如联合Y轴数据来判别,就可以一起操控上下左右四个方向了,这点我就先不再做,由于最近仍是忙。最右边的调试数窗口用来做开发的时分监测串口数据用的,也可以用于体系的后续开发的调试运用。

实测情况,由于这块小板原先的规划是微型四轴所以用的是电池供电,仍是十分便利的,这块电池也是十分给力,就冲了一次电,我都拿它调试过很长的时刻了,仍旧有电。

遥控器经过串口跟电脑衔接今后,翻开软件然后翻开串口,然后把软件最小化之后就可以运用了,现已过了一把重力感应玩赛车的隐。

我现在还用的是有线串口完成通讯,假如是无线的遥控器那将会愈加完美,实践上我的板子上规划有2.4G无线通讯模块接口,可是向无线模块写入发送数据,然后另一方还得有接纳然后再经过串口传给电脑,这中心就额定增加了一段时刻,或许会给遥控器的灵敏度带来下降,当然我还没有实测过,这是后续开发的事,我现已没有太多的时刻放在此处,接下来我的重心将放在四轴飞行器上边,或许最好的结果是在今年春节可以让小侄看到可以飞起来的四轴,当然很可能也是他什么都看不到,我只能极力了何况还有很多使命做诚心忙。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/291950.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部