APP下载

基于STM32 的可穿戴体感控制系统设计

2022-01-08陈雪娇缪文南

电子设计工程 2022年1期
关键词:中继器控件手环

陈雪娇,缪文南

(华南理工大学广州学院电子信息工程学院,广东广州 510800)

体感娱乐运动项目适合不同时期的少年儿童,可开发智力、锻炼脑力、促进手眼协调,促进少年儿童的健康成长。另外,当今是一个快节奏的时代,很多人没有时间、没有空间运动,能够在有限的时间和空间内进行各种体感娱乐运动,不仅释放了职场上的压力,而且锻炼了身体,远离疾病的困扰。而动作识别作为人机交互的一种重要技术,一直是模式识别领域的研究热点之一。在动作识别研究中主要有两个方向:基于视觉传感器的动作识别[1-4]和基于可穿戴传感器的动作识别[5-10]。基于加速度传感器的动作识别技术属于后者,由于加速度传感器具有能耗低、体积小、成本低的特点被广泛使用[11-13]。例如:各种赛车游戏,用户通过双手作出各种组合手势来操控系统,在智力和体力之间让用户获得无穷乐趣。但现有的手势识别式设备,大多数采用视频识别双手手势方法,通过摄像头对手部进行拍照,然后应用图像识别技术识别双手手势操控游戏,这种摄像头识别双手手势方法虽比较直观,但数学计算复杂、识别速度慢且手部空间位置识别范围有限,识别相对误差较大[14-16]。针对上述问题,文中设计了一种基于双手手势识别体感交互系统,通过双手手势体感操控交互界面选择的游戏。设计的智能手环成本低、灵敏度高、操控空间不受限等,能够迅速得到用户的青睐和市场推广。

1 系统总体方案设计

系统架构由一对数据采集模块(智能手环)、中继器、可视化人机交互界面3 部分组成,如图1 所示。智能手环以微控制器为核心,主要包含加速度传感器、电池管理模块、无线模块;中继器主要功能通过无线模块接收智能手环上的信息,然后以串口的方式传输给上位机;可视化人机交互界面由VB 语言编辑,主要功能是读取串口数据并进行判断和匹配,设置模拟按键和加载相关的游戏。

图1 系统架构图

2 系统的硬件设计

系统中智能手环选择STC12芯片作为微处理器,由nrf24L01 无线模块、MMA845251 加速度传感器、LED 指示灯、开关、电源管理模块等部分组成。体感手环固定于手腕上,用于采集手势动作的加速度信号,其无线模块和加速度传感器与STC12LE5A60S2的硬件接线图如图2 所示。

图2 器件与STC12LE5A60S2的接线图

当加速度传感器感知到手部的三维活动时,获取的模拟加速度信号被转换为数字信号,计算和处理后的数据通过无线传输模块传送到中继器,然后中继器通过串口将数据以文本形式保存在计算机上。利用计算机读取文本数据,进行传感器数据的特征提取和手势动作匹配等分析工作,其原理图如图3 所示。

图3 系统硬件原理图

其中,中继器主要用于数据传输,采用了具有较高处理速度的STM32 芯片和nrf24L01 无线模块,实现了左右配对和一对多通信数据传输,及用串口与计算机传输数据。

3 交互系统软件流程及算法

3.1 智能手环工作流程设计

左右手环在配对和切换左右手操作时,手环无线收发器转化为接收模式,等待中继器把新的地址码发给手环,手环微处理器使用E2PROM 存储器存储新的地址码,利用指示灯变化判别手环的配对是否成功。配对完成后,微处理器读取加速度的值,通过定时器定时1 min 确定加速度的值是否在改变,当判别超过1 min 无操作时,单片机自动进入掉电模式;同时在单片机掉电模式下,定时器定时唤醒单片机,判断手环的加速度传感器角度的变化,其工作流程图如图4 所示。

图4 智能手环工作流程

3.2 智能手环加速度传感器算法设计

MMA8451Q 三轴加速度传感器运用三轴角度生成器和三轴运动数据编码器可采集人体动作数据,具体算法是在立体平面内对传感器进行受力分析如图5 所示。

图5 加速度传感器三轴受力分析示意图

首先设定x轴阈值dx,y轴阈值dy,z轴阈值dz,假设在Tn(n=0,1,2,…,其中T0为初始时刻)时刻下,采集x轴的输出电压变化量为Δxn、y轴的输出电压变化量为Δyn,z轴的输出电压变化量为Δzn;然后判断|Δxn|是否小于dx,| Δyn|是否小于dy,和|Δzn|是否小于dz;若都是则继续往下执行,否则重新采集数据;同时根据三轴角度公式计算x轴与重力加速度的夹角αn,y轴与重力加速度的夹角βn,和z轴与重力加速度的夹角γn;三轴角度公式为:

其中,g为重力加速度,kx为x轴灵敏度,ky为y轴灵敏度,kz为z轴灵敏度,g、kx、ky和kz均为常量;

上述计算得出的αn、βn和γn通过滤波公式(2)进行滤波。

若αn、βn和γn符合滤波公式(2),则输出至三轴运动数据编码器,并且更新时刻Tn=Tn+1,进入下一个三轴角度生成过程;若αn、βn和γn不符合滤波公式,则直接更新时刻Tn=Tn+1,进入下一个三轴角度生成过程。

根据上述处理输出的αn、βn和γn,使用三轴偏转量生成式(3),并生成三轴偏转量数据组合集,对生成的三轴偏转量数据组合集分段,如三轴加速度生成器读到x轴时,进行判断,若-1 ≤Xn<-0.5,则更新Xn=1;若-0.5 ≤Xn<0,则更新Xn=2;若0 ≤Xn<0.5,则更新Xn=3;若0.5 ≤Xn≤1,则更新Xn=4,y轴、z轴数据处理流程与x轴数据处理流程相同。产生三轴偏转量数据组合集后,为保证数据处理和数据传输的速度及较高的精度,三轴运动数据编码器中,将三轴偏转量数据组合集分段建立的坐标系按每轴4 分段进行坐标编码序号处理,如表1 所示。生成的左右手对应的手势坐标编码序号存储在微处理器E2PROM 中,并发送给交互系统与手势进行对比和匹配,进而操控游戏。

表1 三轴偏转量数据组合序列号

其中,Xn、Yn和Zn是在Tn时刻下x、y、z轴的偏转量,取值范围为-1~1。

3.3 中继器程序流程设计

中继器的功能是接收左右手环运动组合序列号并与左右手环匹配,然后将数据上传给可视化界面终端,具体流程如图6 所示。无线传输模块nrf24L01利用6 通道特性实现左右手环一对多的通信,实现两个手环匹配一个中继器,在左右手环配对时通过不同通道的地址码进行区分。为了终端建立识别左右手手势动作的识别库,实现左右手势运动序列的差异性,如左手手势运动序列范围为0~63;右手手势运动序列范围为64~127,将无线收发器通道1 接收的数据发送给终端,通道2 接收的数据加64 再发送给终端,其中通道0 为公用通道。

图6 中继器软件流程图

4 可视化界面终端设计

可视化界面包含游戏配置主界面和游戏加载界面,其中游戏配置主界面主要有按键设置模块、串口连接模块、游戏管理模块,主要功能是对接收到的左右手手势运动序列进行区分,并进行分析和匹配,控制加载的游戏动作达到娱乐效果,游戏加载界面主要功能是加载或卸载游戏、更改游戏名称和启动游戏等[17]。游戏配置主界面程序设计主要采用了command按钮控件、option选择控件、picturebox 控件、Combo 选项控件和ImageList 控件等,而游戏加载界面程序设计采用了command 按钮控件、text 文本控件、picturebox 控件和list 列表控件等,游戏管理界面如图7 所示。

图7 游戏管理界面

5 系统测试

5.1 手环和中继器硬件测试

手环外壳加工由亚克力板六层叠加而成,利用螺丝孔固定,顶层亚克力板预留两个按钮和螺丝开孔,底层亚克力板预留了4 个表带开孔和两个螺丝开孔,手环和中继器电路板经Altium Designer 电路图和PCB 设计、打样、焊接、调试等环节,智能手环和中继器实物图如图8 所示。

图8 智能手环和中继器实物图

5.2 加速度传感器角度误差测试

MMA8451Q 加速度传感器硬件调试完成后,微处理器与电脑串口相连,打开串口调试助手窗口,调试加速度传感器位置的变化查看调试助手显示窗口三维角度的变化,测试10 组实验数据进行误差计算和分析,测试实际角度和理论值进行误差比较,保证操控角度准确操控游戏方向,实验测试结果符合预期,实验数据测试结果如表2 所示。

表2 加速度传感器三轴角度实验测量数据

5.3 可视化界面终端测试

可视化界面终端测试主要有串口连接测试、游戏管理界面启动列表测试和按键设置测试,经程序编写、窗口布局、图片插入、功能调试、操作流程调试等测试,测试效果良好、操作便捷。

5.4 系统联调

该系统选择win8 操作系统,加载了《咖菲猫跑丁车》游戏,游戏界面如图9 所示。对智能手环功能进行测试,首先进行了手势体感操作测试,测试结果如下:用户左手抬起,右手水平放置时,赛车前进;左手放下,右手水平放置时,赛车后退;右手抬起,左手水平放置时,换挡;玩家双手同时左倾时,赛车左转;双手同时右倾时,赛车右转;双手水平放置时,赛车保持原状态。然后进行手环配对和切换左右手功能进行测试,即在上位机开启配对模式后,手环按下功能键,指示灯颜色由红变蓝,说明配对成功,切换左右手功能正常,反之异常;最后进行智能手环掉电模式测试,即将手环置于桌面,10 min 后指示灯熄灭,说明自动待机功能正常,反之异常。

图9 游戏界面示意图

6 结论

文中针对双手手势识别及交互系统进行了设计,提出了系统的整体架构,分别对智能手环、中继器硬件和外壳进行设计,重点对智能手环配对、左右手切换、加速度传感器算法和编码、无线模块数据传送流程展开了研究和设计,上位机实现了可视化游戏管理、动作分析匹配、游戏加载等功能。实验测试证明,智能手环加载的游戏具有低功耗、高灵敏度且识别过程精简、操作空间不受限等良好特点,操作游戏能使用户产生亲切感和依赖感,大大提高了用户体验度。

猜你喜欢

中继器控件手环
基于.net的用户定义验证控件的应用分析
我国科学家率先实现全光量子中继
疯狂编辑部之智能手环
关于.net控件数组的探讨
红手环志愿者服务团欢迎您的加入
学习监测手环
麦开:放弃智能手环
基于光伏发电的物联网中继器的设计
对利用轨间交叉环线进行列车定位的几点思考
基于嵌入式MINIGUI控件子类化技术的深入研究与应用