平板電腦和智能手機幫助我們推廣了使用手勢控制電子設備的理念。手指捏合已成為縮小屏幕對象的代名詞;使用兩根及以上的手指滑動屏幕,可從一個圖片或應用滑動至另一個圖片或應用。我們現(xiàn)在完全熟悉了這些簡單的動作。
隨著這些手勢的日常使用,它們開始延伸到其他技術領域。這對于汽車應用而言很重要,能夠在不分散駕駛員注意力的情況下實現(xiàn)控制功能。通常,此類手勢界面用作儀表板交互顯示屏的輔助部分。但是,手勢界面的關鍵優(yōu)勢是它不需要復雜的視覺顯示。設備上的聲音消息或燈光配置變化,可用于指示手勢已被識別以及狀態(tài)已經(jīng)變化。因此,在作為物聯(lián)網(wǎng) (IoT) 的一部分提供環(huán)境智能的設備中,手勢界面將是非常有用的。
無需圖形界面的設備手勢比智能手機上的手勢更加簡單,后者通常會對使用手指數(shù)量的變化做出響應。這些更簡單的界面通?;谡皇值囊苿印T趥鞲衅髅姘迩白鱿蛏蠏邉邮謩荩芍甘臼覂瓤刂葡到y(tǒng)開燈。水平掃動手勢可指示供暖控制系統(tǒng)提高或降低溫度。手指快速輕拂,可以前進到另一項功能,或者指示娛樂系統(tǒng)前進到下一個音軌。
手勢的含義可以變化,具體取決于傳感器面板處于何種模式,或許簡單的 LED 報警器圖標或語音消息會告訴用戶哪一種模式是活動的。通過與室內各個系統(tǒng)建立網(wǎng)絡連接,傳感器面板可以控制多種功能,這也是物聯(lián)網(wǎng)基礎設施的主要優(yōu)勢之一。傳感器面板可以集成到桌子、墻壁控制以及揚聲器等電子設備中。多部設備可同時與物聯(lián)網(wǎng)系統(tǒng)協(xié)調,在室內的不同位置提供便利的控制。
有多種方式可以檢測手勢動作,包括攝像頭和接近傳感器。但是,在物聯(lián)網(wǎng)應用中,成本是一大問題?;跀z像頭的解決方案需要復雜的軟件來處理圖像,但實現(xiàn)了很高的靈活性,并具備了識別多種不同手勢的能力。
電場傳感器則擁有更低的成本且操作更簡單。該傳感器使用由交流電驅動的電極,在物體表面上方形成電場。可以選擇頻率將電磁的磁場分量降至最低,并形成準靜態(tài)近場,當傳導性物體(例如手)移動到范圍內,會對該電場產(chǎn)生干擾。
標準和升壓傳感器類型的識別范圍分布圖
圖 1:標準和升壓傳感器類型的識別范圍。
當用戶的手進入感測范圍內時,傳入的電場線將通過用戶的身體分流到大地,使整個電場發(fā)生失真。這種效應將靠近手的電極信號電平降低到較低的水平,而傳感器陣列可以檢測到這一變化。手四處移動時,陣列的不同部分拾取這種運動,并將電勢變化告知控制器 IC,例如 Microchip Technology 的 MGC3x30 GestIC。
圖 2:GestIC MGC3030 框圖。
GestIC 為最多五個接收電極和一個信號發(fā)射器提供了接口。接收和發(fā)射電極可采用任何導電材料制成,例如織物狀銅網(wǎng)或氧化銦錫 (ITO)。電極之間的隔離可以是任何不導電材料,包括阻燃纖維玻璃環(huán)氧樹脂 (FR4 PCB)、玻璃或塑料。電極頂部的可選覆蓋層也必須是不導電的。發(fā)射電極放置在接收電子元件陣列下方。
該設計提供標準和升壓傳感器兩種選擇。標準傳感器適合通常采用電池供電的小型設備,這些設備與地面有弱連接。升壓傳感器類型使用更高的發(fā)射電壓,適合具有接地連接的大型設備,包括需要較大識別范圍的設備。使用標準傳感器配置,接地連接可提供通常高達 100 mm 的更大識別范圍,而電池供電的未接地設備的識別范圍僅為 50 mm。傳感器形狀大約為方形或圓形,寬高比不超過 1:3。
GestIC 硬件識別人手的電中心點,當該點在傳感器范圍內移動時,還可跟蹤該點。用戶手的 XY 位置被最多四個傳感器電極拾取。第五個連接可用作按鈕或中心電極,以識別簡單的“按鈕觸摸”手勢。
為了簡化在系統(tǒng)中的集成,GestIC 器件包含自身的手勢處理固件,存儲在內部閃存中。該固件包括基于隱馬爾可夫模型的 Colibri Suite 數(shù)字信號處理 (DSP) 算法,可執(zhí)行各種功能,例如接近檢測、位置跟蹤和手勢識別。它們還能夠使用基于消息的接口,將狀態(tài)更新發(fā)送至微控制器 (MCU),另外還提供了處理固件更新的功能。
MCU 和 MGC3X30 之間的通信是使用 I2C 兼容雙線串行接口實現(xiàn)的。這使 MCU 能夠讀取傳感器數(shù)據(jù),并將控制消息發(fā)送至芯片。它提供一個地址引腳,用于在同一總線上的最多兩個 MGC3X30 器件之間進行選擇。GestIC 固件會更新傳感器讀數(shù),默認速率為 5 ms,每次會更新串行端口消息緩沖區(qū),并將傳輸狀態(tài) (TS) 線拉低,指示有可用的新讀數(shù)。
主機可以設置多個運行時參數(shù),包括 GestIC 器件將要檢測的手勢類型。Set_Runtime_Parameter 的 0xA2 命令使用位掩碼,篩選出不需要的手勢類型。禁用某些手勢有助于提高其他手勢的識別概率,從而改進簡單控制接口的可用性。GestIC 能夠識別的手勢包括沿直角坐標軸方向的輕拂,以及順時針和逆時針方向的畫圈。
圖 3:GestIC 解決方案識別的手勢類型及其潛在用途
GestIC 固件還提供手在傳感器電場范圍內移動時的位置更新,并與手勢更新一起輸出。其他信息包括第五個電極輔助識別的觸控事件,以及 AirWheel 數(shù)據(jù)。AirWheel 的工作方式與老式便攜式音樂播放器上的滾輪非常相似,但要在設備表面上方執(zhí)行手勢。
為了讓工程師能夠更簡單地為主機 MCU 開發(fā)軟件,Microchip 開發(fā)了基于 C 語言的 API,還有參考代碼提供支持。該 API 處理各種功能,包括控制消息緩沖區(qū)、將消息位掩碼解碼為 C 結構、執(zhí)行事件處理。這些功能可讓主機 MCU 擺脫低級別協(xié)議及其時間約束。為了支持設計,還要在基于 Windows 的 PC 上運行第二個軟件包 Aurea。該軟件可解析由 GestIC 發(fā)送的消息,并視覺呈現(xiàn)手勢和位置數(shù)據(jù)。使用 Aurea,開發(fā)人員可以優(yōu)化感測參數(shù)和布局,以便對目標應用提供最佳支持。配套開發(fā)套件提供了 I2C USB 橋,以便為傳感器和軟件開發(fā)提供原型支持。