本系統為測量人體感應電容的新式鍵盤設備。在電路中接入繪有鉛筆軌跡的紙張,在觸碰對應軌跡后,人體感應電容將會影響到整個電路,使用STM32F4微控制器采集并處理相應數據,將這種不利的影響轉化為有用的觸碰信號,同時,接入的物體不僅均為生活中常見的,而且廉價方便,進而制作出了更加輕薄便捷的新式無線鍵盤,同時衍生出多種趣味水果鍵盤。
視頻:
http://v.youku.com/v_show/id_XNjE5MzA0NDc2.html
ARM-STM32校園創新大賽
視頻觀看地址: http://v.youku.com/v_show/id_XNjE5MzA0NDc2.html
人體感應式無線鍵盤 摘要 1. 引言 2. 系統方案 3. 系統硬件設計 4. 系統軟件設計 5. 系統創新 6. 評測與結論 附錄
本系統為測量人體感應電容的新式鍵盤設備。在電路中接入繪有鉛筆軌跡的紙張,在觸碰對應軌跡后,人體感應電容將會影響到整個電路,使用STM32F4微控制器采集并處理相應數據,將這種不利的影響轉化為有用的觸碰信號,同時,接入的物體不僅均為生活中常見的,而且廉價方便,進而制作出了更加輕薄便捷的新式無線鍵盤,同時衍生出多種趣味水果鍵盤。
隨著各類電子設備的普及,人們對于鍵盤的需求日益增加。但目前的鍵盤種類仍較為有限,大體為機械鍵盤及電容式開關鍵盤,這些鍵盤普遍有著噪聲大、不易攜帶等缺點,如今廣為開發的紅外投影鍵盤,也有造價高、受光干擾等弊端。因此,需要這樣一種體積微小、可折疊放置、成本低、易于攜帶的新式鍵盤的研制。這樣一種對人體感應電容的利用方式,也使得更多的趣味水果鍵盤能夠被輕松的開發出來,這些水果鍵盤可作為多款游戲(例如節奏大師、勁樂團)的外設使用,大大增加了游戲樂趣。 2. 系統方案圖 1 感應電容檢測流程圖 人體感應電容在正常情況下為幾十pF,當人體接觸到連接在電路上的導體后,將會改變電路中的分布電容。通過不斷地對鉛筆軌跡或其他導體(以水果為例)進行充放電,并使用STM32F4微控制器對充放電時間進行計數,間接地得到電容的改變量。對這個改變量進行監控并設置適當的閾值,進而得到按鍵狀態。通過藍牙芯片將處理后的數據以預定的藍牙協議發送至上位機或移動設備上,實現無線鍵盤功能。 3. 系統硬件設計圖 2 整體硬件框圖
本系統以STM32 F4為核心控制器,通過檢測電路、施密特觸發器等電路,將微小的電容改變量轉換成電信號,再通過藍牙模塊將數據發送給手機或者上位機。本系統硬件部分主要由3個部分組成:檢測處理電路、控制器及藍牙模塊電路。 檢測電路由電容積分電路和施密特觸發器構成。當人體通過導電介質與電路聯通時,改變了電路總電容,使得充放電時間發生改變。為減少外界干擾,選用施密特觸發器代替普通比較器,使得檢測更準確。 圖 3 電容檢測處理電路圖 HC05藍牙模塊是一款高性能的主從一體的藍牙串口模塊,可以同各種帶有藍牙功能的設備配對。其波特率范圍:4800~1382400,并兼容5V或3.3V單片機系統。 圖 4 藍牙模塊電路圖 本系統分為單線單點、單線多點、及多線多點檢測方式。 在單線單點中,使用一個獨立的導線,檢測一個觸電按鍵是否被觸發,檢測流程圖如圖二所示,這種方式識別準確率高,魯棒性強,適用于多類導體連接,使用水果鍵盤來彈鋼琴,便是用這種方式來實現的。但缺點是,當按鍵多時,需要很多的導線及單片機引腳導致構線繁雜,不易搭接與維護。 單線多點方式,可以在僅使用一個導線的情況下,正確識別出多個按鍵的觸發狀態,通過對輸入信號進行濾波、分段,可明確地為每個按鍵分配出一個互相完全獨立的數據區域,經多區域的閾值比較來判斷出在同一條導線上的哪個按鍵被觸發了。 多線多點方式,使用多條獨立導線,來識別出更多的按鍵點。每條導線檢測流程圖同單線多點基本一致,但需要注意的是,因為導體放電需要一段時間,并且在多個導線共同工作的情況下,在為某根導線充電時,務必保證其他導線均為低電平及放電完畢狀態,這樣才不會互相影響。同時,因系統運行要保證良好的實時性,因此我們設計為,多路導線交替著循環充放電,在每個單線檢測流程結束后,將此路引腳拉低,使其在整個循環周期內大部分時間都在放電,縮減充電前檢測等待時間。
4. 系統軟件設計圖 5 單線單點按鍵檢測流程圖
因人體感應電容不穩定,因此采集到的數據將會頻繁抖動,這里我們采用了均值濾波及保持濾波的方式。即在多次采樣后,剔除極端數據后進行均值運算;而后在n次采樣中保持輸出前n次出現次數最多的采樣值,從而減小數據抖動。 圖 6 濾波前數據 圖 7 濾波后數據 圖 8 傳至上位機的數據
隨著所處環境的變化,必然影響電路中電容及人體感應電容值的大小,因此在系統開始運行前,需進行自動或手動初始化,以減小誤識別。系統上電后,將自動采集n組(n足夠大)數據,作為以后做比較的初始值。初始值采集后,所有數據均計算與初始值的差值,默認將設置一個較小的值作為差值閾值,但保證不會誤觸發。當環境發生較大改變時,可使用User按鍵進行系統矯正,矯正過程中將采集n組值,選取其中的最小值,并再降低30%~50%作為觸發閾值。經過實際測試,此種策略基本可以保證該無線鍵盤的識別率。 當前比較流行的音樂節奏游戲(以節奏大師為例),在觸控設備上均有良好的交互效果,但使用普通鍵盤玩,卻十分生硬,沒有很好的用戶體驗。而水果不僅經常出現在我們的生活中,也很適合拍打,且為導體,因此我們設計使用水果鍵盤來操作這類音樂節奏游戲,增加趣味性。水果鍵盤使用單線單點的檢測方式,通過對水果不斷充放電實現檢測功能。將數據發送到上位機之后,借助COM組件實現對電腦鍵盤的控制,實現游戲功能。(如附錄中圖11) 在采集到按鍵數據后,STM32F4由串口與藍牙芯片連接,使用指定的藍牙協議將數據發送到上位機或移動設備。上位機程序使用C#編寫,移動設備以WinPhone8設備作演示。(如附錄中圖12、圖13) 在STM32單片機采集到按鍵數據后,根據按下的鍵的信息,使用單片機DAC以DMA方式控制輸出音頻數據發出不同音調聲音,對于STM32F4-DISCOVERY開發板,也可使用I2S協議,控制音頻DAC輸出音頻數據。從而實現了水果電子琴功能。(如附錄中圖10) 5. 系統創新- 將人體感應電容對電路的不利影響合理地利用起來,使用生活中隨處可見的物品(如A4紙、水果等)代替傳統按鍵,制作出廉價的便攜的新式鍵盤。
- 使用施密特觸發器結合stm32控制器中計數器實現對電容充放電時間的檢測,進而實現對微小電容改變量的檢測。
- 將衍生出的水果鍵盤應用到合適的游戲中(例如節奏大師),大大增加了游戲趣味性和可玩性。同時也衍生出了水果電子琴等獨特游戲。
- 利用了鉛筆軌跡的導電性及因軌跡長度導致的電容改變特性,實現了單路多觸點的檢測,大大減小了單片機I/O引腳的使用量。
6. 評測與結論按鍵響應時間:<50ms (8路多點檢測) 按鍵誤觸發率:1% 按鍵未響應率:4% 20cm長鉛筆軌跡可分觸點:4~5個
在多路單點檢測的情況下,按鍵準確率在99%以上。 在8條導線的情況下即可完成30鍵鍵盤的正確檢測。
如下圖為數據擬合后,充電時間t隨觸點與軌跡端點距離的大致變化趨勢: 圖 9 充電時間變化趨勢圖
本系統在硬件方面包括LM358運算放大器搭建的電壓跟隨器及施密特觸發器,藍牙芯片等,在軟件方面包括在stm32上對人體感應電容的檢測與數據預處理,上位機與stm32的藍牙通信協議,上位機的鍵盤驅動、模擬鋼琴發聲程序,以及基于c#的圖形化數據分析程序。整個設計過程包括人體電容檢測原理電路圖的設計,PCB板繪制及制作,焊接調試等,對硬件系統采集到的數據進行濾波以及分析處理等整個開發調試過程。
附錄圖 10 香蕉電子琴
圖 11 “節奏大師”游戲外設
圖 12 手機藍牙鍵盤 圖 13 電腦藍牙鍵盤 圖 14 輕薄環保鍵盤
下面是源碼的目錄:
全部設計資料下載(原理圖 源碼 文檔 資料等等):
人體感應式無線鍵盤.7z
(7.02 MB, 下載次數: 178)
2021-8-24 17:34 上傳
點擊文件名下載附件
還順便分享個一個是攝像頭:
OV7670學習資料.zip
(1.38 MB, 下載次數: 87)
2017-5-9 21:51 上傳
點擊文件名下載附件
|