www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]觸摸屏是結(jié)合顯示器使用的一種透明的絕對(duì)定位系統(tǒng),透明和優(yōu)良的定位原理是它的技術(shù)特征。目前應(yīng)用在各場(chǎng)合的觸摸屏主要有四種:電阻式觸摸屏、電容式觸摸屏、表面聲波觸摸

觸摸屏是結(jié)合顯示器使用的一種透明的絕對(duì)定位系統(tǒng),透明和優(yōu)良的定位原理是它的技術(shù)特征。目前應(yīng)用在各場(chǎng)合的觸摸屏主要有四種:電阻式觸摸屏、電容式觸摸屏、表面聲波觸摸屏和紅外觸摸屏。其中紅外觸摸屏的視覺(jué)效果和定位原理都優(yōu)于其它觸摸屏技術(shù),而且不受電流、電壓和靜電干擾,可以適宜惡劣的環(huán)境條件。但是,與其它三種觸摸屏相比,紅外觸摸屏也存在分辨率低的問(wèn)題,這一點(diǎn)嚴(yán)重影響了紅外觸摸屏的實(shí)際應(yīng)用。

為此,本文采用ARM7和VC

提出了一種高分辨率的紅外觸摸屏的實(shí)現(xiàn)方案。該方法通過(guò)ARM7對(duì)接收管和發(fā)射管的控制,來(lái)實(shí)時(shí)采集與發(fā)射管一一對(duì)應(yīng)的接收管的光通量,然后計(jì)算鼠標(biāo)位置,最后通過(guò)VC編程來(lái)實(shí)現(xiàn)在Windows下的鼠標(biāo)驅(qū)動(dòng)。

1硬件平臺(tái)

1.1工作原理

紅外觸摸屏主要基于在屏幕四邊放置紅外發(fā)射管和紅外接收管。本系統(tǒng)中的微處理器控制驅(qū)動(dòng)電路依次接通紅外發(fā)射管并檢查相應(yīng)的紅外接收管,從而形成橫豎交叉的紅外線陣列,并得到定位的信息。本文通過(guò)ARM7對(duì)移位鎖存器的控制來(lái)對(duì)紅外發(fā)射管進(jìn)行逐個(gè)掃描,同時(shí),ARM7通過(guò)地址線和數(shù)據(jù)線來(lái)尋址每個(gè)相應(yīng)的紅外接收管,從而得到相應(yīng)的光通量值。其控制原理如圖1所示。

 

本系統(tǒng)中的移位鎖存器具有移位和存儲(chǔ)兩個(gè)時(shí)鐘。ARM7通過(guò)IO口控制移位鎖存器的這兩個(gè)時(shí)鐘以及數(shù)據(jù)輸入端。通過(guò)數(shù)據(jù)輸入端將一個(gè)脈沖寫入移位寄存器后,在移位時(shí)鐘的上升沿即可將寫入的數(shù)據(jù)移人寄存器,并在存儲(chǔ)時(shí)鐘的上升沿將數(shù)據(jù)置入鎖存器中。利用移位鎖存器的這一特點(diǎn),可在移位時(shí)鐘的上升沿將脈沖移至發(fā)射管,并在存儲(chǔ)時(shí)鐘的上升沿點(diǎn)亮發(fā)射管。寫入的脈沖會(huì)隨移位時(shí)鐘上升沿的到來(lái)不斷的移位,直到從輸出端移出。將第一個(gè)移位鎖存器的輸出端與下一級(jí)的輸入端相連,可將寫入的脈沖移人下一級(jí)。因此,通過(guò)移位鎖存器的級(jí)聯(lián)可實(shí)現(xiàn)ARM7對(duì)更多的發(fā)射管的驅(qū)動(dòng)。結(jié)合以上特點(diǎn),即可將發(fā)射管逐個(gè)點(diǎn)亮。

