手势识别装置
摘 要
本系统设计了一个手势识别装置。装置由单片机控制模块、FDC2214传感器模块、液晶显示模块、语音识别以及按键模块组成。装置实现判决和训练两种工作模式,在判决模式下,通过FDC2214传感器芯片来实现手势接近判决;在训练模式下,通过FDC2214传感器芯片来实现手势接近以及任意人员手势信息的录入。FDC2214传感器模块配合递归平均滤波算法调节,将手势信息数据反馈给单片机,从而实现手势识别装置的各个功能。本设计采用的核心微控制器为STM32F103ZET6、FDC2214芯片为传感器进行检测。除此之外,用按键模块来选择工作模式和游戏类型、将测试结果通过OLED显示出来并进行语音输出。
关键词:STM32F103ZET6;递归平均滤波算法;FDC2214
1 方案的设计与论证
1.1总体方案的设计
手势识别装置包括微控制器模块、传感器检测模块、按键选择模块OLED显示模块以及语音输出模块。总体控制系统框图如图1-1所示。
图 1-1 总体控制系统框图
设计采用FDC2214传感器模块,进行判决模式下手势的接近和识别,同时在训练模式下将任意人员的指纹信息进行采集录入,然后将采集的数据反馈给单片机。除此之外,由于FDC2214传感器的功能特性,在进行手势接近和识别时,会产生一些干扰而产生很多系统误差,为了消除误差,我们又引入递归平均滤波算法,从而使系统具有良好性能,能很好地实现题目中要求的功能,在进行检测时更加准确稳定。
1.2 机械部分方案的设计
根据任务要求,因为手势识别装置对系统稳定性、准确性和抗干扰性有很高要求,为使FDC2214能准确进行手势识别和指纹信息录入,自制了亚克力板和PCB板结合的感应测试区域。机械结构实物如图1-2所示。
图1-2 机械结构实物图
1.3 微处理器的选择与论证
方案一:采用STC89C52单片机为主控芯片,STC89C52是STC89C51单片机的增强版,是STC公司生产的一种低功耗、高性能8位微处理器,具有8K可编程Flash存储器,总共有32位I/O口线,3个16位定时器/计数器,4个外部中断,全双工串行口等资源。但主频低,编程繁琐,外设资源少。
方案二:采用STM32F103ZET6为主控芯片,STM32系列单片机是基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核。它具有512K片内Flash,64K片内ARM,片内Flash支持在线编程(IAP),多达80个IO(大部分兼容5V逻辑),4个通用定时器,2个高级定时器,2个基本定时器,3路SPI接口,2路I2S接口,2路I2C接口,5路USART等丰富资源,但该芯片开发周期长,编程复杂,对底层库函数使用和外设要求高,可以满足本设计的需求。
方案三:采用MSP430F5529单片机为主控芯片,MSP430系列单片机是美国德州仪器公司推向市场的一种16位超低耗能,具有精简指令集的混合信号处理器。它将多个不同功能的模拟电路,数字电路模块和微处理器集成在一个芯片上,处理能力强大,运算速度快,片内资源丰富以及其功耗超低,并具有独立液晶驱动电路的硬件接口。
综合考虑,STM32F103ZET6控制器能够满足设计要求,故选择方案二。
1.4 显示模块的选择与论证
方案一:使用OLED显示测试结果。OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新兴应用技术。LCD都需要背光,而OLED是自发光,所以显示效果更好一些,分辨率也可以做到很高。
方案二:使用LCD1602显示测试结果。LCD1602能够能够同时显示32个字符,价格便宜,编程简单而且稳定可靠。LCD1602液晶屏是一种图形点阵显示器,显示原理简单易懂,都是液晶屏内部的液晶材料变化而显示不同的字符。
方案三:使用12864显示测试结果。12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集,利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字.,也可完成图形显示,低电压低功耗是其又一显著特点。
综合考虑,在手势识别装置中我们为使显示效果更好,而OLED分辨率更高,故选择方案一。
2 系统理论分析
2.1 手势识别系统分析
基于TI公司传感芯片FDC2