新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM7和VC平臺的高分辨率紅外觸摸屏設計

        基于ARM7和VC平臺的高分辨率紅外觸摸屏設計

        作者: 時間:2009-12-30 來源:網絡 收藏
        由于剛接收的數據為VARIANT類型,故需將其轉化為int型變量來進行以上坐標的組合。該轉換過程是先將VARIANT類型變量賦值COle-SafeArray類,再利用COleSafeArray類中的成員函數將數據寫入BYTE型數組中,最后將BYTE型數據轉化為int型。

        本文引用地址:http://www.104case.com/article/152166.htm

          2.2鼠標動作

          鼠標動作在的應用中甚為重要。它主要包括鼠標的定位,鼠標的移動,鼠標的左鍵單擊和雙擊,以及鼠標的右鍵單擊。在++編程中,可通過使用API函數中的mouse_event來模擬鼠標事件,以實現以上的鼠標動作。其實現代碼如下:

          定位:SetCursorPos(X,Y);

          左鍵單擊:mouse_event((MOUSEEVENTF_LEFYDOWN,0,0,0,0);

          mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);

          在模擬鼠標動作的同時,一個很重要的處理步驟是屏蔽采集數據時受到的干擾。另外,使鼠標運動平滑化也不容忽視。


          圖4是通過matlab軟件對鼠標運動過程中的各坐標繪制的曲線圖。通過曲線可以看到,硬件上的干擾會造成采集的坐標數據出現突變點,曲線上有很多毛刺。這也合理的解釋了鼠標在運動過程會出現回跳和抖動,不能平滑運動的現象,因此必須屏蔽這些干擾。

          針對突變點,本文采用了比較法來克服。所謂比較法,就是將后一次接收到的坐標數據與前一次接收到的坐標數據做比較,并設置一定的域值范圍。當比較得到的絕對值在該域值范圍內時,則認為所作的動作是有效的。與此同時,還需比較前后數據的變化趨勢是否一致,只有當數據的變化趨勢一致,才認為鼠標的移動是有效的。

          針對毛刺,本文采用平均法和比較法來克服。所謂平均法,是將從第N組到第2N組的N組數據進行平均,然后將其作為第N組數據。這樣可以有效的減少毛刺干擾。另外,也可以對前后兩組數據進行比較,只有當比較得到的絕對值大于的最小時,才認為鼠標發生移動,否則原地不動。通過這樣的處理,可以解決鼠標抖動的問題。經過處理后的鼠標運動曲線如圖5所示。


          3結束語

          本文介紹了控制器和實現的方案,該方案以作為硬件的核心控制芯片,并通過其利用IO口對移位鎖存器的控制來實現對發射管的驅動,利用地址線和數據線來實現對接收管的尋址和采樣,以形成定位陣列,從而從硬件上完成了位置數據的采集。該方法可實現2046×768的高。而在軟件上,通過++編程則可實現主機端的串口通信,模擬鼠標動作,并結合比較法和平均法對鼠標運動進行平滑化處理。

        電容式觸摸屏相關文章:電容式觸摸屏原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阜康市| 威信县| 民权县| 焉耆| 米易县| 当涂县| 崇文区| 贵定县| 吉林省| 田阳县| 墨脱县| 务川| 甘谷县| 游戏| 德江县| 新丰县| 新干县| 浦北县| 长宁区| 和田县| 玉山县| 木里| 临武县| 霸州市| 巧家县| 七台河市| 五家渠市| 泾川县| 包头市| 新化县| 南华县| 盘锦市| 修武县| 昌吉市| 彭水| 铁力市| 延吉市| 宜宾县| 岚皋县| 名山县| 新干县|