1 電阻型觸摸屏基本原理 電阻型觸摸屏又稱為電阻壓力型觸摸屏,它主要利用壓力感應進行工作。對于點陣式觸摸屏,為了提高人機交互的友好性,常在 顯示屏上粘上一層透明的薄膜體,用于檢測屏幕觸摸輸入信號,形成觸摸屏。圖1所示是一個電阻型觸摸屏的橫截面,其結(jié)構十分簡單,由上下相對放置的兩片玻璃 構成,玻璃的內(nèi)表面涂上薄薄一層導電材料,并用一些小玻璃珠將導電表面隔開。當手指或觸摸筆按壓玻璃表面時,上層玻璃產(chǎn)生彎曲接觸下層玻璃。這種結(jié)構中玻 璃珠間的距離決定了觸摸屏的敏感度,通常這些玻璃非常小 ( 一般小于0.0 01 I mch) 。玻璃珠互相放置得越近,敏感度越小,壓力就要越大,才能使兩層玻璃片可靠接觸。當手指接觸屏幕,兩導電層會出現(xiàn)一個接觸點,因其中一面導電層接通Y軸方 向的5 V均勻電壓場,使得偵測層的電壓由零變?yōu)榉橇?,控制器偵測到這個接通后,通過一個觸摸屏控制器( A D轉(zhuǎn)換器) 將電源的正、負極加到一塊玻璃的導電層兩端,并將得到的電壓值與5 V相比,即可得觸摸點的Y軸坐標,同理得出X軸的坐標,這就是電阻式技術觸摸屏共同的最基本原理。由于存在機械誤差和放大因素存在的誤差,在觸摸屏上所繪 制的圖形和液晶屏上的圖形,對應點的集合會有所偏差。在觸摸屏上點擊某一按鈕或選擇某項功能時,內(nèi)置的軟件便無法對觸摸屏上的點擊做出正確響應,而觸摸屏 具有離散性,任兩個觸摸屏點密度都不能完全一致,所以幾乎所有帶阻性觸摸屏的設備在出廠前均要經(jīng)過一定的校準。校準是一種圖形重建的過程,即將圖片要經(jīng)過 變換,換算出與液晶屏相一致的點集合。 校準方式有兩點校準、三點校準、四點校準法等。其中校準點數(shù)越多,觸摸屏數(shù)據(jù)越精確。 2 觸摸屏校準算法分析 下面將主要以兩點和三點校準法來分析觸摸屏的校準算法 。 2 .1 兩點校準法 兩點校準法即為取觸摸屏中左上角和右下角這兩個點來校準觸摸屏。大多數(shù)的校準都采取是兩點校準法,現(xiàn)將兩種常用的兩點校準法做分析和比較。 2 .1.1第一種兩點校準法 1) 先觸摸并獲取觸摸屏左上角的坐標( lefttopx, lefttopy )。 2) 再觸摸并獲取觸摸屏右下角的坐標( rightbottomx, rightbottomy )。 3) 計算水平方向的比率( ratiox) 和垂直方向的比率( ratioy ) ,注意這里的ratiox, ratioy是浮點數(shù): r a t i o x = ( r i g h t b o t t o mx - l e f t t o p x ) / ( 觸摸屏的寬度) ; r a t i o y = ( r i g h t b o t t o my - l e f t t o p y ) / ( 觸摸屏的高度) ; 4 )假設液晶屏中的當前點的液晶屏坐標( X, Y ) : 當前點的觸摸屏的X坐標 = X r a t i o x+ l e f t t o p x; 當前點的觸摸屏的Y坐標 = Y r a t i o y+ l e f t t o p y; 2.1.2 第二種兩點校準法 在觸摸屏的左上角和右下角分別顯示兩個校 準圖標( 長為2 0的十字光標) ,十字光標的交叉點即為校準點。這樣可以固定好觸摸屏上要校準的點,可以更加精確的校準,并且這里利用另一校準算法來實現(xiàn)。該算法實現(xiàn)為程序第一 次啟動時將會進入校準模式,出現(xiàn)左上角的十字光標,請用戶觸摸十字交叉的中心,如果觸摸點明顯偏離十字叉 的中心,那么程序會要求重新校準。 1 ) 首先在觸摸屏左上角顯示一長為2 0的十字光標,顏色為黑色。 2) 觸摸十字光標中心的交點,由于存在機械上的誤差,在觸摸十字中心時,附近的電壓也會產(chǎn)生變化,這樣在觸摸屏上可能會取到很多個點,所以這里取觸摸屏上得到的前1 6個點,分別求X軸、Y軸的坐標和s u mx、s u my 。 3) 將寄存器中所求的和s u mx、s u my分別右移4位,由于寄存器中的數(shù)為二進制數(shù),所以右移4位即為除以1 6,可求得1 6個點坐標的平均值( 在此不可直接除以1 6求值 ) : er r x =s u m x >>4 er r y =s umy >>4 4) 用所得的兩個平均值,與觸摸屏所提供的經(jīng)驗值比較,若在經(jīng)驗值的范圍內(nèi) 則該值為合法的,將該值存入E2 ROM 內(nèi),這兩個點即被稱為基準點,輸入的點就通過基準點進行校準。 2.2三點校準法 三點校準法較之前面介紹的二點校準法更為精確。當觸摸屏與液晶屏間的角度差很小時,經(jīng)過推理可以假設觸摸屏與液晶顯示器各點之間的對應關系為( 設液晶顯示器的坐標為( XL,YL ) ,觸摸屏的坐標為( ×,Y) ) : XL = AX+BY+C YL = DX+EY+F 因為要取三個點進行校準,所以存在六個變量,即要通過六個方程式求出液晶顯示器的坐標。此處要求三個點盡量分散,最好為左上角、中間、右下角三點。得 : XL1 = AX1+BY1+C XL2 = AX2+BY2+C XL3 = AX3+BY3+C YL1 = DX1+EY1+F YL2 = DX2+EY2+F YL3 = DX3+EY3+F 可求 出 A、B、C、D、E、F的值,一旦這些參數(shù)值定下來,便可利用上面的方程組,通過觸摸屏上的原始數(shù)據(jù)計算出它在LCD顯示器上的對應點。 上述聯(lián)立方程組的未知量已求解出,此處不再推導。這里直接跳過中間步驟得出最后結(jié)論,將K作為各方程式的公 分母,便可得出未知量 : K = (X - X3) (Y2 - Y3) - (X2 - X3) (Y - Y3) A = (( X L l - X L 3)(Y 2 - Y3) - (X L2 - XL3)(Y1 - Y 3)) /K B = (( X1 - X 3 )( XL2 - X L3) - (X L1 - XL3)( X2 - X 3)) /K C = (Y(( X3XL2 - X2XL3) + Y2(XlXL3 - X3XL1) + Y3(X2XL1 一 X1XL2)) / K D = ((YL1 - YL3)(Y2 - Y3) - (YL2 - YL3)(Y1 - Y3)) /K E = ((X1 - X3)(YL2 - YL3) - (YLl - YL3)(X2 - X 3)) / K F = (Yl (X3YL2 - X2YL3) + Y2 (X1YL3 - X3YL1) + Y3(X2YL1 - X1YL2)) / K 基于此,通過三個校準點便可確定觸摸屏與液晶屏的對應關系,進行校準。 3 觸摸屏的校準舉例 假設液晶屏( 320 x 240 ) 中有一個實心矩形作為按鈕,此實心矩形的左上角坐標是( X1,Y1 ); 右下角的坐標是( X2,Y2 ) 。要校準此觸摸屏, 則須按照下面的4個步驟 : 1 ) 先測試觸摸屏左上角的坐標( lefttopx, lefttopy )。 2 ) 再測試觸摸屏右下角的坐標( rightbottomx, rightbottomy )。 3 ) 計算水平方向的比率( ratiox ) 和垂直方向的比率( ratioy ) : ratiox = ( rightbottomx - lefttopx ) / 320; ratioy = (rightbottomy - lefttopy ) / 240; 4 ) 計算觸摸屏中此按鈕的左上角坐標(buttonx1, buttony1)和右下角坐標( buttonx2 ,buttony2 ) : buttonx1 = X1 * ratiox + lefttopx; buttony1 = Y1 * ratioy + lefttopy; buttonx2 = X2 * ratiox + lefttopx; buttony2 = Y2 * ratioy + lefttopy; 5 ) 在機器程序中判斷從串口接收的觸摸屏的坐標數(shù)據(jù)是否在上一步計算出的觸摸屏按鈕坐標的范圍內(nèi)。 由于三點校準具體的實現(xiàn)就是將取得的點代入公式即可,這里不在重復敘述 。 4 結(jié)束語 每個觸摸屏在使用之前,都要進行校準;用戶必須將獲取的左上角和右下角坐標保存到用戶自己的FLASH或者其它掉電時不會丟失的器件中,便于使用過程中校正讀取的觸摸屏數(shù)據(jù)如果此信息丟失,必須重新進行校準,重新將左上角和右下角坐標保存。 本文介紹的三點校準算法是這三種校準算法中最優(yōu)的,此算法首先確定誤差源, 然后通過三個選定點導出觸摸屏的校準矩陣,并用軟件方法來實施點與點之間對應關系的校準。掌握這種技術,對降低嵌入式系統(tǒng)的成本至關重要。
|
|