王少彪
摘 要:随着生活质量的不断提升,人们对生活品质的要求越来越高;健身已经成为广大群众的一项爱好,深蹲是练大腿肌肉的王牌动作。又恰好是最需要大肺活量和强健心脏的动作。另外坚持做还会起到减肥的作用。然而不正确的技术动作反而会使膝关节受损,尤其是在配合杠铃练习时,因此需要人们全身心的投入到动作本身,如果大脑分神去计数很可能会影响动作的灵活和标准程度,从而造成技术动作不正确,甚至危及到自身安全。为了解决这一难题开发一款合适的计数装置就显得十分迫切。该文以单片机为硬件基础开发出的深蹲计数器可以很好的解决这些问题。
关键词:蓝牙 MPU-6050模块 OLED
中图分类号:G424.2 文献标识码:A 文章编号:1672-3791(2017)07(b)-0011-02
计数器采用目前国际流行的穿戴设备解决方案CC2541片载系统为主控芯片;MPU-6050模块检测运动曲线,OLED显示工作状态的方式,完成设计、开发工作,使产品不仅有检测和显示的功能,还有蓝牙4.0功能模块,从而解决手机或者其他移动终端与设备的连接,通过Android和苹果手机APP达到数据传送和数据分享的目的。
1 硬件部分
CC2541是德州仪器开发的专门用于智能穿戴设备的低功耗片载系统解决方案,出色的链路预算,支持250 kbps、500 kbps、1 Mbps、2 Mbps 的数据速率,符合世界范围内的无线电频率调节系统:ETSI EN 300 328和EN 300 440 2类(欧洲),FCC CFR47 15部分(美国)和ARIB STD-T66(日本),2.4 GHz符合低能耗规范。
CC2541的大小是制作小型移动设备的优势所在,大小只有6 mm×6 mm,方形扁平QFN封装,多种工作模式,宽泛的电压范围(2~3.6 V),可编程闪存达128 K,集成蓝牙4.0的同时还集成有电池监视器和温度传感器,23个通用I/O引脚(2个引脚可以直接驱动LED,不需要单独的驱动电路。)。
MPU-6050模块可以检测运动曲线,数字运动处理引擎可减少复杂的融合演算数据、姿势感应等;可以检测出整个深蹲姿势的运动曲线,从而帮助CPU判断整个运动过程的完成程度,排除非深蹲以外的运动姿势,使系统达到完美检测计数的效果。
OLED显示运动量,OLED不单结构简单、价格便宜,还能达到醒目和提神的作用,完全可以满足产品的需要(见图1)。
2 软件部分
CC2541内部集成有高效8051内核,可以完成对MPU-6050的数据采集功能,通过检测到的数据,在以Z轴为主获取加速度的同时检测水平方向的运动姿势,并通过动作时间和加速度作用时间分析佩戴者的动作是否标准规范,从而达到检测、计数和提醒动作不规范的效果;避免佩戴者不正确的运动姿势造成身体上的损伤,及时纠正佩戴者的姿势。
内部采取精简、高效的C51算法,以中断的方式为CC2541提供及时有效的姿势判断依据,从而使CPU达到运算准确、反应及时,并通过蓝牙模块和移动终端建立联系,将实时数据发送至手机或者其他设备上,使我们更好的了解当前的运动状况,并旁观者提供对运动者本身有采取保护措施的时间和时机。
设备本身有判断误操作的能力,可以通过MPU-6050检测运动姿势,排除非深蹲以外的其他运动姿势,在算法上做出精准判断,以此减少误判;使穿戴设备更加专一,减少因操作不当造成的损坏,从而保证设备本身的使用寿命。
以下是部分代码:
(1)初始化。
P1D1|=0x01;//设置为输出模式
P1S1&=0x01;//设置为通用I/O;
P10=1;//输出高电平
P10=0;//输出低电平;
(2)按键读取。
Unsigned char KeyScan(void)
{ if (P10 == 0){ DelayMS(10); //延时 10MS 去抖
if (P10== 0){ while(!P10); //松手检测 return 1; //有按键按下
} } return 0; //无按键按下
}
(3)中断方式按键 初始化。
P0IEN |= 0x1; //P0IEN: 端口 0,位 7 至位 0 中断使能。0:中断禁止;1:中断使能
PICTL |= 0x1; //端口 0,引脚 7 至 0 输入模式下的中断配置
P1IEN |= 0x1; //端口 0,位 7 至位 0 中断使能。0:中断禁止;1:中断使能;
P1IFG = 0x00; //端口 0,位 7 至位 0 输入中断状态标志。
P1_ISR(void)
{ DelayS(10); `
OLED11 = ~OLED11;
P11IFG1 = 0;
}
(4)看门狗 初始化。
void Init_Watchdog(void)
{ WDCTL = 0x00; //打開 IDLE 才能设置看门狗
WDCTL |= 0x08; //定时器间隔选择,间隔一秒
}
需要不断处理看门狗程序, 因为错误或其他原因长时间处理, 系统就会复位 以下是处理程序。
Void DDog(void)
{ WDCTL = 0xa0; //清除定时器。当 0xA 跟随 0x5 写到这些位,定时器被清除
WDCTL = 0x50; }
3 调试部分
调试部分分为单机调试和连接上位机调试,单机调试即为不联接蓝牙时设备单独工作,开机后OLED显示当前日期和时间,显示当日的运动状况,当前的蓝牙模式,以电池的电量,并滚动显示运动时间和设备状态。用户长按按键后可进入睡眠模式,再次长按后退出睡眠模式,并在电量到达下限时以振动的方式提醒用户充电。
联接上位机调试设备时为以方便可以不使用手机,而改用PC,在电脑上安装BleConfig,该软件是基于蓝牙透传模块的上位机串口调试软件,可用于查询、调试蓝牙模块等,如果是安卓手机操作系统为4.3以上,苹果设备的操作系统为7.0及以上,在手机上装APP也可以用于调试系统。数据加密,连接间隔30 ms,广播间隔150 ms。给设备供3.3 V电以后通过串口连接到PC,开机唤醒设备,OLED显示当前日期及时间,以及电池电量和蓝牙状态,蓝牙状态闪烁时在电脑端连接设备后打开BleConfig,接收显示当天运动状况,以及计算所得消耗的卡路里,显示当天的运动时间。
还可以通过上机机制订运动方案,设定运动时间,并使设备按照计划在OLED上显示当前的计划完成情况,并把运动方案在联机状态下一并发送给上位机,使用户对运动完成情况有一个正确的判断,还可以在上位机上设置设备的参数,例如时间和模式,也可以在上位机上操作设备使其关机,或者进入睡眠,和唤醒睡眠。
设备是用来检测运动时人体的深蹲姿势,正确佩戴位置在人体腰间,在人体大量运动时会出汗水,因此为设备增加防水功能就显得十分迫切,设备没有安装蜂鸣器是考虑到健身房是公共场所,不应该发出声音给其他人造成不必要的困扰,但是配备有振动电机,因此同样可以为佩戴者提供必要的提示。而且在防水的情况下做好密封会影响蜂鸣器的效果,因此不提供声音上的提示是因为产品本身的限制。
4 结语
该产品的设计开发在国际上都是首屈一指的,不是因为它的硬件水平领先,使用的解决方案是国际流行的智能穿戴方案,只是在设计理念上、对硬件和软件的开发理念上提出创新,从而制造出一个与智能手环相区别的穿戴智能设备,它有自身特有的功能,特有的工作模式;是指定运动姿势的重要辅助工具,可以让佩戴者全身心的投入到运动本身,不必分心去做姿势和计数,解决了肢体运动和脑力运动不可分离的困扰,保障运动者有一个高效的运动方案,提高人们对健身智能化事业的认知。并且可以通过蓝牙透传的方式把运动数据上传保存,使个人对自身健身、运动有一个很好的评估依据,因此产品一经使用必然会对运动事业带来更多乐趣。而且解决方案是国际IC设计大厂德州仪器提供,技术可以得到保障,产品与流行智能手环有着相同的血统,因此其待机、使用体验也会很卓越。
参考文献
[1] 姜大源.單片机技术[M].北京:高等教育出版社,2005.
[2] 李广弟.单片机基础[M].北京:北京航空航天大学出版社,2007.
[3] 明日科技.Android从入门到精通[M].北京:清华大学出版社,2012.