基于FDC2214的手势识别系统设计与实现
? 159
?
ELECTRONICS WORLD ?
技术交流
系统采用了STM32作为核心控制芯片,使用FDC2214芯片获取电容值,通过滤波后,与样本数据对比,找到最短的k 个样本,判断其类型数量,达到识别手势的目的。
1.总体设计
系统总体设计框架如图1所示,采用了STM32F103ZET6作为核心控制芯片,而核心检测芯片则采用的是TI 公司的FDC2214来处理极板与手之间的容值。得到的数据通过卡尔曼滤波和knn 算法来判断出不同手势之间的区别。
以独立按键来调节菜单和录入手势模板,通过oled 显示屏做出反馈并显示结果。
将手势录入一边,系统会自动处理好数据,再进入判决模式就
可以识别手势。
图1 系统总体设计框架
2.系统硬件设计
2.1 控制部分
本系统的控制核心采用了STM32单片机,它具有72M 主频,64K RAM 和512K ROM ,拥有多达14个定时器,自带PWM ,ADC ,DA,实时时钟等功能。非常满足作为嵌入式系统的控制需求。2.2 检测部分
电容检测部分是整个系统中最为重要的一部分,它决定了系统的识别率高低与否,整个系统的数据采样与检测都是建立在电容检测芯片的准确性上,因此选取TI 公司的FDC2214芯片来做为电容检测芯片,这是一种非接触式电容传感器,还有一个重要特性就是采用了EMI (抗电磁干扰)架构,因此它可以屏蔽高噪声环境干扰,在复杂环境确保传感器数据的准确性(周孟强,刘会衡,基于FDC2214手势识别装置的设计与实现:电子制作,2019)。2.3 极板部分
极板采用的是三层结构,最下面一层使用亚克力板,主要用作
的oled 显示屏,它小巧精致,分辨率高,相比液晶屏幕它更加节能,非常适合作为系统的显示模块。
输入部分由4个独立按键组成。4个独立按键分别作为切换键,确认键,返回键和系统复位键。
2.5 供电部分
电源部分采用了两块锂电池作为电源,使用稳压模块将电压降为5v 并后接入整个系统。
3.系统软件设计
软件系统流程图如图3所示。3.1 数据滤波算法设计数据滤波是去除噪音干扰的有
基于FDC2214的手势识别系统设计与实现
杨凌职业技术学院 陈 阳
图2 极板实物图支撑。中间一层使用铝箔胶带作为极板的金属层。最上面一层采用硬质透明塑料膜,有防止手直接和铝箔接触和保护极板的作用(郭霞,谭亚丽,申淼,基于FDC2214的手势识别系统:传感器与微系统,2018)。这样的设计好处在于可以很方便的自行调整和更换极板上的铝箔来达到不同的检测要求。2.4 人机交互部分
人机交互部分由显示部分和按键输入组成,分别采用oled 显示屏和独立按键组成。
显示部分采用了0.96
英寸
图3 系统软件流程图
效方法,本系统采用卡尔曼滤波算法,这是一种当下使用非常广泛的滤波算法,它有计算量小,易于计算机实现等特点(张辉,卜雯意,施豪,基于FDC2214电容传感器的手势识别装置的设计与实现:巢湖学院学报,2018
)。将极板上采集的数据进行实时的处理,将数据中
图4 系统整机实物图的噪音清除,把误差降到最小。3.2 数据分类算法
kNN (k 最近邻算法)是一种数据分类方法,在学习模式下,将多次手势进行采样并滤波后,获取其特征向量作为样本数据,之后进入判定模式,系统会实时采样当数据稳定后,得到其特征向量,计算其特征向量与样
本数据之间的欧氏距离,找到相
距最短的k 个样本,判断其类型,即可识别手势(张硕,基于KNN 算法的空间手势识别研究与应用:吉林大学,2017)。
表1 石头,剪刀,布手势测试结果
手势实测结果石头石头正确石头石头正确石头石头正确石头石头正确石头石头正确剪刀剪刀正确剪刀剪刀正确剪刀剪刀正确剪刀剪刀正确剪刀剪刀正确布布正确布布正确布布正确布布正确布布
正确
正确率:100%