通過ADS7846在PDA上實現(xiàn)個性化書法輸入
2.4 應(yīng)用程序
一塊觸摸屏中并不一定每個點對壓力的感應(yīng)都很準確。另外筆尖在觸摸屏上書寫時,也會有秚動和干擾。這就造成了用同樣的力在觸摸屏上畫一條線,顯現(xiàn)時可能出現(xiàn)粗細不一樣的現(xiàn)象。針對這個現(xiàn)象,在應(yīng)用程序中適當做一些平滑處理。筆者采用算術(shù)平均法來平滑曲線,即如果發(fā)現(xiàn)采樣點的壓力值比前一個點大或小很多,則對該點和剛剛輸入的前幾個點壓力值做算術(shù)平均,得到的值作為該點正確的壓力值。但要注意,用來做平均的點不能取得太少,否則平滑作用不明顯;也不能取得太多,否則線條粗細變化太慢,模擬不出書法效果。通過實驗,發(fā)現(xiàn)取前三個點比較合適。做算術(shù)平均的源程序如下:
if(pressure-oldpressurel>50 oldpressurel-pressure >50) //如果發(fā)現(xiàn)觸點的采樣壓力值比前一個點大或小很多//
pressure =(pressure+oldpressurel+oldpressure2+oldpressure3)>>2; /則對該點和前三個觸點的壓力值做算術(shù)平均,并把結(jié)果作為該點正確的壓力值//
3 實驗結(jié)果
經(jīng)過實驗,在LCD上顯示出的結(jié)果如圖2所示。
圖2(a)為使用ADS7843,未采樣觸點壓力值在LCD上的顯示效果;圖2(b)為使用ADS7846,采樣觸點壓力值后,根據(jù)壓力大小在LCD上顯示出不同粗細曲線的效果。
如果使用多灰度級的LCD顯示屏,還可以利用觸點的壓力大?。≧touch)和筆尖在屏上接觸的時間這兩個參數(shù),使畫出曲線的顔色呈出出不同深淺。即觸點的壓力越大、筆尖在屏上相關(guān)區(qū)域接觸的時間越長,這個區(qū)域顯現(xiàn)的顔色就越深。具體調(diào)節(jié)公式如下:
式中,graylever為LCD上該點將要顯現(xiàn)出的灰度值,(X,Y)為該點坐標,(Xddtime,Yoldtime)為同一筆劃中一定時間間隔前觸點的坐標。筆者在開發(fā)過程中,取時間間隔為100ms。A和B都是用來調(diào)整graylever變化范圍的常量,可以通過實驗根據(jù)具體情況設(shè)定。
這樣,用指尖在觸摸屏上作畫時,LCD上也會顯現(xiàn)出素描和國畫的效果。
如果使用彩色LDC,可以結(jié)合GUI在LCD上創(chuàng)建一個供用戶選擇不同色彩的窗口,用戶就可以挑選合適的顔色在觸摸屏上畫圖,顯示屏上也將會呈現(xiàn)色彩繽紛的作品。因此,本文介紹的方法將會為PDA及相關(guān)行業(yè)開拓出全新的功能,帶來更加明媚的春天。
本文提出的方法已在MOTOROLA公司的DRAGONBALL(龍珠)系列MX1(ARM920T)上實現(xiàn)。該設(shè)計使得在PDA的觸摸屏上寫字時,能顯示出毛筆或鋼筆寫出的書法效果,同時也顯現(xiàn)出了書寫人筆跡的個性風格,并具有反應(yīng)速度快、實現(xiàn)成本低、程序編寫特簡單等突出特點。相信此方法將會在周期入式領(lǐng)域中得到廣泛的應(yīng)用。
電能表相關(guān)文章:電能表原理
評論