在發(fā)射管被點(diǎn)亮的時(shí)刻,ARM7將通過(guò)地址線尋址與發(fā)射管位置上相對(duì)應(yīng)的接收管,并將接收感應(yīng)到的光通量通過(guò)放大并轉(zhuǎn)換成8位數(shù)據(jù),再通過(guò)數(shù)據(jù)線傳送給 ARM7進(jìn)行處理。通過(guò)這樣處理可使發(fā)射管與接收管一一對(duì)應(yīng),從而為確定觸摸位置奠定基礎(chǔ)。紅外觸摸屏的具體工作流程如圖2所示。

 

1.2高分辨率的實(shí)現(xiàn)

早期的紅外觸摸屏的分辨率直接由紅外對(duì)管數(shù)決定,對(duì)于接收管來(lái)說(shuō),只有接收到和沒(méi)有接收到信號(hào)兩種情況,觸摸分辨率就等于屏的物理分辨率。因此其觸摸屏的分辨率比較低。

但如果將接收的信號(hào)強(qiáng)度進(jìn)行量化分級(jí),那么,對(duì)于接收的信號(hào),不僅要判斷是否被阻擋,還要判斷出被阻擋的程度,觸摸物的不同位置將決定是否有接收信號(hào)且接收信號(hào)的強(qiáng)度也有所不同,因此觸摸物的位置與接收的紅外信號(hào)強(qiáng)度有直接的對(duì)應(yīng)關(guān)系,即使觸摸物移動(dòng)非常小的距離也會(huì)導(dǎo)致信號(hào)強(qiáng)度發(fā)生改變,從而可以得到極高的分辨率。該情況下的觸摸屏分辨率主要由紅外對(duì)管數(shù)和模數(shù)轉(zhuǎn)換精度決定,其觸摸屏分辨率為紅外對(duì)管數(shù)與單對(duì)紅外管能實(shí)現(xiàn)的分辨率的乘積。觸摸屏坐標(biāo)由紅外管的物理坐標(biāo)和觸摸點(diǎn)在相應(yīng)管中的坐標(biāo)共同決定?;谝陨显?,可以將每次采集到的紅外接收管的光通量進(jìn)行256級(jí)量化,這樣,得到的最小分辨率就是接收管的寬度/256,從而大大提高了紅外觸摸屏的分辨率,該方法可以達(dá)到2046×768的精度。

1.3觸摸位置的計(jì)算

為了得到準(zhǔn)確的觸摸位置,在計(jì)算觸摸位置時(shí)必須排除周圍環(huán)境光的干擾。為此,本文通過(guò)確定每對(duì)管子的域值來(lái)作為判斷是否有手指觸摸的依據(jù)。該域值的確定可通過(guò)對(duì)每對(duì)管子的“0”態(tài)和“1”態(tài)時(shí)的數(shù)據(jù)采樣來(lái)實(shí)現(xiàn)。 “0”態(tài),即將所有的發(fā)射管進(jìn)行一次清零,此時(shí)的發(fā)射管都為熄滅狀態(tài),這樣,采樣得到的就是接收管接收到的周圍光的光通量;“1”態(tài),即將所有的發(fā)射管逐個(gè)點(diǎn)亮,此時(shí)的發(fā)射管在某一時(shí)刻只有一只被點(diǎn)亮,采樣得到的是接收管接收對(duì)應(yīng)發(fā)射管及周圍光的光通量。

本文中的紅外觸摸屏的觸摸位置的計(jì)算主要是通過(guò)遮擋時(shí)與未遮擋時(shí)的光強(qiáng)比來(lái)得到的。在判斷觸摸位置時(shí),可以先確定被遮擋的管子,計(jì)算得到被遮擋的大致位置。若被遮擋的管子為第N個(gè)管子,這個(gè)被遮擋的大致位置為L(zhǎng)d,則有:

Ld=(N-1)×管子的寬度

由于手指遮擋時(shí)有一定的區(qū)域,所以遮擋時(shí)有兩種可能:其一是在被確定的管子的前面;其二是在被確定的管子處。圖3所示為手指遮擋示意圖。

 

為了精確計(jì)算,需要計(jì)算這兩種情況下位置的偏移量△L1和△L2。則有:

 

