王俊程
(山東省臨沂市臨沭縣第一中學,山東 臨沂276799)
人臉識別的門鎖、指紋識別的保險柜都已經進入尋常百姓家,這些高科技的產品的原理是什么?怎么樣的技術才能實現?這些問題讓我思考,是否可以制作一個手勢識別的裝置,實現對剪刀石頭布、一二三四五手勢的識別,并實現對任意人員手勢信息的處理及識別。在科技老師的指導下,我設計的手勢識別系統主要由單片機控制模塊、FDC2214 傳感芯片、電源模塊等組成,下面分別論證這幾個模塊的選擇。
方案一:采用STC51 系列單片機
傳統的51 單片機為8 位機,價格便宜,控制簡單,但是運算速度慢,片內資源少,存儲容量小,難以存儲大體積的程序和實現快速精準的反應控制。并且受時鐘限制,計時精度不高,外圍電路也增加了系統的不可靠性。
方案二:采用STM32F103ZET6 單片機
ARM Cortex-M3 內核的STM32F103ZET6 控制芯片,擁有11 個定時器,3 個ADC,13 個通信接口,多達112 個快速I/0 口,計時精度高,反應速度快,價格中等,功耗低,操作也較為簡單,開發環境非常容易搭建。
通過比較,我選擇方案二,采用ARM Cortex-M3 內核的STM32F103ZET6 控制芯片。同時包含主控芯片在內的控制系統包含了顯示、傳感器等模塊,能夠減少外圍電路的設計,降低系統設計的難度,非常適合本系統的設計。本作品使用ALIENTEK公司出品的精英開發板直接作為主控板。
方案:采用FDC2214。FDC2214 是一個噪聲多通道系列,抗EMI,高分辨率,高速電容數字轉換器,用于實現電容式傳感解決方案。采用了提供創新的基于窄帶的架構,可抑制噪聲和干擾,同時提供高速分辨率。器件支持寬激勵頻率范圍,為系統設計提供了靈活性。電容式傳感是一種低功耗,低成本,高分辨率的非接觸式傳感技術,可應用于各種應用,范圍從接近檢測和手勢識別到遠程液位傳感。電容式傳感系統中的傳感器是任何金屬或導體,允許低成本和高度靈活的系統設計。本作品設計的FDC2214 模塊板。
基于FDC2214 實現手勢接近和判決的實驗中存在如下的特征:傳感平面的面積越大、手勢與傳感平面的距離越小,感應的頻率變化越大,系統會越靈敏,但同時也可能引入越多的噪聲。
方案一:采用單金屬板進行信號采集。單金屬板信號采集雖然簡單,只需要使用FDC2214 芯片的一個通道,但對手掌這樣大小的金屬板來說,感應頻率變化值大,系統過于靈敏,但采用單通道在使用時誤差較大,電容變化值過大,數據處理難度較大。
方案二:采用四個金屬板分布式進行信號采集。采集多傳感平面信號的原理是利用FDC2214 的多通道特性,每一個通道都有相同的外圍電路,所以每個通道的采樣特性是相同的。多傳感平面不僅有單傳感平面的所有優點,而且能夠降低采集數據的誤差和干擾,數據處理難度降低。
FDC2214 是基于LC 諧振電路原理的一個電容檢測傳感器。其基本原理如圖1 所示,在芯片每個檢測通道的輸入端連接一個電感和電容,組成LC 電路,被測電容傳感端(圖1 中灰色標識部分即為被測電容)與LC 電路相連接,將產生一個振蕩頻率,根據該頻率值可計算出被測電容值。利用FDC2214 的工作原理可實現手勢接近和識別的功能,如上圖所示,黃色部分稱為“FDC2214 的傳感平面”,該平面為導體材質,當人手接近該導體傳感平面時,傳感端的電容發生了變化,這就會導致LC電路振蕩頻率的變化,從而反映出手勢接近,以及手勢的判定。
程序功能描述與設計思路:
2.2.1 程序功能描述
根據題目要求軟件部分主要實現手勢的識別和顯示:a.手勢識別:能將FDC2214 反饋的不同手勢的信號正確的表達出來。b.顯示部分:顯示不同的手勢,如:剪刀石頭布。
2.2.2 程序設計思路
使用迪文公司出品的工業串口屏(如右圖所示)作為顯示模塊,其特點是使用其專門的界面繪制工具進行界面編程,我將每個題目需求制作了若干張圖片,方便調試和演示。在MCU(STM32F103ZET6,以下簡稱MCU)的程序設計中,我將工業串口屏的串口接到了MCU 的串口三(TX:PB10,RX:PB11),在每個界面上的按鈕樣式處安置觸摸反饋,作用是觸摸該按鈕時串口屏會發送一個指令到串口,使MCU 能夠識別到測試人員觸摸到了相關位置能信息。

圖1 顯示面板
我使用TI 公司出品的FDC2214 芯片作為該作品的傳感核心部件,使用FDC2214,可以檢測到測試人員與傳感平面的交互信息。MCU 將FDC2214 通過IIC 傳輸來的數據進行分析:
1 判決模式:a.我將MCU 通過FDC2214 得到的數據進行卡爾曼濾波,對噪聲進行有效抑制,得到data1。b.將data_1(濾波后的數據)和data_0(通過訓練或者默認的數據)進行比對,如果data_1 在data_0 的+/- 5%的范圍內,則認定data_1 就是data_0所代表的手勢。c.將數據分析后的結果進行反饋(傳輸到串口屏),讓測試人員得知測試結果。
2 訓練模式
a.首先MCU 檢測當前訓練模式:訓練模式分為劃拳訓練和猜拳訓練,劃拳訓練又分為1、2、3、4、5 五個手勢,猜拳訓練則分為剪刀、石頭、布三個手勢。測試人員將欲要訓練的手勢在串口屏上進行選擇,選擇后的數據串口屏會通過串口傳輸到MCU上。
b.具體訓練步驟:MCU 得到訓練模式后,告知FDC2214 進行工作,開始采樣,如果采樣數據過小,說明測試人員并沒有開始進行收拾訓練。一般情況下,MCU 會對每個手勢進行三次采樣,每次采樣采100 個值(濾波后),在進行去平均數并進行存儲,每一次采樣成功后MCU 會使能蜂鳴器,提醒測試人員采樣成功,三次采樣成功后,MCU 會通過串口與串口屏進行通信,告知串口屏采樣完成,并進行顯示。
3.1.1 硬件測試
電路搭建,連接,焊接完成后,檢驗各元件,顯示器等的功能3.1.2 硬件軟件聯調
編寫軟件可以實現手勢的自動識別,能夠滿足題目的基本要求,驗證軟硬件的基本部分沒有問題,后續再進行算法的優化,提升識別速度。
測試條件:檢查多次,仿真電路和硬件電路必須與系統原理圖完全相同,并且檢查無誤,硬件電路保證無虛焊。測試儀器:高精度的數字毫伏表,模擬示波器,數字示波器,數字萬用表,指針式萬用表。