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

 已经是很久没有写文章了,因为没有时间,人家都说大四不考研,天天像过年,可我依旧没能有那份闲暇的时间。

现在几乎人人的手里都是一款安卓智能机这是我非常羡慕的,而我手里只有上学期用380元买的一台二手诺基亚N96,虽然也称得上智能机但是远远没有如今安卓智能的优秀,其中一个功能就是通过重力感应玩赛车游戏,我想这个大家都不陌生,只要把手机歪一歪斜一斜就可以控制赛车方向了,这个功能令桥哥好生羡慕嫉妒恨,可惜自己的手机不能玩,上周突来灵感何不自己做一个玩玩。正好上学期开始着手给侄子做的四轴飞行器的基板基本调试完成,核心的芯片就是一块M3微控器,一块三轴加速度传感器ADXL345,一块三轴数字陀螺仪。而要做一个简单的重力感应遥控器用M3结合ADXL345就可以实现了。实际上由于之前调试把芯片的控制函数都写好了,而且上位机的程序又有之前给学长做毕设的时候写的程序的基础,所以花的时间很少也就两个下午的时间。

要实现一个控制电脑游戏的重力感应遥控器原理也非常简单,无非就是判断此时遥控器倾斜角度,然后M3将指令迅速传给电脑,电脑根据指令给出跟敲击键盘方向键一样的指令就完事了。检测倾斜角度由ADXL345实现,三轴加速度传感器能够测出静态时xyz方向的加速度,如果平放的情况下,只在z轴有一个向下的重力加速度,如果倾斜,那么重力将可以分解到xy方向,这样产生了xy方向的加速度,从而可以测得遥控器向哪边倾斜了。

接下来,M3通过IIC总线方式读取ADXL345测得的X轴的加速度数据,只要通过判断X轴方向的数据就可以判断基板往哪个方向倾斜了。下面是M3的测量代码

M3判断出倾斜方向之后立即通过57600波特率的串口向电脑上位机发送指令,为了提高遥控器灵敏度和反映速度,我这里指令只用了一个字符,L代表左,R 代表右,并且不使用校验,也不需要上位机回应M3,M3只管往上位机不断发指令就可以了,可以大大提高效率,实际测试中,这种波特率情况下即保证了传输速率,误码率也是较低的。

接下来上位机接收到方向指令后就得通过代码来模拟我们平时敲击键盘的动作,程序也是非常简单。跟我以前做的无线鼠标的实现代码非常的类似。

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

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

看起来比较的粗糙,外观上我就不做什么修饰了,毕竟做的是电子而不是软件开发,只要能够实现我需要的功能,软件难看一点就将就吧。中间的四个方向按键作用是为了满足有些游戏是需要一直按下某个按键玩的,比如极品飞车你就得一直按着方向键才能走吧呵呵,当然就目前来讲我只判断了ADXL345的X轴数据,如果联合Y轴数据来判断,就可以同时控制上下左右四个方向了,这点我就先不再做,因为最近还是忙。最右边的调试数窗口用来做开发的时候监测串口数据用的,也可以用于系统的后续开发的调试使用。

实测状况,因为这块小板原先的设计是微型四轴所以用的是电池供电,还是非常方便的,这块电池也是非常给力,就冲了一次电,我都拿它调试过很长的时间了,依旧有电。

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

我现在还用的是有线串口实现通信,如果是无线的遥控器那将会更加完美,实际上我的板子上设计有2.4G无线通信模块接口,但是向无线模块写入发送数据,然后另一方还得有接收然后再通过串口传给电脑,这中间就额外增加了一段时间,或许会给遥控器的灵敏度带来下降,当然我还没有实测过,这是后续开发的事,我已经没有太多的时间放在此处,接下来我的重心将放在四轴飞行器上边,或许最好的结果是在今年过年可以让小侄看到能够飞起来的四轴,当然很可能也是他什么都看不到,我只能尽力了况且还有好多任务做真心忙。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

本文中,小编将对手机重力感应予以介绍,如果你想对它的详细情况有所认识,或者想要增进对它的了解程度,不妨请看以下内容哦。

关键字: 重力感应 传感器 重力传感器

为增进大家对智能遥控器的认识,本文将对智能遥控器、智能遥控器故障定位予以介绍。

关键字: 遥控器 指数 智能遥控器

为增进大家对无线电遥控器的认识,本文将对无线电遥控技术、无线电遥控器予以介绍。

关键字: 遥控器 指数 无线电遥控器

为增进大家对无线遥控器的认识,本文将对无线遥控器、无线遥控器常见的5个故障以及处理方式予以介绍。

关键字: 遥控器 指数 无线遥控器

为增进大家对工业无线遥控器的认识,本文将对工业无线遥控器、影响工业无线遥控器信号强弱的因素予以介绍情况。

关键字: 遥控器 指数 工业无线遥控器

为增进大家对工业遥控器的认识,本文将对工业遥控器、工业遥控器的优点、工业遥控器的应用予以介绍。

关键字: 遥控器 指数 工业遥控器

蓝牙适配器指数码产品适用蓝牙设备的接口转换器。蓝牙适配器采用了全球通用的短距离无线连接技术蓝牙,使用与微波、遥控器以及有些民用无线通讯器材相同的2.4GHz附近免付费。

关键字: 蓝牙 适配器 遥控器

Holtek针对蓝牙广播,新推出BLE Beacon收发器BC7262,内建标准Beacon Packet Format,让Beacon封包收发更便利。适合应用于蓝牙双向传输的智能化产品,如传感、安防、遥控器、灯控、健康...

关键字: 蓝牙 遥控器

前不久,米家直流变频落地扇正式发布,售价349元。作为智米自然风风扇的“兄弟款”,米家直流变频落地扇由小米和智米科技共同研发和制造,主要的变动就是取消了内置电池以及遥控器,价格更为亲民。

关键字: 直流变频 电池 遥控器

为增进大家对遥控器的认识,本文将对工业遥控器的应用,以及电子遥控器的匹配方法予以介绍。

关键字: 遥控器 指数 电子遥控器
关闭
关闭