接近手勢操作檢測在汽車人機(jī)界面領(lǐng)域的應(yīng)用
電容式接近傳感器普遍用于檢測傳感器近距離處是否存在用戶。通過檢測,當(dāng)感應(yīng)到有用戶存在后,我們即可選擇背光發(fā)光來凸顯特定按鈕,或者將系統(tǒng)從低功耗運(yùn)行模式下喚醒。具體就汽車應(yīng)用而言,當(dāng)電容式接近傳感器感應(yīng)到用戶在車內(nèi)時會打開車廂燈光,或激活無鑰匙車門解鎖系統(tǒng)。除了感應(yīng)傳感器附近是否存在用戶之外,我們還能通過適當(dāng)放置的多個接近傳感器來識別空中的簡單手勢。所有傳感器的數(shù)據(jù)能夠結(jié)合在一起,從而映射出傳感器鄰近區(qū)域中用戶的手勢操作。這些手勢可用來給系統(tǒng)提供輸入信息,包括控制媒體播放機(jī)、進(jìn)行地圖導(dǎo)航或者瀏覽播放列表等。
本文引用地址:http://www.ex-cimer.com/article/201610/309870.htm我們可適當(dāng)放置多個接近傳感器,使其相互之間留出適當(dāng)?shù)木嚯x。當(dāng)手劃過傳感器時,每個傳感器檢測到手部動作的時間瞬間都不相同。不同傳感器的相對檢測順序和檢測時長可用來分析手部移動的方向和速度。手勢可以很簡單,例如在這些傳感器上方從左到右畫一條直線;也可以很復(fù)雜,包括用手在空中畫圓圈之類的圖案。在本文中,我們將分析如何使用多個傳感器的不同模式進(jìn)行簡單的手勢識別以及如何實現(xiàn)更加復(fù)雜的手勢操作。
下面我們分析一下如圖1所示的汽車信息娛樂系統(tǒng)四周放置的四個電容式接近傳感器。
圖1. 右圖為汽車信息娛樂系統(tǒng)四周放置的電容式接近傳感器,左圖標(biāo)注出其位置。
傳感器的放置應(yīng)恰到好處,要確保在傳感器面板上方做手勢時能按順序觸發(fā)傳感器進(jìn)行識別(不同順序會產(chǎn)生不同效果)。我們會對傳感器的觸發(fā)順序進(jìn)行確認(rèn)。如果順序與某個預(yù)設(shè)序列相匹配,就會發(fā)出這個手勢對應(yīng)的操作指令。我們將采用圖1所示的傳感器放置模式作為參考,向您介紹本文中討論的手勢操作。
設(shè)想一下手從左到右在傳感器上方畫一條直線的簡單手勢操作,如圖2(a)所示。手從左到右掠過傳感器時,當(dāng)手一靠近系統(tǒng),左側(cè)傳感器就會首先被觸發(fā)。“觸發(fā)”這個詞在這里是指傳感器檢測到有物體存在,而不能誤解為啟用接近傳感器。因為系統(tǒng)一旦打開,接近傳感器就已經(jīng)在啟用了,而且會對鄰近區(qū)域的物體保持掃描感應(yīng)。
圖2. (a手在空中從左到右畫一條直線;(b)手畫直線時,每個傳感器的信號圖
手在控制臺上方劃過時,頂部、底部的兩個傳感器被觸發(fā),同時左側(cè)傳感器仍保持觸發(fā)。當(dāng)手繼續(xù)向右劃動時,右側(cè)傳感器被觸發(fā)。而左側(cè)傳感器則在手離開其檢測范圍后停止感應(yīng)。當(dāng)手劃過右側(cè)傳感器,頂部、底部的傳感器則不會再檢測到手的存在。手進(jìn)一步遠(yuǎn)離后,右側(cè)傳感器也會停止感應(yīng)。傳感器觸發(fā)的順序?qū)⑹且韵缕渲幸环N,具體取決于手的位置和各個傳感器的靈敏度:
右→頂→底→左
右→底→頂→左
右→底→左
右→頂→左
以上所有傳感器激活序列都對應(yīng)于(左→右)的手勢。本例采用PSoC實現(xiàn)電容式接近傳感器。PSoC中的電容至數(shù)字轉(zhuǎn)換器(也就是Capsense Sigma Delta)可用來測量電容。CSD模塊的輸出為原始計數(shù),原始計數(shù)越大,傳感器感應(yīng)到的電容也就越高。手離接近傳感器越近,傳感器的電容就越大。
當(dāng)傳感器的原始計數(shù)超過基礎(chǔ)值的某個特定閾值時,傳感器就會因為在其鄰近區(qū)域檢測到物體的存在而被觸發(fā)。手從左到右畫直線(如圖2(a)所示)時,四個傳感器的原始計數(shù)圖則如圖2(b)所示。該圖確認(rèn)了上述傳感器的激活順序。如果手反方向移動,也就是(右→左)的手勢操作,那么傳感器觸發(fā)序列與上述左右兩側(cè)傳感器的激活序列相反。也就是說,這時(右→左)手勢對應(yīng)的傳感器激活序列為以下其中一種:
右→頂→底→左
右→底→頂→左
右→底→左
右→頂→左
以上所述的兩種手勢都是手在水平方向的移動。同樣,手還可以垂直方向上畫直線,也就是(頂→底)或(底→頂)的手勢,具體取決于手移動的方向。
(上→下)或(下→上)的手勢可關(guān)聯(lián)于上下滾動菜單或曲目列表等簡單操作,如圖3所示。
圖3.用手垂直方向上畫直線的接近手勢來滾動菜單
(左→右)和(右→左)的手勢可關(guān)聯(lián)于音樂播放器應(yīng)用的換歌或換碟操作。通過放置接近傳感器(如圖4所示),同樣的手勢也可用來替代按壓按鈕來開關(guān)車艙內(nèi)部的照明燈。
圖4. 通過手畫直線來控制車艙頂燈
(頂→底)手勢類似于向上/下按鈕按壓動作。不過,在按住向上(向下)按鈕不放時,屏幕會不斷向上(下)滾動,直到松開按鈕為止。換言之,只要按下按鈕,這個動作就有“黏性”。要讓手勢操作徹底取代按鈕操作,那么手勢操作也應(yīng)該能夠支持這種“黏性”功能。我們將對手勢進(jìn)行如下修改來滿足這一要求。手從頂部傳感器向底部傳感器移動時,只要手劃過底部傳感器,系統(tǒng)就將此解碼為(頂→底)手勢。我們更改一下手勢,當(dāng)手按手勢順序到達(dá)最后的傳感器(這里指底部傳感器)時,就發(fā)出向下滾動的命令。并且只要手保持在底部傳感器上方不動,就會一直反復(fù)發(fā)出向下滾動的命令。等滾動到需要找的菜單項,手再繼續(xù)向下移動并離開底部傳感器感應(yīng)范圍,這時就會停止發(fā)出向下滾動的命令。也就是說,要讓手勢操作也有“黏性”,手不能一下子完成從上到下的劃動,而是要在最后的傳感器處先停頓一下,找到需要的項目之后再離開該傳感器的感應(yīng)范圍。只要手停在傳感器感應(yīng)范圍內(nèi)不動,就會一直發(fā)出命令。
圖5顯示了(頂→底)黏性手勢的頂、底部傳感器的原始計數(shù)圖。頂部傳感器停止感應(yīng)手勢操作之后,底部傳感器會保持更長時間的觸發(fā)狀態(tài),這說明手在底部傳感器的感應(yīng)范圍停下來了,而不是不停地直接劃下。在發(fā)送黏性命令時,我們要檢查頂部傳感器是否先被觸發(fā),而后是否觸發(fā)了底部傳感器。這時頂部傳感器已經(jīng)不再感應(yīng)到手勢操作,而底部傳感器仍能夠持續(xù)感應(yīng)到手在附近。當(dāng)手在底部傳感器范圍內(nèi)停留超過一定的時間閾值后,只要底部傳感器感應(yīng)到手在附近,就會一直發(fā)出黏性命令。同樣,我們也能對其它手勢操作進(jìn)行修改,從而實現(xiàn)“黏性”特性,這就能讓手勢操作完全取代上下按鈕功能了。
評論