楊玉娥,彭 可,陳 練,趙 卓
(湖南師范大學(xué) 工程與設(shè)計(jì)學(xué)院,湖南 長(zhǎng)沙 410000)
發(fā)光二極管(light-emitting diode,LED)顯示屏與互動(dòng)技術(shù)的創(chuàng)新性結(jié)合,突破了傳統(tǒng)LED顯示屏只能單向顯示信息的模式,使觀眾能主動(dòng)地與顯示屏中的內(nèi)容產(chǎn)生交流互動(dòng)。LED顯示屏互動(dòng)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的首要難題在于互動(dòng)感應(yīng)的檢測(cè)和定位。文獻(xiàn)[1~4]基于紅外或激光探測(cè)的定位方式容易受到環(huán)境光的影響,只能在室內(nèi)無(wú)強(qiáng)光照射下使用[5]。蘇州晟跡公司研制的無(wú)框雷達(dá)眼觸控屏突破了這一局限,其通過安置在顯示屏周邊的雷達(dá)傳感器向顯示屏表面發(fā)射電磁波的方式,檢測(cè)觸摸點(diǎn)的距離和角度以確定接觸點(diǎn)在屏體上位置[6]。
本文提出一種基于電容接近感應(yīng)傳感器的LED顯示屏互動(dòng)系統(tǒng),這種依靠感應(yīng)電場(chǎng)變化檢測(cè)互動(dòng)的方式不受環(huán)境光照強(qiáng)弱影響,同時(shí)內(nèi)嵌于LED顯示屏的一體化設(shè)計(jì)使得系統(tǒng)互動(dòng)檢測(cè)范圍不受顯示屏幕尺寸限制,且觸點(diǎn)定位十分準(zhǔn)確。本系統(tǒng)對(duì)檢測(cè)信號(hào)先后經(jīng)過中值濾波和可變參的低通濾波,同時(shí)設(shè)計(jì)了一種自適應(yīng)基值策略以消除使用過程中溫度變化產(chǎn)生的電容偏移[7,8]。通過該人屏互動(dòng)方案在各種環(huán)境下的實(shí)際應(yīng)用效果顯示,此互動(dòng)系統(tǒng)環(huán)境適應(yīng)強(qiáng),系統(tǒng)容錯(cuò)率高,感應(yīng)定位準(zhǔn)確而靈敏,互動(dòng)體驗(yàn)效果良好,可應(yīng)用于各種舞臺(tái)互動(dòng)表演、娛樂館互動(dòng)游戲、商業(yè)或展會(huì)互動(dòng)展示等場(chǎng)合。
LED顯示屏互動(dòng)系統(tǒng)總體設(shè)計(jì)如圖1所示。其中,電容式接近感應(yīng)傳感器、微處理器和數(shù)據(jù)傳輸控制器接收卡集成組裝在LED顯示屏箱體內(nèi)。
圖1 互動(dòng)系統(tǒng)總體設(shè)計(jì)
電容式接近感應(yīng)傳感器按4×4排列分布式內(nèi)嵌于LED顯示屏箱體表層下面板電路中,通過引腳連接顯示屏表層面罩下的感應(yīng)線圈,在顯示屏表層區(qū)域形成一個(gè)感應(yīng)電場(chǎng)來(lái)檢測(cè)物體的接近,檢測(cè)單元布局結(jié)構(gòu)如圖2所示。
圖2 接近檢測(cè)單元結(jié)構(gòu)
系統(tǒng)所用接近傳感器為賽普拉斯系列電容式接近感應(yīng)傳感器CY8CMBR3102,該傳感器感應(yīng)檢測(cè)引腳與外部感應(yīng)線圈相連,線圈受電壓源激發(fā)會(huì)在周圍產(chǎn)生感應(yīng)電場(chǎng),當(dāng)有物體進(jìn)入電場(chǎng)區(qū)域會(huì)使傳感器電容發(fā)生改變[9,10]。傳感器內(nèi)部有一個(gè)14 Bit分辨率的轉(zhuǎn)換器,轉(zhuǎn)換器自動(dòng)將檢測(cè)到的電容按比例轉(zhuǎn)換為一個(gè)原始計(jì)數(shù)信號(hào)值。傳感器檢測(cè)原理如圖3所示。
圖3 電容式接近傳感器檢測(cè)原理
系統(tǒng)對(duì)于檢測(cè)到的電容感興趣的是其變化值,給傳感器設(shè)定一個(gè)閾值,若計(jì)數(shù)信號(hào)值變化量超過閾值則說明有外部物體接近傳感器線圈,判定傳感器處于感應(yīng)狀態(tài)ON;反之,則說明傳感器處于閑置狀態(tài)OFF。外部微處理器對(duì)原始計(jì)數(shù)信號(hào)值的連續(xù)采樣就可得到傳感器感應(yīng)狀態(tài)的實(shí)時(shí)變化信息。
系統(tǒng)互動(dòng)功能實(shí)現(xiàn)流程圖如圖4所示。
圖4 系統(tǒng)互動(dòng)功能實(shí)現(xiàn)流程
互動(dòng)顯示屏微處理器掃描屏面所有接近傳感器獲取其感應(yīng)狀態(tài)信息,同時(shí)將各傳感器感應(yīng)狀態(tài)和其在顯示屏上位置信息組裝成一個(gè)數(shù)據(jù)幀并上傳至計(jì)算機(jī),計(jì)算機(jī)中上位機(jī)操作軟件解析數(shù)據(jù)幀得到互動(dòng)顯示屏上傳感器觸發(fā)區(qū)域的位置信息。上位機(jī)操作軟件將選擇的Flash動(dòng)畫播放控件縮放并疊加到映射區(qū)域中,并根據(jù)解析的傳感器觸發(fā)區(qū)域位置信息在映射區(qū)域?qū)?yīng)位置觸發(fā)點(diǎn)擊事件,引起Flash動(dòng)畫的點(diǎn)擊響應(yīng),畫面同步傳輸至LED顯示屏端看起來(lái)就是物體靠近的區(qū)域產(chǎn)生實(shí)時(shí)互動(dòng)效果。其中上位機(jī)軟件通過VB.Net程序編輯設(shè)計(jì),有良好的界面編輯環(huán)境為L(zhǎng)ED顯示屏的各項(xiàng)功能添加操作控件,與數(shù)據(jù)傳輸控制器配合向LED顯示屏中微處理器發(fā)送控制指令或接收數(shù)據(jù)以實(shí)現(xiàn)對(duì)LED顯示屏的遠(yuǎn)程操作。
系統(tǒng)數(shù)據(jù)處理模塊主要負(fù)責(zé)處理接近傳感器采集的信號(hào)和根據(jù)上位機(jī)下發(fā)指令對(duì)顯示屏執(zhí)行相應(yīng)互動(dòng)功能操作。接近傳感器采集的信號(hào)往往存在各種不同的噪聲干擾,主要包括有由開關(guān)電源產(chǎn)生的噪聲毛刺,以及傳感器電路中一些有源器件產(chǎn)生的1/f噪聲[11,12](閃爍噪聲),一般頻率在20~25 Hz左右。此外,系統(tǒng)使用環(huán)境也會(huì)對(duì)傳感器采集帶來(lái)影響。在互動(dòng)系統(tǒng)控制軟件中提出一種自適應(yīng)基值綜合濾波算法對(duì)傳感器原始數(shù)據(jù)進(jìn)行綜合濾波處理,并優(yōu)化傳感器獲得感應(yīng)觸發(fā)的方式,以減少傳感器檢測(cè)誤差,增加感應(yīng)觸發(fā)準(zhǔn)確性與均衡性。
自適應(yīng)基值綜合濾波算法執(zhí)行步驟如下:1)對(duì)接近傳感器檢測(cè)的原始數(shù)據(jù)先后經(jīng)過中值濾波和低通濾波[13,14]以消除干擾噪聲,對(duì)經(jīng)過中值濾波后的信號(hào)需要采樣測(cè)量噪聲最大振蕩幅度,確定低通濾波器濾波系數(shù)以優(yōu)化濾波效果。2)將經(jīng)過濾波處理后的信號(hào)在接近傳感器閑置OFF狀態(tài)下取100個(gè)采樣周期內(nèi)的平均計(jì)數(shù)值,作為該傳感器的計(jì)數(shù)信號(hào)基值Basecount;隨后計(jì)算濾波信號(hào)與信號(hào)基值之差作為信號(hào)的差分計(jì)數(shù),根據(jù)信號(hào)差分計(jì)數(shù)值fd(i)與接近感應(yīng)閾值Threshold對(duì)比,判斷傳感器接近感應(yīng)觸發(fā)狀態(tài)。3)系統(tǒng)啟動(dòng)之初會(huì)檢測(cè)并設(shè)置LED顯示屏箱體內(nèi)溫度為參考溫度,之后每過一定時(shí)間重新檢測(cè)箱體內(nèi)當(dāng)前溫度并計(jì)算與參考溫度之差,根據(jù)溫度差決策是否重新檢測(cè)設(shè)置傳感器計(jì)數(shù)信號(hào)基值以消除環(huán)境溫度給接近傳感器檢測(cè)帶來(lái)的偏差。4)針對(duì)接近傳感器在持續(xù)感應(yīng)情況下的觸發(fā)狀態(tài),根據(jù)不同使用需求執(zhí)行相應(yīng)的判斷策略。
1.4.1 信號(hào)綜合濾波處理
微處理器每隔20 ms對(duì)接近傳感器中檢測(cè)電容轉(zhuǎn)換而來(lái)的原始信號(hào)進(jìn)行采樣,采樣信號(hào)首先進(jìn)行中值濾波以消除信號(hào)中的噪聲毛刺。采樣數(shù)據(jù)中取包括當(dāng)前數(shù)據(jù)的前N個(gè)連續(xù)采樣值xi,xi-1,…,xi-N+1存入緩存區(qū),對(duì)這N個(gè)數(shù)據(jù)按從小到大排序得到新序列si,si-1,…,si-N+1,取其中間值作為本次采樣數(shù)據(jù)的有效值y(i),即
{si,si-1,…,si-N+1}=sort{xi,xi-1,…,xi-N+1}
(1)
y(i)=median{si,si-1,…,si-N+1}
(2)
要獲得下一個(gè)采樣有效值y(i+1)只需在緩存區(qū)中移除第一個(gè)采樣值xi-N+1,添加新的采樣值xi+1,再次對(duì)這N個(gè)采樣值中值濾波即可。通常情況下接近傳感器對(duì)持續(xù)時(shí)間超過5個(gè)采樣周期的變化信號(hào)視為正常觸發(fā)而非擾動(dòng)引起的可識(shí)別信號(hào),因此式(1)、式(2)中N取值為9。
經(jīng)中值濾波后采樣信號(hào)包含依然包含閃爍噪聲,需要通過一階低通濾波器予以濾除。一階低通濾波器的公式為
f(i)=ay(i)+(1-a)f(i-1)
(3)
式中a為濾波系數(shù),a一般為遠(yuǎn)小于1的參數(shù),y(i)為當(dāng)前中值濾波后的采樣信號(hào)值,f(i)為y(i)通過低通濾波器的輸出值,相應(yīng)的f(i-1)為前一次低通濾波器的輸出結(jié)果。若直接使用此低通濾波器消除信號(hào)噪聲,傳感器對(duì)有用信號(hào)變化的濾波結(jié)果將無(wú)法及時(shí)跟進(jìn)。固定的濾波系數(shù)對(duì)不同強(qiáng)度噪音濾波無(wú)法都達(dá)到理想輸出效果。本文提出一種可變系數(shù)的低通濾波器以優(yōu)化濾波效果,在式(3)的基礎(chǔ)上由采樣信號(hào)計(jì)數(shù)值的變化確定濾波系數(shù)a的值
(4)
式中K為采樣信號(hào)噪聲衰減因子,可在低通濾波器初始采樣的100個(gè)采樣周期內(nèi)計(jì)算采樣計(jì)數(shù)信號(hào)的最大振蕩幅度r,根據(jù)r值(即最大噪聲幅度)大小確定K的值。衰減因子取值如表1所示。
表1 衰減因子K值表
結(jié)合式(3)、式(4),若連續(xù)兩個(gè)信號(hào)之間變化不超過K個(gè)計(jì)數(shù)值,則代表是噪聲引起的信號(hào)值振蕩,f(i)的值主要取決于上次通過低通濾波器的輸出值f(i-1),可保證濾波輸出結(jié)果能趨于平穩(wěn);反之,則說明信號(hào)變化是由外部感應(yīng)引起,需要濾波結(jié)果f(i)能及時(shí)跟進(jìn)當(dāng)前采樣信號(hào)值y(i)變動(dòng),保證感應(yīng)檢測(cè)的靈敏性。
系統(tǒng)感興趣的觸摸感應(yīng)信號(hào)頻率往往不大于1 Hz,而要濾除的閃爍噪聲在20~25 Hz;根據(jù)一階低通濾波器的截止頻率計(jì)算公式fL=a/2πt,其中t為信號(hào)采樣周期。將表1中K值代入式(4)可換算得到a,進(jìn)行穩(wěn)定濾波時(shí)濾波器截止頻率在0.12~0.5 Hz之間,進(jìn)行觸摸感應(yīng)信號(hào)檢測(cè)時(shí)濾波器截止頻率在7.5~7.8 Hz之間,既可以濾除閃爍噪聲,又可以基本還原觸摸信號(hào)。
1.4.2 基于自適應(yīng)基值的感應(yīng)狀態(tài)重判斷
在傳感器運(yùn)行初始階段,對(duì)其經(jīng)過綜合濾波后的采樣信號(hào),取100個(gè)采樣周期內(nèi)的平均計(jì)數(shù)值作為傳感器的計(jì)數(shù)信號(hào)基值Basecount,Basecount基本可以代表傳感器在未觸發(fā)狀態(tài)的計(jì)數(shù)信號(hào)值。取采樣信號(hào)計(jì)數(shù)值與計(jì)數(shù)信號(hào)基值之差fd(i)作為傳感器信號(hào)變化量,信號(hào)差分計(jì)數(shù)fd(i)若大于傳感器感應(yīng)閾值Threshold,則傳感器處于觸發(fā)狀態(tài),感應(yīng)狀態(tài)為ON;否則傳感器處于非觸發(fā)狀態(tài),感應(yīng)狀態(tài)為OFF。感應(yīng)閾值Threshold代表接近傳感器接近檢測(cè)模塊感興趣的計(jì)數(shù)信號(hào)變化量,取值可在實(shí)際應(yīng)用中做適當(dāng)調(diào)整。傳感器感應(yīng)狀態(tài)重判斷過程如下
fd(i)=f(i)-Basecount
(5)
傳感器開始運(yùn)行時(shí)確定了計(jì)數(shù)信號(hào)基值Basecount,使用過程中若周邊環(huán)境溫度發(fā)送變化會(huì)導(dǎo)致傳感器采樣信號(hào)輸出值f(i)產(chǎn)生偏差Δf,這需要對(duì)傳感器計(jì)數(shù)信號(hào)基值進(jìn)行自適應(yīng)調(diào)整以消除環(huán)境溫度變化影響,確保信號(hào)差分計(jì)數(shù)fd(i)維持相對(duì)不變。經(jīng)實(shí)踐檢驗(yàn),箱體環(huán)境溫度每變化6 ℃,接近傳感器采樣信號(hào)輸出值會(huì)有較大偏差,因此若檢測(cè)的溫度值與參考溫度之差超過6 ℃,則微處理器進(jìn)入中斷設(shè)置當(dāng)前溫度下傳感器的計(jì)數(shù)信號(hào)基值和參考溫度。
1.4.3 感應(yīng)狀態(tài)執(zhí)行策略
根據(jù)式(5),物體靠近接近傳感器一定距離其采樣信號(hào)差分計(jì)數(shù)值將大于感應(yīng)閾值Threshold,使得傳感器感應(yīng)狀態(tài)為ON,微處理器判斷此接近傳感器處于觸發(fā)狀態(tài)。根據(jù)互動(dòng)顯示屏的不同使用需求提出兩種執(zhí)行策略:1)傳感器感應(yīng)狀態(tài)與觸發(fā)狀態(tài)一致,即感應(yīng)為OFF時(shí)非觸發(fā),感應(yīng)為ON時(shí)觸發(fā)。2)傳感器在感應(yīng)狀態(tài)為OFF時(shí)非觸發(fā),感應(yīng)持續(xù)為ON時(shí)只觸發(fā)一次。對(duì)于這種觸發(fā)方式只需要在傳感器感應(yīng)狀態(tài)進(jìn)入ON時(shí)引起一次觸發(fā),其后停止觸發(fā),直到下一次傳感器感應(yīng)狀態(tài)由OFF轉(zhuǎn)到ON。
測(cè)量微處理器在20 s時(shí)間內(nèi)對(duì)接近傳感器采樣的數(shù)據(jù)如圖5(a),由圖可以看出原始信號(hào)包含很多噪聲;根據(jù)1.4節(jié)所述,對(duì)原始信號(hào)經(jīng)過中值濾波得到圖5(b),原始信號(hào)中毛刺噪聲明顯減少;同時(shí)對(duì)經(jīng)過中值濾波的信號(hào)在初始100個(gè)采樣周期內(nèi)計(jì)算信號(hào)最大振蕩幅度,可得到振蕩幅度r=28,由此確定信號(hào)噪聲因子K=32;中值濾波后信號(hào)經(jīng)過低通濾波得到波形如圖5(c)所示,信號(hào)噪聲變化已基本趨于平穩(wěn);經(jīng)綜合濾波后的信號(hào),取100個(gè)采樣周期內(nèi)的信號(hào)平均值作為傳感器計(jì)數(shù)信號(hào)基值Basecount。
圖5(c)經(jīng)濾波后的輸出信號(hào)中,傳感器在13 s和17 s左右產(chǎn)生外部接觸感應(yīng),計(jì)數(shù)信號(hào)值有較大躍升;取信號(hào)計(jì)數(shù)值與基值之差得到差分計(jì)數(shù)信號(hào)如圖6(d),由于第一個(gè)外部感應(yīng)產(chǎn)生的信號(hào)差分計(jì)數(shù)值大于感應(yīng)閾值,因此傳感器感應(yīng)狀態(tài)變?yōu)镺N;而第二個(gè)外部感應(yīng)產(chǎn)生的信號(hào)差分計(jì)數(shù)值小于感應(yīng)閾值,故傳感器依舊處于OFF狀態(tài)。
圖5 信號(hào)綜合濾波過程
取10臺(tái)LED顯示屏箱體于溫度調(diào)節(jié)室內(nèi),對(duì)每一臺(tái)箱體首先加載無(wú)自適應(yīng)基值調(diào)節(jié)方法的程序,同時(shí)將屏上接近傳感器在室溫(24 ℃)環(huán)境下初始化并確定基值;測(cè)量傳感器在以下兩種情況下處于不同使用環(huán)境中的差分計(jì)數(shù)信號(hào)值變化:一是不受外界感應(yīng)的閑置狀態(tài);二是有外部感應(yīng)的感應(yīng)狀態(tài),為了保證感應(yīng)狀態(tài)下每次傳感器電容變化相同,實(shí)驗(yàn)取同一物體自由放置顯示屏箱體表面以覆蓋感應(yīng)線圈。作為對(duì)比實(shí)驗(yàn),對(duì)實(shí)驗(yàn)箱體加載使用自適應(yīng)基值調(diào)節(jié)方法的程序,按照先前方法測(cè)量顯示屏上的接近傳感器差分計(jì)數(shù)信號(hào)值變化。隨機(jī)選取其中一臺(tái)箱體上任意一個(gè)接近傳感器測(cè)量對(duì)比實(shí)驗(yàn)數(shù)據(jù),實(shí)驗(yàn)結(jié)果如表2所示。
實(shí)驗(yàn)中設(shè)置傳感器感應(yīng)閾值為128,表2中帶“*”標(biāo)記的數(shù)字表示傳感器處于觸發(fā)狀態(tài)。由表2可知,無(wú)自適應(yīng)基值的傳感器基值固定,受溫度變化影響其差分計(jì)數(shù)值會(huì)產(chǎn)生偏移。中使用自適應(yīng)基值調(diào)節(jié)的傳感器在不同溫度下自動(dòng)調(diào)整傳感器基值,消除了溫度變化引起的差分計(jì)數(shù)值偏移,保證即使在比較極端的環(huán)境下相同的外部觸發(fā)引起的傳感器電容變化基本一致。
表2 不同溫度下自適應(yīng)基值調(diào)節(jié)對(duì)比實(shí)驗(yàn)結(jié)果
隨后對(duì)實(shí)驗(yàn)箱體上10×16=160個(gè)接近傳感器都按如上方法做對(duì)比實(shí)驗(yàn),其中,無(wú)自適應(yīng)基值的傳感器有66 %左右在低溫環(huán)境下感應(yīng)失效,有90 %在高溫環(huán)境下存在誤觸發(fā)現(xiàn)象;而使用自適應(yīng)基值的傳感器100 %都能正常工作。實(shí)驗(yàn)結(jié)果證明:本文所提出的自適應(yīng)基值調(diào)節(jié)方法能克服溫度因素對(duì)接近感應(yīng)傳感器帶來(lái)的影響,可以使系統(tǒng)環(huán)境適應(yīng)性大大加強(qiáng)。
實(shí)驗(yàn)結(jié)果表明:算法減少了顯示屏檢測(cè)電路中產(chǎn)生的噪聲因素對(duì)電容式接近感應(yīng)傳感器檢測(cè)觸摸過程帶來(lái)的誤差,使互動(dòng)顯示屏上各個(gè)檢測(cè)區(qū)域?qū)ν獠坑|發(fā)的靈敏性相對(duì)均衡;同時(shí)也消除了溫度變化對(duì)系統(tǒng)檢測(cè)帶來(lái)的影響,從而大大加強(qiáng)了系統(tǒng)的環(huán)境適應(yīng)性,提高了系統(tǒng)的容錯(cuò)率。