產(chǎn)品分類

      當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 工業(yè)觸摸屏

      類型分類:
      科普知識(shí)
      數(shù)據(jù)分類:
      工業(yè)觸摸屏

      觸摸屏五點(diǎn)校正原理

      發(fā)布日期:2022-10-09 點(diǎn)擊率:184

             1. 物理坐標(biāo)和邏輯坐標(biāo)

        為了方便理解,我們首先引入2個(gè)概念,坐標(biāo)和邏輯坐標(biāo)。物理坐標(biāo)就是觸摸屏上點(diǎn)的實(shí)際位置,我們通常以液晶上點(diǎn)的個(gè)數(shù)來度量。邏輯坐標(biāo)就是觸摸屏上這一點(diǎn)被觸摸時(shí)A/D轉(zhuǎn)換后的坐標(biāo)值。我們假定液晶最左下角為坐標(biāo)軸原點(diǎn)A,我們?cè)谝壕显偃稳∫稽c(diǎn)B(十字線交叉中心),B在X方向距離A 10個(gè)點(diǎn),在Y方向距離A 20個(gè)點(diǎn),那么我們就說液晶上B點(diǎn)所正對(duì)的解摸屏上這一點(diǎn)的物理坐標(biāo)為(10,20)。如果我們觸摸這一點(diǎn)時(shí)得到的X向A/D轉(zhuǎn)換值為100,Y向A/D,轉(zhuǎn)換值為200,我們就說這一點(diǎn)的邏輯坐標(biāo)為(100,200)。

             2邏輯坐標(biāo)的計(jì)算

        由于電阻式觸摸屏的電壓成線性均勻分布,那么A/D轉(zhuǎn)換后的坐標(biāo)也成線性。假如我們將液晶最左下角點(diǎn)對(duì)應(yīng)的解摸屏上的點(diǎn)定為物理坐標(biāo)原點(diǎn)A其物理坐標(biāo)記為(XA=0,YA=0)其邏輯坐標(biāo)記為(XLA,YLA)(不一定為0)。那么觸摸屏上任意一點(diǎn)B的邏輯坐標(biāo)可表達(dá)為:
        XLB=XLA+KXXB
        YLB=YLA+KYYB 式2-1
        其中KX、KY分別為觸摸屏X方向和Y方向的因子系數(shù),這就像彈簧一樣(我們知道彈簧也是線性的),拉力與彈簧伸長(zhǎng)正比。KX、KY可能為正,也可能為負(fù),這根據(jù)具體觸摸屏安裝的方向和特性。每個(gè)液晶觸摸屏,我們也應(yīng)該單獨(dú)計(jì)算每一個(gè)觸摸屏的K系數(shù)。

        如果A點(diǎn)不是坐標(biāo)原點(diǎn),也是任意一點(diǎn)式2-1可以表達(dá)成
        XLB=XLA+KX(XB-XA)
        YLB=YLA+KY(YB-YA) 式2-2
        由式2-2我們可以推出計(jì)算K系統(tǒng)的公式
        KX=(XLB-XLA)/(XB-XA)
        KY=(YLB-YLA)/(YB-YA) 式2-3

        2.2.3五點(diǎn)法確定基坐標(biāo)和K系統(tǒng)

        在液晶上固定的位置顯示五個(gè)點(diǎn),因?yàn)槭枪潭ǖ奈恢茫赃@五個(gè)點(diǎn)的物理坐標(biāo)是預(yù)知的。這五個(gè)點(diǎn)不應(yīng)太靠邊,因?yàn)檫吘夵c(diǎn)對(duì)應(yīng)的觸摸屏線性一般不太好。
             (1) 首先在ABCDE對(duì)應(yīng)的位置逐步用尖狀物觸摸,得到五個(gè)點(diǎn)的邏輯坐標(biāo)。
        (2) 分別比較A 和C、B和D的橫坐標(biāo),如果差值不在允許范圍(你自己規(guī)定一個(gè)即可,比如5),則重復(fù)操作(1)(2)步。
        (3) 分別比較A和B、C和D 的縱坐標(biāo),如果差值不在允許范圍(你自己規(guī)定一個(gè)即可,比如5),則重復(fù)操作(1)(2)(3)步。
        (4) 根據(jù)式2-3,用2組數(shù)據(jù)計(jì)算X向K系數(shù)平均值KX={(XLB-XLA)/(XB-XA)+(XLD-XLD)/(XD-XC)}/2
        (5) 根據(jù)式2-3,用2組數(shù)據(jù)計(jì)算Y系數(shù)平均值KY={(YLA-YLC)/(YA-YC)+(YLB-YLD)/(YB-YD)}/2
        (6) 將C點(diǎn)邏輯坐標(biāo)作為基坐標(biāo),根據(jù)式2-2則觸摸屏上任意一點(diǎn)F邏輯坐標(biāo)與基坐標(biāo)的關(guān)系為:
        XLF=XLC+KX(XF-XC)
        YLF=YLC+KY(YF-YC)  式2-4
        根據(jù)這個(gè)公式,我們也可逆推出F點(diǎn)的物理坐標(biāo)
        XF=(XLF-XLC)/KX+XC
        YF=(YLF-YLC)/KY+YC 式2-5
        (7) 用公式2-4求出E點(diǎn)邏輯坐標(biāo),并與(1)步得到的E點(diǎn)坐標(biāo)比較,如果差值不在允許范圍(你自己規(guī)定一個(gè)即可,比如5),則重復(fù)操作以上步驟直到滿足要求。
        (8) 將基坐標(biāo)XLC、YLC、XC、YC和KX、KY記錄在存儲(chǔ)設(shè)備,觸摸屏校正完成。

            3觸摸屏應(yīng)用的編程思路

        3.1觸摸區(qū)域的判定
        我們關(guān)心的是,我們?nèi)绾瓮ㄟ^用戶觸摸任意一點(diǎn)得到的邏輯坐標(biāo),來判斷這一點(diǎn)是否在液晶的某個(gè)特定顯示區(qū)內(nèi)。通常我們?cè)谝壕У奶囟▍^(qū)域提供一些按鈕(Button)式的矩形區(qū)域,以便用戶操作,所以這個(gè)區(qū)域所對(duì)應(yīng)觸摸屏區(qū)域的邏輯坐標(biāo)最小點(diǎn)(我們假定為這個(gè)區(qū)域的左下角)和邏輯坐標(biāo)最大點(diǎn)(我們假定為這個(gè)區(qū)域的右上角)兩點(diǎn)的物坐標(biāo)是預(yù)知的。假如我們事先將這兩點(diǎn)的物理坐標(biāo)存在程序里,我們?cè)倮靡延?jì)算并存儲(chǔ)好的基坐標(biāo)和k系數(shù),用公式2-5求出觸摸任意一點(diǎn)的物理坐標(biāo),那么,觸摸任意一點(diǎn)得到的物理坐標(biāo)只要在這兩點(diǎn)范圍內(nèi),我們就可以判定用戶觸摸的位置,正是液晶上Button的矩形區(qū)域內(nèi)。
        如果液晶上有若干個(gè)Button區(qū)域,那么我們將每個(gè)區(qū)域邏輯坐標(biāo)最大點(diǎn)和最小點(diǎn)的物理坐標(biāo)存成數(shù)組或表的形式,使用時(shí)選用公式2-5計(jì)算出觸摸點(diǎn)的物理坐標(biāo),再?gòu)拇鎯?chǔ)設(shè)備中提取出區(qū)域的兩點(diǎn)物理坐標(biāo)查表即可判定用戶觸摸的區(qū)域。

        3.2觸摸區(qū)域的劃分
        作為用戶交互的操作界面,不可能只顯示一個(gè)Button,也不可能在不同屏總是在同一個(gè)位置顯示Button,那么怎樣才能做一個(gè)統(tǒng)一的數(shù)據(jù)表,以滿足各式各樣的需求呢?在這里筆者僅講一個(gè)網(wǎng)絡(luò)法劃分區(qū)域的辦法,這個(gè)方法其實(shí)很簡(jiǎn)單,就是編程人員先確定一個(gè)最小區(qū)域的Button,再以些為最小單位將屏幕劃分成網(wǎng)格狀,如圖3-1,一個(gè)Button可能包含一個(gè)或幾個(gè)最小單元。我們將每個(gè)單元編上號(hào),并將每個(gè)單元邏輯坐標(biāo)最大點(diǎn)和最小點(diǎn)的物理坐標(biāo)存成數(shù)組或表的形式,編程人員只要知道每一屏的每一個(gè)Button是由哪幾個(gè)單元組成就可以判斷觸摸了哪一個(gè)Button.

         3.3觸摸屏的精度
        我們知道,觸摸屏的精度是由A/D轉(zhuǎn)換的位數(shù)決定的,有8位、9位、10位或更多,一般來說,精度越高越好,但是像LCD、CRT這樣的設(shè)備上安裝的觸摸屏并不一定需要精度太高的A/D的轉(zhuǎn)器件,LCD、CRT都有自己固定的分辨率,A/D轉(zhuǎn)換器件的精度高出LCD、CRT的分辨率基本是無(wú)意義的,反而為單片機(jī)計(jì)算增加了麻煩。例如一個(gè)320點(diǎn)×240點(diǎn)的LCD,我們最多只需要1/320的精度就夠了,那么最多也就需要一個(gè)9位的A/D轉(zhuǎn)換。事實(shí)上,我們也不一定需要1/320的精度,在實(shí)際應(yīng)用中,每一個(gè)Button都是一個(gè)較大的矩形區(qū)域,包含若干個(gè)點(diǎn),任兩個(gè)Button的距離也都很大,這樣我們就根本用不了這樣高的精度,在編程時(shí),我們可以將A/D轉(zhuǎn)的結(jié)果進(jìn)行一定的右移位來降低轉(zhuǎn)換精度,以求節(jié)省單片機(jī)的變量資源,增加代碼執(zhí)行效率,這樣做有可能好幾個(gè)點(diǎn)是同一個(gè)邏輯坐標(biāo),但是對(duì)我們的使用毫無(wú)影響。
       


      下一篇: PLC、DCS、FCS三大控

      上一篇: 汽車導(dǎo)航顯示屏觸摸原

      主站蜘蛛池模板: 久久久一区二区三区| 99精品国产高清一区二区麻豆 | 久久久久一区二区三区| 亚洲成在人天堂一区二区| 国产一区二区三区在线看| 免费看AV毛片一区二区三区| 无码国产精成人午夜视频一区二区 | 不卡无码人妻一区三区音频| 色国产在线视频一区| 99精品一区二区三区| 国产在线一区二区三区| 大屁股熟女一区二区三区| 一区二区精品久久| 色多多免费视频观看区一区| 欧美一区内射最近更新| 亚洲国产精品无码第一区二区三区 | 国产av熟女一区二区三区| 视频一区二区在线观看| 丰满爆乳无码一区二区三区| 国产日韩一区二区三区在线播放| 久久一区二区精品| 国产精品视频一区二区三区四| 中文字幕一区视频一线| 日韩人妻无码一区二区三区| 国偷自产Av一区二区三区吞精| 一区二区3区免费视频| 国产福利电影一区二区三区,亚洲国模精品一区| 精品福利视频一区二区三区| 偷拍激情视频一区二区三区| 丰满爆乳无码一区二区三区 | 亚洲综合无码AV一区二区| 熟女性饥渴一区二区三区| 熟妇人妻系列av无码一区二区| 国产综合一区二区在线观看| 风间由美性色一区二区三区| 亚洲综合一区二区精品久久| 国精产品一区一区三区有限在线| 在线一区二区观看| 国产精品一区三区| 韩国福利一区二区三区高清视频| 国产AV一区二区三区传媒|