本系统为手势识别装置,利用FDC2214芯片实现了对猜拳和划拳手势的精确识别。系统主要由信号采集、信号处理、显示和按键输入等四部分组成。系统以STM32F103RCT6作为主控芯片,采用FDC2214芯片作为信号采集传感器,通过FDC2214外接极板作为电容传感器实现信号采集,并通过总线将数据发送给主控芯片进行数据处理分析,从而识别出具体的手势并通过显示屏输出。 一、方案设计 方案一:通过检查单通道单极板判断不同手势电容值的不同来进行区分 优点:对放置位置没有特别高的要求,便于使用。 缺点: 对放置力度,距离有较高要求,如果录入时和识别是有差距会造成误判。 方案二:多通道扫描识别,对多通道进行分时复用,来检测多个点的电容值来分析手势 优点:可以精准识别,并且对放置手势没有太高要求。 缺点;硬件方面制作复杂,需要提前准备相应的元器件,对程序编写有较高要求。 方案三:多通道分别对应单极板识别 优点:通过一些简单的算法可以得到较为准确的数值。 缺点:不能够像前两种方案一样指定位置放置。 最终我们选择了方案三进行设计,但是为了弥补方案三的缺点,引入了一种贪心算法来解决手势放置位置较固定的问题,做到了相对灵活。 二、实际问题与改进方案 我们组经过半天讨论确定了方案和思路,首先进行的是对FDC2214的调试,由于赛前的知识准备,这一部分进行的较为顺利。我们成功读取到了单通道对不同手势的电容值。但在第一天夜里我们的芯片出现了启动不正常的情况,经赛后分析可能是由于外界干扰影响了IIC的通信,但当时没有找到问题,在进行了一晚上的调试分析后我们决定再买一块。:( 第二天新的芯片电路调试好后,发现有一个通道出现问题,读取不到电容值。由于时间紧急,我决定将昨天设计的四通道方案改为三通道。 整个第二天我们在进行程序上的设计,将大体框架写出,先将识别周期确定,在周期内进行数据的读取和滤波,得到相对稳定的数据。之后判断当前模式,将各个模式对应的算法写出。 第二天结束时我们已经基本实现了基础功能,但三通道位置的放置和匹配算法的引入依然没有想好。 第三天我们将硬件搭好,防止外部干扰,并继续修改程序,查阅资料,更改了滤波算法,将整个程序完整,确定了个通道的位置和学习策略。 最后一天我们将学习算法引入,效果令人满意,我们额外做了一个使用手势切换工作模式的附加功能,将作品封箱。 [url=][/url]
程序.zip
(3.93 MB, 下载次数: 73)
论文.zip
(156.45 KB, 下载次数: 95)
|