其中,L為第N個(gè)管子被遮擋時(shí)的位置。△L1為手指在被確定的管子的前面時(shí)的偏移量。△L2為手指在被確定的管子處時(shí)的偏移量,XN為掃描時(shí)采樣第N個(gè)管子接收到的數(shù)據(jù),XNmax為“1”態(tài)時(shí)采樣第N個(gè)管子接收到的數(shù)據(jù).XNmin為“0”態(tài)時(shí)采樣第N個(gè)管子接收到的數(shù)據(jù)。

2鼠標(biāo)驅(qū)動(dòng)

ARM7作為硬件上的核心控制芯片,只能進(jìn)行采集以得到觸摸位置信息,而無(wú)法實(shí)現(xiàn)相應(yīng)的鼠標(biāo)動(dòng)作。所以,必須通過(guò)主機(jī)端的驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。本文中的驅(qū)動(dòng)程序可通過(guò)VC++編程來(lái)實(shí)現(xiàn)串口通信和鼠標(biāo)動(dòng)作,從而完成軟件結(jié)合硬件對(duì)鼠標(biāo)的驅(qū)動(dòng)。

2.1 串口通信

為了使主機(jī)能夠接收ARM7通過(guò)串口傳送的觸摸位置,可利用Microsoft公司提供的ActiveX控件Microsoft Communications Control,并通過(guò)VC++編程來(lái)實(shí)現(xiàn)串口通信。通過(guò)在該控件中的設(shè)置可指定通信串口號(hào),同時(shí)可設(shè)置波特率、校驗(yàn)位、停止位、數(shù)據(jù)位等通信參數(shù),以及接收OnComm事件門限值。其具體代碼如下:[!--empirenews.page--]

 

由于傳統(tǒng)的鼠標(biāo)是一種相對(duì)定位系統(tǒng),它只和前一次鼠標(biāo)的位置坐標(biāo)有關(guān)。而觸摸屏則是一種絕對(duì)坐標(biāo)系,與相對(duì)定位系統(tǒng)有著本質(zhì)的區(qū)別。因此,本文通過(guò)主機(jī)從串口接收到的觸摸點(diǎn)坐標(biāo)數(shù)據(jù)并進(jìn)行轉(zhuǎn)換來(lái)得到屏幕坐標(biāo),即觸摸屏的坐標(biāo)范圍為(0,0)到(2048,768)。而ARM7只能通過(guò)串口發(fā)送字節(jié),且只能發(fā)送小于256的數(shù)據(jù),所以很難實(shí)現(xiàn)直接傳輸。因此,在數(shù)據(jù)發(fā)送時(shí),應(yīng)將采集得到的位置數(shù)據(jù)的每個(gè)位上的數(shù)分別進(jìn)行傳送。與此同時(shí),主機(jī)端從串口接收緩沖區(qū)并取出數(shù)據(jù),然后在驅(qū)動(dòng)程序中將這些數(shù)據(jù)重新組合起來(lái)以得到觸摸位置信息。另外,為了實(shí)現(xiàn)鼠標(biāo)的不同動(dòng)作,也應(yīng)分別發(fā)送不同的控制字。每次串口通信的數(shù)據(jù)格式如下:

 

其中,X為觸摸位置的橫坐標(biāo),X1為X百位上的數(shù),X2為X十位上的數(shù),X3為X個(gè)位上的數(shù);Y為觸摸位置的縱坐標(biāo),Y1為Y百位上的數(shù),Y2為Y十位上的數(shù),Y3為Y個(gè)位上的數(shù)。

由于剛接收的數(shù)據(jù)為VARIANT類型,故需將其轉(zhuǎn)化為int型變量來(lái)進(jìn)行以上坐標(biāo)的組合。該轉(zhuǎn)換過(guò)程是先將VARIANT類型變量賦值COle- SafeArray類,再利用COleSafeArray類中的成員函數(shù)將數(shù)據(jù)寫入BYTE型數(shù)組中,最后將BYTE型數(shù)據(jù)轉(zhuǎn)化為int型。

2.2鼠標(biāo)動(dòng)作

