觸摸屏作為一種人�(jī)交互界面,已大量取代了以往的鍵盤、鼠�(biāo)等人�(jī)溝通方式。電阻式觸摸屏以其低廉的�(jià)格,�(wěn)定的性質(zhì)更成為主打選擇的觸摸屏之一。在日常�(yīng)用中,經(jīng)常需要同�(shí)�(duì)多點(diǎn)�(jìn)行操作。然而,觸摸屏的觸摸�(diǎn)之間�(huì)互相影響,而得出錯(cuò)誤的觸摸�(diǎn)坐標(biāo)。本文優(yōu)化了兩點(diǎn)觸摸的判斷算法,�(shí)�(xiàn)了多�(diǎn)觸控的正確識(shí)別和定位處理。經(jīng)試驗(yàn)�(yàn)證表明可以實(shí)�(xiàn)圖像的放大、縮小、旋�(zhuǎn)等功能�
多點(diǎn)觸控,是指能同時(shí)正確�(shí)別和定位兩�(gè)或兩�(gè)以上的觸摸操作,能夠�(dú)立判斷每�(gè)觸摸�(diǎn)的操作意義,并實(shí)�(xiàn)相應(yīng)功能的技�(shù)。這是一種擺脫了傳統(tǒng)的輸入設(shè)備,簡單而方便的人機(jī)交互操作模式。多�(diǎn)觸控技�(shù)目前有兩種[1]:多�(diǎn)觸控手勢�(shí)別和多點(diǎn)觸控位置�(shí)別�
目前市面上出�(xiàn)較多的方式是多點(diǎn)觸控手勢�(shí)別。手指同�(shí)觸摸屏幕多點(diǎn)�(shí),能夠識(shí)別每�(gè)手指移動(dòng)的方向,能夠�(jìn)行旋�(zhuǎn)、縮放、平移等操作,但還不能夠判斷出每�(gè)手指的具體位置。但兩點(diǎn)觸摸甚至多點(diǎn)觸摸�(shí),X、Y 軸上�(huì)�(chǎn)生多�(gè)最大值,此時(shí)系統(tǒng)無法判斷觸摸�(diǎn)的準(zhǔn)確位置。通常把并不是真正觸摸的點(diǎn)叫做“鬼點(diǎn)”�
多點(diǎn)觸控位置�(shí)別才是真正意義上的多�(diǎn)觸控技�(shù),可以識(shí)別到觸摸�(diǎn)的具體位置,沒有“鬼點(diǎn)”的現(xiàn)象。這種觸控技�(shù)基于互電容檢測方式,通過行列交叉處耦合電容Cm 的變化判斷觸摸點(diǎn)。手指觸摸時(shí)行列之間的互電容減小,可以判斷觸摸點(diǎn)存在,并且準(zhǔn)確判斷每一�(gè)觸摸�(diǎn)位置�
1 電阻式觸摸屏多點(diǎn)觸摸技�(shù)
�(shí)�(xiàn)兩點(diǎn)觸摸,每�(gè)工作單元必須彼此�(dú)立,并且觸摸�(diǎn)只能在同一�(gè)工作單元中。圖1 給出了電阻式觸摸屏實(shí)�(xiàn)多點(diǎn)觸摸的方法:在X1 電極上加上電壓,由Y1,Y2,Y3 電極讀取A、B、C 觸摸單元所檢測到的X 坐標(biāo);在以后的各�(gè)始終周期依次讀取X2,X3 的坐�(biāo)。獲得所有觸摸單元的X 坐標(biāo)后,再依次給Y 電極加上電壓,以獲得各�(gè)觸摸單元的Y 坐標(biāo),從而實(shí)�(xiàn)兩點(diǎn)觸摸�
�1 電阻式觸摸屏多點(diǎn)觸摸的方�
2 兩點(diǎn)觸摸判斷算法�(shí)�(xiàn)
2.1剔除非觸摸點(diǎn)
�(dāng)觸摸屏表面有觸摸�(diǎn)�(shí),上層的ITO �(dǎo)電層向下凹陷,發(fā)生形變,并接觸到下層的ITO,接觸點(diǎn)的兩層ITO �(dǎo)電層之間存在一�(gè)電阻,當(dāng)觸摸的壓力越大時(shí),之間的電阻阻值就越小。通過�(jì)算相�(yīng)阻值,可以得到觸摸位置,但是想要正確識(shí)別出兩點(diǎn)觸摸的位置,就必須先剔除非觸摸點(diǎn)。所謂非觸摸�(diǎn),就是指沒有意愿的接觸點(diǎn)。這些觸摸�(diǎn)是隨�(jī)的,而且是非有效觸摸。比如,觸摸力度較輕�(shí),觸摸屏ITO �(dǎo)電層的電阻處在接通與未接通的臨界�(diǎn),類似這樣的觸摸點(diǎn)就是非觸摸點(diǎn)。這在沒有意志支配的情況下�(chǎn)生的接觸�(diǎn),對(duì)整�(gè)檢測沒有意義的,所以必須將它們剔除�
考慮到非觸摸�(diǎn)的隨�(jī)性,兩次測量的方法可將其剔除。若第一次測量的�(jié)果是有效值,但第二次測量的結(jié)果超出了整�(gè)觸摸屏的阻值所�(guī)定的范圍,是一�(gè)很大的值,則視其為無效值,該點(diǎn)即為非接觸點(diǎn),必將其剔除。反之,如果第二次測量的�(jié)果在整�(gè)觸摸屏的阻值所�(guī)定的范圍�(nèi),則視其為有效值,是有效的觸摸�(diǎn)�
2.2 接觸電阻的改�(jìn)
觸摸屏幕的壓力大小不同,ITO �(dǎo)電層的電阻值也不同,也就是說輕觸或重觸觸摸屏,�(chǎn)生的電阻是不同的。控制芯片可以測試出接觸電阻的阻值大小,但是沒法分辨出是輕觸,還是重觸,這只�(huì)影響判斷觸摸�(diǎn)的準(zhǔn)確性,從而會(huì)影響整�(gè)觸摸屏的可靠性。下圖是�2是輕觸的示意圖�
�2 觸摸屏輕觸示意圖
在現(xiàn)階段的方案中� 接觸電阻和壓力成為影響觸�(diǎn)坐標(biāo)�(zhǔn)確性的重要因素。如果接觸電阻不大于方阻,不�(huì)影響坐標(biāo)顯示的準(zhǔn)確性;如果大于方阻,就�(huì)出現(xiàn)跳躍�(diǎn)。比如,輕觸觸摸屏上的某一�(diǎn),會(huì)造成電路接通不完全,對(duì)整�(gè)電路來說,它表現(xiàn)為測量電阻大,測得的值比�(shí)際值要大,那么它的坐標(biāo)將會(huì)向后跳躍。與其相反的,如果是用力的重觸觸摸屏上的某一�(diǎn)�(shí),坐�(biāo)�(huì)前移。由此可見輕觸或重觸�(duì)接觸電阻的測量值影響很大,接觸電阻和壓力成反比�
查閱過一些四線電阻式觸摸屏的技�(shù)手冊(cè)后發(fā)�(xiàn):他們通常使用接觸電阻小于2kΩ 這�(gè)測試條件,來測試最小壓力這�(gè)參數(shù)。在正常力度的壓力下� 一般接觸電阻為2kΩ;如果壓力更小, 接觸電阻則會(huì)大于2kΩ。由此可見,�(shí)際測量結(jié)果與所施加的壓力存在動(dòng)�(tài)變化,如果加在同一�(diǎn)上的力量是變化的,那么測量出的坐�(biāo)�(diǎn)就是不確定的,所以這種測量方法仍然必須改�(jìn)�
在此,分解一次完整的觸摸過程�(1) 手指接觸到觸摸屏表面�(2)手指�(duì)觸摸屏逐步增加壓力�(3) 壓力保持�(4) 抬起手指�(5) 手指的壓力逐步減小�(6) 手指離開觸摸屏,整�(gè)觸摸過程完成。分解過程之后可以發(fā)�(xiàn),在這�(gè)過程中,手指�(duì)屏幕的壓力并不是一�(gè)恒定不變的量。所以,�(xì)分整�(gè)過程,把不同�(shí)期得到的壓力和接觸電阻全部采樣,然后求取平均值,那么這�(gè)值將更加接近�(shí)際數(shù)�(jù),這就是用求平均值的最根本原因。用求平均值的方法可以模擬整�(gè)觸摸過程,從而排除掉前期接觸、后期接觸或者中間接觸時(shí)壓力不穩(wěn)等情況�
這�(gè)改�(jìn)用一�(gè)循環(huán)來實(shí)�(xiàn),多次執(zhí)行讀取采樣函�(shù),然后求平均值。由于A/D �(zhuǎn)換的速度很快,這給求平均值提供了有利的基�(chǔ)。按照程序設(shè)定,一共采�32 次,在計(jì)算求平均值的�(shí)候,利用C 語言中的左移,求得平均值。可以把這�(gè)求得的和左移5 位,就得到平均值,這種�(jì)算方式十分便捷。另一�(gè)需要考慮的問題是�(shí)間,也就是A/D �(zhuǎn)換的速度問題。如果在完成一次觸摸的整�(gè)過程中,采樣的數(shù)目越多,�(duì)于觸摸點(diǎn)平均取值就越接近實(shí)際數(shù)�(jù),對(duì)確認(rèn)觸摸�(diǎn)坐標(biāo)的影響也就越小。A/D �(zhuǎn)換數(shù)�(jù)讀取過程的�(shí)�(xiàn),以及改�(jìn)后的算法如下�
第一步:接通觸摸屏電流,循�(huán)讀�32 次A/D �(zhuǎn)換器的值,并求得這些值的總和�
第二步:將求得的總和值左移五位,求得平均值,并把該平均值作為有效的�(shù)�(jù)�
改�(jìn)后的算法有效避免了不同壓力對(duì)�(zhǔn)確測量電阻值的影響,提高了�(shù)�(jù)的穩(wěn)定性和可靠性。可以更加準(zhǔn)確定位坐�(biāo),特別是屏幕中間區(qū)域的觸摸�(diǎn),效果尤其明顯�
2.3邊沿檢測�(jié)果的改�(jìn)
在�(jìn)行測試畫線的過程中,電壓波形不是一條平滑的曲線,而是階梯波,因此在采樣過程中� 有可能在電壓上升沿或者下降沿采樣,這樣采樣得到兩�(gè)�(diǎn)之間的電壓,并不代表這�(gè)�(diǎn)是處于采樣得到的兩�(gè)�(diǎn)直線之間的任何一�(gè)�(diǎn),而是如圖3 所示,折線上的A �(diǎn)或者B �(diǎn)。這樣�(huì)造成�(cuò)誤識(shí)別。在測試畫線的時(shí)候,如果畫線速度較快,第二次觸摸�(shí)電壓尚未�(wěn)定,�(huì)造成采樣�(shí)的誤讀,落在電壓變化的邊沿,采樣數(shù)�(jù)比A �(diǎn)(下降沿)樣�(shù)�(jù)大,比B �(diǎn)(上升沿)小。理論上來說,的確存在一�(gè)跟這�(gè)采樣�(shù)�(jù)�(duì)�(yīng)的點(diǎn),實(shí)際上選擇的這�(gè)�(diǎn)不是A �(diǎn),就是B �(diǎn)。下面來分析一下造成這種�(xiàn)象可能的原因�
�3 采樣�(diǎn)示意�
首先是硬件電路,分兩種情況:(1) 在供給觸摸屏的電路中有電容儲(chǔ)能,或者旁路中的電容給階梯的電壓的變化造成了延緩,(2) 在供電電路中存在比較大的電阻,電阻的電感特性影響較大,這兩種情況都�(huì)�(dǎo)致電壓變化的邊沿拉長。此�(shí)采樣的時(shí)�(jī)選在電壓變化的邊沿處的幾率增大�
即便不存在硬件電路問題,也不能保證所有的�(diǎn)都直接跳變,不能保證采樣的時(shí)�(jī)不在電壓上升沿或者下降沿處。所以要想避免這�(gè)問題,不僅要考慮硬電路問題,更要在現(xiàn)有的硬件電路基礎(chǔ)上,在程序中剔除這些采樣�(shí)�(jī)不對(duì)的點(diǎn)。因此,需要通過算法找出這些�(diǎn),然后把它們剔除。基于這�(gè)思路,在2.2 節(jié)中,已經(jīng)�(duì)每�(gè)�(diǎn)采樣32 次,如果把�32 �(gè)采樣值中的最大值和最小值分別找出來,就能消除邊沿處的采樣值影響。這里的最大值是指在上一�(gè)階梯下降�(shí)的采樣值,最小值是指在本階梯下降時(shí)的采樣值,然后�32 次采樣的總和值減去這兩�(gè)�(diǎn)的值。通過這種方法增加了采樣數(shù)�(jù)的可信度,增�(qiáng)了觸摸屏工作的可靠性�
2.4臨界�(diǎn)的改�(jìn)
�(guān)于觸摸的臨界�(diǎn)也有需要改�(jìn)的地方。如�4 所示,給出了觸摸電阻隨壓力的變化而變化的曲線圖�
由上圖可以看出,如果是有效地觸摸的話,電阻的變化率不�(huì)太大,如兩接觸臨界點(diǎn)之間的電阻變化率就不是太大;但如果采樣點(diǎn)正好落在接觸臨界�(diǎn)上,而且這�(gè)值小�2kΩ,那么,這�(gè)�(diǎn)就應(yīng)該視為無效點(diǎn),用采樣的總和減去這�(gè)最大值的�(diǎn)就可以了。但是,如果在這一�(diǎn)上采樣兩次,它的影響就會(huì)明顯表現(xiàn)出來了。檢測出來的�(diǎn)將會(huì)使顯示結(jié)果出�(xiàn)跳越。所以對(duì)這一類無效的�(diǎn),最安全的做法就是將其直接剔除。可以在程序中設(shè)定:完成一次觸摸以后,判斷阻值的變化,比較最大值和最小值之間的差值,如果兩�(gè)值的差值超�100Ω,則說明采樣�(diǎn)在臨界點(diǎn)上或者在臨界�(diǎn)之外,判斷為無效�(diǎn),程序跳�(zhuǎn)到開始,重新開始檢測�(diǎn),這樣就可以把這一類的�(diǎn)剔除掉�
�(guān)注我�
公眾�(hào):china_tp
微信名稱:亞威資�
顯示行業(yè)頂級(jí)新媒�
掃一掃即可關(guān)注我