設計一個TI公司傳感芯片FDC2214的手勢識別裝置,配合硬件實現溫實現對猜拳游戲和劃拳游戲的判決功能。裝置具有訓練和判決兩種工作模式。在判決模式下實驗裝置能對指定人員進行猜拳游戲和劃拳游戲的判決。這里猜拳游戲的判決是指對手勢比劃“石頭”、“剪刀”和“布”的判定,劃拳游戲的判定是指手勢比劃“1”、“2”、“3”、“4”和“5”的判定。在訓練模式下能對任意人員進行猜拳游戲和劃拳游戲的手勢訓練,經過有限次訓練后,能進行正確的猜拳游戲和劃拳游戲的手勢判決。
系統設計的基本要求:
1、裝置工作在判決模式下,能對參賽者指定人員進行猜拳判決,給出手勢“石頭”、“剪刀”和“布”的準確判決,要求每一次判決的時間不大于1秒。
2、裝置工作在判決模式下,能對參賽者指定人員進行劃拳判決,給出手勢“1”、“2”、“3”、“4”和“5”的準確判決,要求每一次判決的時間不大于1秒。
3、裝置工作在訓練模式下,對任意測試者進行猜拳的手勢訓練,每種動作訓練次數不大于3次,總的訓練時間不大于1分鐘;然后切換工作模式到判決模式,對被訓練的人員進行猜拳判決,要求每一次判決的時間不大于1秒。
二、方案設計與論證
本系統主要由主控板模版、感應器模塊、人機交互組成,下面分別論證這幾個模塊的選擇。
2.1主控板模版的論證與選擇方案一:采用STC公司的IAP15W4K58S4芯片作為主控芯片,成本較低,對寄存器進行編輯比較方便。
方案二:采用STC公司的STM32F407芯片作為主控芯片,性價比較高的32位機,擁有豐富的外設,優異的實時性能,從外設的兼容性以及響應的實時性。
由響應的實時性為前提,綜合考慮選擇方案二。
2.2感應器模塊的論證與選擇方案一:感應芯片采用TI公司的FDC2214非接觸式電容式傳感器。應用:接近傳感器 、手勢識別、液位傳感器(包括清潔劑、肥皂液和油墨等導電液體)、碰撞避免、 雨、霧、冰、雪傳感器、汽車門及尾門一腳踢開傳感器、材料尺寸檢測。
方案二:感應芯片采用TI公司的LDC1314非接觸式電感式傳感器 。應用:按鍵旋鈕,流速計等。
從識別的靈敏度、準確性以及軟件實現的難易程度,驗證試驗后選擇方案一。
2.3人機交互模版的論證與選擇方案一:采用按鍵控制和LED顯示實現人機交互,完成不同模式選擇和識別結果反饋,結果便于觀察,程序簡單,操作簡單可靠。
方案二:采用3.2寸TFTLCD觸摸屏實現人機交互,完成不同模式選擇和識別結果的反饋,結果便于觀察,操作簡單方便。
從識別結果的可觀性和操作的方便性考慮,選擇方案二。
FDC2214是基于LC諧振電路原理的一個電容檢測傳感器。在芯片每個檢測通道的輸入端連接一個電感和電容,組成LC電路,被測電容傳感端與LC電路相連接,將產生一個振蕩頻率,根據該頻率值可計算出被測電容值,具體公式如下:
每個通信的數字化傳感器測量(DATAx)表示傳感器頻率與參考頻率之比。
FDC2112和FDC2114的數據輸出(DATAx)表示為16位結果的12MSBs:
(1)
FDC2112和FDC2114的數據輸出(DATAx)表示為:
(2)
利用FDC2214的工作原理可實現手勢接近和識別的功能,黃色部分稱為“FDC2214的傳感平面”,該平面為導體材質,當人手接近該導體傳感平面時,傳感端的電容發生了變化,這就會導致LC電路振蕩頻率的變化,從而反映出手勢接近,以及手勢的判定。基于FDC2214實現手勢接近和判決的實驗中存在如下的特征:傳感平面的面積越大、手勢與傳感平面的距離越小,感應的頻率變化越大,系統會越靈敏,但同時也可能引入越多的噪聲。
具體電路圖如圖3-1-1所示:
圖3-1-1 FDC2214電路圖
3.2最小系統板原理圖采用 STM32407作為 MCU,該芯片配置非常強大,它擁有的資源包括:集成 FPU 和 DSP 指令,并具有 256KB SRAM、1024KB,FLASH、 12 個 16 位定時器、 2 個 32 位定時器、 2 個 DMA 控制器(共 16 個通道)、 6 個 SPI、2 個全雙工 I2S、 1 個 SAI、 3 個 IIC、 8 個串口、 2 個 CAN、3 個 12 位 ADC、 2 個 12 位 DAC、 1 個 RTC、 1 個 SDIO 接口、 1 個 FMC 接口、1 個 TFTLCD 控制器(LTDC)、以及 140 個通用 IO 口等,芯片主頻高達 180Mhz,輕松應對各種應用。主控板32F407的具體原理圖如圖3-2-1所示:
圖3-2-1 主控板32F407原理圖
3.3人機交互模塊電路分析STM32F407 開發板板載的 LCD 模塊接口電路如圖 3-3-1 所示:
圖3-3-1 LCD原理圖
圖中 TFT_LCD 是一個通用的液晶模塊接口,采用 16 位 80 并口,也稱作 MCU 屏接口, LCD 接口連接在 STM32F429IGT6 的 FSMC總線上面,可以顯著提高 LCD 的刷屏速度。
圖中的 T_MISO/T_MOSI/T_PEN/T_CS/T_SCK 連接在 MCU 的PG3/PI3/PH7/PI8/PH6 上,用于實現對液晶觸摸屏的控制。 LCD_BL 連接在 MCU 的 PB5 上,用于控制 LCD 的背光。液晶復位信號 RESET 則是直接連接在開發板的復位按鈕上,和 MCU 共用一個復位電路。
對于銅片的安裝方式有以下三種方式:
方案一:感應芯片采用TI公司的FDC2214非接觸式電容式傳感器,使用FDC2214的一個測量通量外接一個20cm*20cm的銅板作為感應裝置。
方案二:感應芯片采用TI公司的FDC2214非接觸式電容式傳感器,使用FDC2214的四個測量通量外接四個8cm*8cm的銅板田字擺放作為感應裝置。
方案三:感應芯片采用TI公司的FDC2214非接觸式電容式傳感器,使用FDC2214的四個測量通量外接四個不同形狀銅板擺放在不同手勢變化明顯的區域作為感應裝置。
由于本次課題中要進行手勢識別,故在對應手指的位置放置銅片作為感應端,用于感應對應手指位置是否有手指伸出,但由于FDC2214只有四個通道,故決定適當修改銅片形狀,用一塊銅片感應食指與拇指。用感應到的值的大小,識別只有食指伸出的情況還是食指和拇指同時伸出的情況,銅片具體位置如圖4-1-1所示。這些銅片充當感應電容,電容的一段,與FDC2214通道相連,實物如圖4-1-2所示。當手指靠近銅片時會使電容值發生變化。在程序中設定閾值與變量a,若感應值超過閾值則a++,否者為a=a;其中ch0的閾值設定為兩級,超過一級為a++,超過兩級為a=a+2,否者a=a。“石頭、剪刀、布”判定具體表格如表4-1-4所示,手勢“1、2、3、4、5”判定表格如表3-1-5所示。
圖4-1-1 銅片的具體位置 圖4-1-2 FDC2214實物圖
| Ch3 | Ch2 | Ch1 | Ch0 | 合計 |
剪刀 | 0 | 0 | 1 | 1 | 2 |
石頭 | 0 | 0 | 0 | 0 | 0 |
布 | 1 | 1 | 1 | 2 | 5 |
表4-1-4 “石頭、剪刀、布”判定表格
| Ch3 | Ch2 | Ch1 | Ch0 | 合計 |
手勢“1” | 0 | 0 | 0 | 1 | 1 |
手勢“2” | 0 | 1 | 1 | 0 | 2 |
手勢“3” | 0 | 1 | 1 | 1 | 3 |
手勢“4” | 1 | 1 | 1 | 1 | 4 |
手勢“5” | 1 | 1 | 1 | 2 | 5 |
表4-1-5 手勢“1、2、3、4、5”判定表格
本次課題采用TI公司的FTC2214模塊和四個自制的感應銅片,其中感應銅片對應手指位置進行擺放固定,四個通道的走線皆是順著指尖方向走線并盡量分開,減少線與線、線與銅片之間的干擾,以及手掌部分的影響。
4.2主控板模塊設計本次實驗設計中采用的是STC公司的STM32F407芯片,通過FDC2214讀取各通道的值,并進行處理,把處理后的值傳到TFTLCD觸摸屏上顯示,完成初始值的測定的功能,訓練模式的功能,識別模式的功能,并將最終識別結果傳到電容屏上顯示。具體過程如圖4-2-1所示。
圖4-2-1 主控板流程圖
最后確定程序流程如圖4-2-2所示:
圖4-2-2 程序流程圖
4.3人機交互模塊設計本次實驗設計中采用TFTLCD觸摸屏,用手觸摸觸摸屏上不同位置實現各個模式的切換,并在相應位置顯示相關數據,將識別結果顯示在電容屏上。本設計采用3.2寸TFTLCD觸摸屏實現人機交互,由于此次課題進行手勢識別過程中有初值感應,實時測量,工作模式選擇,以及顯示四個通道的處理后的表征值,要給出識別結果,故對3.2寸TFTLCD觸摸屏進行分區實現上述功能。實現后如圖4-3-1所示。
圖4-3-1 TFTLCD觸摸屏
最終全系統如圖4-3-2所示:
圖4-3-2 全系統流程圖
4.4均值濾波和快速排序本次實驗設計中采用的是FDC2214,其是一款28位高分辨率的非接觸式電容式傳感器,十分敏感,會感應到很多噪聲,故對四個通道測量值進行快速排序和均值濾波處理,每次測量30次,每次間隔10毫秒,形成一個容量為30的數組,運用快速排序算法,對30次的值進行排序,去除最小5個值和最大的五個值,再取均值作為讀取值后進行比較。
要求:裝置工作在判決模式下,能對參賽者指定人員進行猜拳判決,給出手勢“石頭”、“剪刀”和“布”的準確判決,要求每一次判決的時間不大于1秒。
實驗步驟:
實驗結果:具體過程如圖5-1-1所示。
5.2問題二的測試方案要求:裝置工作在判決模式下,能對參賽者指定人員進行劃拳判決,給出手勢“1”、“2”、“3”、“4”和“5”的準確判決,要求每一次判決的時間不大于1秒。
實驗步驟:
實驗結果:具體過程如圖5-2-1所示。
5.3問題三的測試方案要求:裝置工作在訓練模式下,對任意測試者進行猜拳的手勢訓練,每種動作訓練次數不大于3次,總的訓練時間不大于1分鐘;然后切換工作模式到判決模式,對被訓練的人員進行猜拳判決,要求每一次判決的時間不大于1秒。
實驗步驟:
實驗結果:具體過程如圖5-3-1所示。
5.4問題四的測試方案要求:3、裝置工作在訓練模式下,對任意測試者進行劃拳的手勢訓練,每種動作訓練次數不大于3次,總的訓練時間不大于1分鐘;然后切換工作模式到判決模式,對被訓練的人員進行劃拳判決,要求每一次判決的時間不大于1秒。
實驗步驟:
實驗結果:具體過程如圖5-3-1所示。
經過4天3夜的努力,我組手勢傳感器成功完成了預想的目標。通過這次比賽,我們對于工程設計有了進一步的理解,動手能力也得到了提升。其實,一個隊伍的成功,不僅僅是個人能力的體現,更是小組內人員相互配合支持的結果。這次比賽,教會了我們合作的重要性,提高了我們共同糾錯的能力。不管結果如何,我們都收獲了許多。提升自我能力,這或許才是比賽的真正目的。不忘初心,方得始終。
neinein 發表于 2019-7-18 10:22
請問有完整的代碼嗎?
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |