觸控設(shè)備手勢喚醒的設(shè)計(jì)思路及其實(shí)現(xiàn)
本文討論如何喚醒平板電腦等觸控裝置,無需接觸設(shè)備,而是采用基本的手勢識(shí)別及新穎的接近檢測傳感器。本文討論了相關(guān)設(shè)計(jì)的物理布局、速度限制、檢測門限、系統(tǒng)集成,以及人為因素的影響;給出了軟件實(shí)時(shí)的例程。
本文引用地址:http://2s4d.com/article/160306.htm廚房里的突發(fā)奇想
如果做飯時(shí)使用觸控設(shè)備,您可能會(huì)注意到按照設(shè)備列出的食譜烹飪并非想象得那么簡單。技術(shù)達(dá)人(例如鄙人)走進(jìn)廚房時(shí),喜歡看著平板電腦或智能手機(jī)上的菜譜做飯。您可能會(huì)說:“好吧,這有什么難度?”由于屏幕始終開啟會(huì)消耗很大電量,通常手持裝置在1、2分鐘后沒有操作時(shí)將自動(dòng)進(jìn)入休眠狀態(tài)。那么,當(dāng)您需要參照食譜時(shí),設(shè)備已進(jìn)入休眠狀態(tài)。此事,您面臨兩個(gè)選擇:要么強(qiáng)制屏幕保持永久開啟;要么用沾滿食物的手開啟裝置,而在屏幕上留下斑斑油漬。當(dāng)然,您可以在每次查看時(shí)把手清洗干凈,但不斷重復(fù)洗手、擦干即繁瑣,又費(fèi)水。
我時(shí)常問自己:“怎樣才能既不讓屏幕始終開啟,又不會(huì)弄臟裝置?”實(shí)際上,有一種辦法一舉兩得,即通過一個(gè)手勢(不用接觸屏幕)開啟顯示屏。聽起來似乎很復(fù)雜,是嗎?幸運(yùn)的是,做起來可能比聽起來容易一些。
接近檢測傳感器
許多觸摸屏裝置,尤其是智能手機(jī),內(nèi)部已經(jīng)安裝了紅外(IR)接近檢測傳感器。這些傳感器一般在通話期間自動(dòng)打開/關(guān)閉屏幕,以避免意外操作手機(jī)的輸入界面。這種傳感器,加上精明的軟件設(shè)計(jì),就能實(shí)現(xiàn)利用一個(gè)手勢喚醒裝置的功能。
基本的設(shè)計(jì)思路是:設(shè)備進(jìn)入休眠狀態(tài)時(shí),觸摸屏關(guān)閉,應(yīng)用處理器處于低功耗模式,依靠接近檢測傳感器“觀察”背景的變化,當(dāng)接收到的信號(hào)足夠大時(shí),做出適當(dāng)反應(yīng)。這與接近檢測傳感器在通話期間關(guān)閉屏幕的功能幾乎完全相同。只是,我們的應(yīng)用對(duì)數(shù)據(jù)有了不同的解釋。
首先記錄傳感器在“正常”背景下的計(jì)數(shù)值,此時(shí)得到的數(shù)值可能為零,但實(shí)際設(shè)計(jì)中需要考慮系統(tǒng)失調(diào)(例如:散射或串?dāng)_)。然后將得到的數(shù)值設(shè)置為檢測門限,當(dāng)接收信號(hào)超過門限時(shí)觸發(fā)中斷或向應(yīng)用處理器發(fā)送信號(hào),以喚醒系統(tǒng)并打開屏幕??傮w而言,這種方法非常簡單、直觀,可利用環(huán)境光檢測器和IR接近檢測傳感器實(shí)現(xiàn)。
本文介紹的方案采用MAX44000,接近檢測的數(shù)據(jù)讀取時(shí)間間隔可以設(shè)置在1.56ms至100ms (與環(huán)境光檢測傳感器輪流讀取數(shù)據(jù))。假設(shè)最大檢測距離為10cm,LED的輻射角為±15°,那么,可以覆蓋的面積大約為22cm2或跨距大約為5.35cm,只有該區(qū)域內(nèi)的移動(dòng)目標(biāo)才能捕捉到。由此,能夠以最慢(即最低功耗)的采樣速度可靠檢測的最快手勢動(dòng)作大約為0.53mps。在此,我們還假設(shè)傳感器只需要采集到一次高于門限的信號(hào),即可識(shí)別經(jīng)過覆蓋區(qū)域的目標(biāo)。
舉手之勞...
理論上講,該方案的實(shí)施非常簡單。當(dāng)裝置進(jìn)入休眠模式時(shí),將接近檢測傳感器置為環(huán)境掃描模式,并在檢測到目標(biāo)時(shí)發(fā)出中斷信號(hào),指示捕捉到超過預(yù)設(shè)門限的信號(hào)??赏ㄟ^I2C接口輪詢傳感器的狀態(tài)。不幸的是,這種方式會(huì)消耗過大功率,超出了大多數(shù)用戶的預(yù)期。
這也是接近檢測傳感器的設(shè)計(jì)重點(diǎn),MAX44000傳感器能夠在許多方面擺脫應(yīng)用處理器的干預(yù),減輕處理器負(fù)荷(降低功耗)。 使能MAX44000的內(nèi)部接近檢測中斷(寄存器0x01的第1位),可將喚醒門限寫入內(nèi)部寄存器(0x0B和0x0C)。當(dāng)接近檢測傳感器的讀數(shù)超過該門限時(shí),觸發(fā)中斷標(biāo)識(shí)置位,將MAX44000的/INT引腳置為低電平。當(dāng)應(yīng)用處理器檢測到該引腳驅(qū)動(dòng)為低電平時(shí),可喚醒裝置退出低功耗模式,并打開屏幕,或完成其它需要的動(dòng)作。
...但不容忽視
實(shí)際應(yīng)用往往不如理論那么容易,非接觸喚醒的具體實(shí)施并非只是簡單地檢測高于門限的信號(hào)。實(shí)際上,具體的設(shè)計(jì)需要考慮諸多因素。
信號(hào)電平與電路布局
最關(guān)鍵的考慮應(yīng)該是觸發(fā)喚醒條件的信號(hào)電平,需要在系統(tǒng)響應(yīng)靈敏度與誤報(bào)概率之間進(jìn)行權(quán)衡。如果門限過低,則很容易檢測到輸入(手勢工作),但會(huì)增大瞬態(tài)噪聲或突發(fā)條件產(chǎn)生誤報(bào)的概率。反之,過高的檢測門限能夠把誤報(bào)概率降至幾乎為零,但卻只能檢測到非常接近的目標(biāo),甚至對(duì)任何輸入(即使您瘋狂晃動(dòng)手臂)都反應(yīng)遲鈍。
解決這一問題的最佳方式是:首先降低系統(tǒng)噪聲,可以通過光學(xué)方法或嚴(yán)謹(jǐn)?shù)碾娐凡季?a class="contentlabel" href="http://2s4d.com/news/listbylabel/label/實(shí)現(xiàn)">實(shí)現(xiàn),降低的噪底有助于降低誤報(bào)概率;其次,選擇“平均”檢測距離(例如:4cm至5cm)并利用參考目標(biāo)測量信號(hào),18%的灰板比較理想,但如果觸摸屏上方安裝了黑色玻璃,測量時(shí)也應(yīng)該使用這樣的玻璃,所測得的信號(hào)電平可以作為設(shè)置門限的最佳參考。通??梢宰裱@樣的原則:即將電平設(shè)置在滿幅的8%至15%,即使電平發(fā)生變化。
可以按照上述經(jīng)驗(yàn)數(shù)據(jù)設(shè)置MAX44000傳感器的接近檢測門限寄存器,圖1所示為信號(hào)強(qiáng)度隨距離變化的關(guān)系曲線,采用18%灰板,驅(qū)動(dòng)電流為100mA,傳感器上方?jīng)]有玻璃罩。藍(lán)線為可以選擇的喚醒門限。
圖1. MAX44000接近檢測傳感器信號(hào)強(qiáng)度隨距離變化的關(guān)系曲線,采用18%灰板,100mA驅(qū)動(dòng)電流,沒有玻璃罩。
評(píng)論