基于MPU6050的手势遥控器设计

2014-04-29 06:41徐东阳徐开怀苗北辰李志农
电子世界 2014年21期

徐东阳 徐开怀 苗北辰 李志农

【摘要】现在的智能电子设备的遥控器多数是按键式的,操作繁琐不直观,学习成本大,加上老年人视力普遍不好,给老年人操作带来了巨大的障碍。手势遥控器是指利用简单的手势来指挥电子设备,获得便捷的操作体验,让老年人也可以享受科技发展带来的便利。MPU6050是一个运动传感器,内置陀螺仪,可以快速精确的感应到当前运动的方向及加速度大小,将这些数据通过蓝牙传送给要控制的电子设备进行分析即可对当前的手势进行准确快速的判断,再由电子设备利用判断结果做出相应的动作即完成了通过手势来控制电子设备的目标。

【关键词】MPU6050;手势感应;手势遥控

引言

随着社会的发展进步,越来越多的智能家电走到了寻常百姓家,智能家电为我们的生活提供了巨大的方便。但与此同时我们也注意到了一些现象,智能家电功能丰富,伴随而来的就是复杂的操作性,家电控制面板或者遥控器上许多按键分别负责不同的功能,为了实现特定的功能,可能还要求一些组合按键……年轻人学习起来尚要花费些功夫,更不必说老年人了,老年人学习接受能力不如年轻人,更糟糕的是老年人的视力普遍不太好,,很容易按错误操作。为了让老年人像我们一样方便的操作智能家电设备,享受科技进步带来的便利,我们想到了如果能通过一些简单的手势运动轨迹给智能家电发送指令,操作它们,这将给这一尴尬局面带来巨大的缓解。比如用手势上扬调节空调温度上升、用手势下甩控制空调温度下降,看电视时用上扬手势节目加一、下甩一下节目减一、向右甩音量增大、向左甩音量减小……也可以定义更多的手势来实现更丰富的功能,比如手势在空中划一个“X“形,一个“0”形等等。经过我们的了解,目前这方面的研究还比较少,也没有公开各自的实现方案,有比较大的发展空间。为了验证设想的可行性,我们选择了具有代表性的一个方面来进行设计实现:用手势来控制小灯泡的亮灭。在查阅了许多资料之后我们做出了自己的系统规划,系统包括手势感应子系统和终端子系统,手势感应子系统可以负责收集当前手势运动轨迹数据,包括手势运动轨迹加速度的大小并将这些数据通过蓝牙实时的传送给终端子系统,终端子系统负责对手势感应子系统传回的数据进行计算,分析出当前手势运动的方向,并做出相应的动作,来完成通过手势控制电子设备的目的。下面给出具体设计。

图1

1.手势感应子系统的实现

硬件部分的实现:

手势感应子系统主要包括MPU6050,80C52单片机,蓝牙模块。MPU6050是一个九轴姿态识别模块,可以识别出当前手势轨迹的X,Y,Z轴方向上的加速度和角速度,X,Y,Z的正方向分别为正右,正前,正上方。本项目只需X,Y,Z轴方向上的加速度即可计算出手势的方向,所以发送的一组数据包包括三个数据,分别为X,Y,Z轴方向上的加速度。MPU6050和80C52单片机通过IIC通信协议进行通信,其上的SCL,SDA引脚分别接单片机的1.5,1.6引脚来实现单片机和mpu6050之间控制命令的发放和手势数据的传送。蓝牙模块采用Blue2.0,理论传输速率1Mb/s,有效距离100M,设置为主模块,和单片机通过串口通信他的TX,RX分别接单片机的RX,TX。单片机接收mpu6050的数据并实时通过串口转发出去,和单片机相连蓝牙模块接收到单片机从串口发来的数据立即通过蓝牙转发出去,供给终端子系统利用。具体设计实物图见图1,连接电路图见图2。

2.终端子系统的实现

2.1 硬件部分的实现

终端子系统主要包括蓝牙模块,80C52控制模块,和小灯泡组成。蓝牙模块设置为从模块,并和主模块通过地址绑定后一对一通信防止其他蓝牙信号干扰,通电后主模块和从模块自动配对,如果主模块有数据传送则立即通过串口接收,他的TX,RX分别和单片机的RX,TX连接。小灯泡的正极和单片机的0.0连接,负极接单片机的GND端。当手势感应端感应到上升的手势时候,单片机的0.0端口被置为高电平,小灯泡发光,当手势感应端感应到下降的手势时候,单片机的0.0端口被置为高电平,小灯泡关闭。具体连接电路图见图3。

2.2 软件部分设计

程序的主要功能是利用接收到的运动数据识别出当前手势运动的方向,并根据手势方向控制小灯泡的两灭。程序的核心部分是通过mpu6050返回的数据判断当前手势的方向。接收到的数据包括X,Y,Z轴方向上的加速度,为了防止轻微抖动时的误判,当X,Y,Z轴的值小于设定的阈值是程序不做出反应,当大于阈值时比较X,Y,Z轴加速度绝对值的大小,绝对值最大的方向为手势的主方向,然后再判断该方向值的正负就可以确定手势的最终方向。比如X,Y,Z轴方向的值分别为(2,-3,-10),就可以确定当前运动方向为向下,置0.0为低电平,灯泡熄灭。

3.结语

本系统实现了利用手势控制灯泡亮灭的目标,可以取代传统遥控通过按键去控制的繁琐,实现的简单却有代表性,通过改进程序来对更多的手势实现判断即可控制更丰富的设备推广到更多的领域,让更多的人享受到科技发展的便利!

参考文献

[1]图书——郭天祥.新概念51单片机C语言教程[M].电子工业出版社.