鼠標(biāo)動(dòng)作在觸摸屏的應(yīng)用中甚為重要。它主要包括鼠標(biāo)的定位,鼠標(biāo)的移動(dòng),鼠標(biāo)的左鍵單擊和雙擊,以及鼠標(biāo)的右鍵單擊。在VC++編程中,可通過(guò)使用API函數(shù)中的mouse_event來(lái)模擬鼠標(biāo)事件,以實(shí)現(xiàn)以上的鼠標(biāo)動(dòng)作。其實(shí)現(xiàn)代碼如下:

定位:SetCursorPos(X,Y);

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

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

在模擬鼠標(biāo)動(dòng)作的同時(shí),一個(gè)很重要的處理步驟是屏蔽采集數(shù)據(jù)時(shí)受到的干擾。另外,使鼠標(biāo)運(yùn)動(dòng)平滑化也不容忽視。

圖4是通過(guò)matlab軟件對(duì)鼠標(biāo)運(yùn)動(dòng)過(guò)程中的各坐標(biāo)繪制的曲線圖。通過(guò)曲線可以看到,硬件上的干擾會(huì)造成采集的坐標(biāo)數(shù)據(jù)出現(xiàn)突變點(diǎn),曲線上有很多毛刺。這也合理的解釋了鼠標(biāo)在運(yùn)動(dòng)過(guò)程會(huì)出現(xiàn)回跳和抖動(dòng),不能平滑運(yùn)動(dòng)的現(xiàn)象,因此必須屏蔽這些干擾。

 

針對(duì)突變點(diǎn),本文采用了比較法來(lái)克服。所謂比較法,就是將后一次接收到的坐標(biāo)數(shù)據(jù)與前一次接收到的坐標(biāo)數(shù)據(jù)做比較,并設(shè)置一定的域值范圍。當(dāng)比較得到的絕對(duì)值在該域值范圍內(nèi)時(shí),則認(rèn)為所作的動(dòng)作是有效的。與此同時(shí),還需比較前后數(shù)據(jù)的變化趨勢(shì)是否一致,只有當(dāng)數(shù)據(jù)的變化趨勢(shì)一致,才認(rèn)為鼠標(biāo)的移動(dòng)是有效的。

針對(duì)毛刺,本文采用平均法和比較法來(lái)克服。所謂平均法,是將從第N組到第2N組的N組數(shù)據(jù)進(jìn)行平均,然后將其作為第N組數(shù)據(jù)。這樣可以有效的減少毛刺干擾。另外,也可以對(duì)前后兩組數(shù)據(jù)進(jìn)行比較,只有當(dāng)比較得到的絕對(duì)值大于觸摸屏的最小分辨率時(shí),才認(rèn)為鼠標(biāo)發(fā)生移動(dòng),否則原地不動(dòng)。通過(guò)這樣的處理,可以解決鼠標(biāo)抖動(dòng)的問(wèn)題。經(jīng)過(guò)處理后的鼠標(biāo)運(yùn)動(dòng)曲線如圖5所示。

 

3結(jié)束語(yǔ)

本文介紹了基于ARM7控制器和VC實(shí)現(xiàn)的紅外觸摸屏設(shè)計(jì)方案,該方案以ARM7作為硬件的核心控制芯片,并通過(guò)其利用IO口對(duì)移位鎖存器的控制來(lái)實(shí)現(xiàn)對(duì)發(fā)射管的驅(qū)動(dòng),利用地址線和數(shù)據(jù)線來(lái)實(shí)現(xiàn)對(duì)接收管的尋址和采樣,以形成紅外定位陣列,從而從硬件上完成了位置數(shù)據(jù)的采集。該方法可實(shí)現(xiàn)2046×768 的高分辨率。而在軟件上,通過(guò)VC++編程則可實(shí)現(xiàn)主機(jī)端的串口通信,模擬鼠標(biāo)動(dòng)作,并結(jié)合比較法和平均法對(duì)鼠標(biāo)運(yùn)動(dòng)進(jìn)行平滑化處理。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