999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32的紅外觸摸屏的研究與實現

2022-07-05 00:09:53蔡昌勇朱靜
電腦知識與技術 2022年14期

蔡昌勇 朱靜

摘要:交互式液晶面板尺寸越來越大,傳統的觸摸屏如電阻式觸摸屏存在壽命較短、電容式觸摸屏價格高的缺點。針對以上問題,本文設計了一種基于STM32的紅外觸摸屏,通過逐一掃描安裝在液晶屏下面及右面的紅外發光二極管、安裝在液晶屏上面及左面的紅外接收二極管,將紅外接收二極管輸出電壓通過STM32內部的ADC轉換為數字量,通過數據濾波處理,計算出觸摸操作點的坐標,并將坐標值通過USB接口上傳至Windows操作系統,實現觸摸操作響應。

關鍵詞:STM32;紅外;觸摸屏

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2022)14-0083-03

隨著液晶顯示面板制造工藝提升,液晶面板尺寸越來越大,對屏幕具備觸摸功能的應用場景越來越多。電阻式觸摸屏雖然具有成本低、高分辨率等優點,但存在容易被劃傷、使用壽命不長的缺點;電容式觸摸屏壽命長、分辨率高,但是其價格較貴,特別是當屏幕尺寸越來越大時,采用電容式觸摸屏往往無法獲得較高性價比[1]。

采用多組紅外發光二極管、紅外接收二極管布設于屏幕的對邊,依次點亮單只紅外發光二極管,將對應位置紅外接收二極管檢測到的光線變化信號濾波、放大后輸入STM32內部ADC轉化為數字信號,通過數字濾波,計算出觸摸點的坐標,通過USB接口將該坐標值上傳實現觸摸響應。紅外式觸摸屏具有成本低廉、安裝簡單、透光性好等優點,且不會造成顯示圖像質量下降,在中大尺寸屏幕應用中有較高的應用價值[2]。

1 系統總體設計

為了簡化系統設計提高系統實用性,系統采用USB接口實現觸摸坐標上傳及系統供電。通過STM32控制掃描驅動電路實現紅外二極管逐一點亮,待二極管發光穩定后,將其對應位置的接收二極管輸出電壓進行放大并完成ADC轉換,如果某個二極管被遮擋,ADC值會遠小于正常閾值,通過軟件處理可以計算出遮擋物體的坐標。將坐標值通過USB上傳至Windows操作系統,實現觸摸操作響應。

為了滿足紅外式觸摸屏對識別精度的要求,紅外觸摸屏尺寸越大所需的二極管數量越多[3],一般為幾十只至幾百只,因此紅外二極管采用矩陣方式驅動,以簡化電路設計。為了兼容不同尺寸觸摸屏設計,方便電路級聯擴展,系統中行驅動控制信號通過串并轉換實現,列驅動控制信號通過譯碼器驅動,以提高電路掃描速度。紅外接收二極管輸出信號經多路選擇開關放大濾波后,輸出至STM32內部ADC采樣,行列驅動電路配合實現每只二極管掃描,實現觸摸監測。

2 硬件電路設計

2.1 系統主控電路

STM32F103是一款基于ARM Cortex?-M3內核設計的高性能、低功耗單片機[4]。內核最高時鐘可達72M,配置有USB接口、12位逐次逼近ADC,只需要少數外圍電路即可實現紅外收/發二極管的驅動及掃描電壓轉換與運算。系統主控電路如圖3所示。

本系統采用STM32F103C8T6單片機作為微控制器,主要用于控制掃描紅外發射管、紅外發光二極管的接收、A/D轉換、觸點定位識別的運算以及控制USB通信等操作。USB2.0最多可以提供500 mA的電流,完全能夠滿足系統的供電要求,為簡化設計,系統采用USB接口實現通信及供電。AMS1117-3.3將5V穩壓至3.3V為主控器供電。

2.2 紅外發射二極管驅動電路

紅外發光二極管采用行列形式連接,一個完整單元為8行8列,最多64只二極管,也可級聯及任意剪裁,方便適應不同尺寸觸摸屏需求。74HC164及三極管8550實現行驅動控制,74HC238與三極管8050實現列驅動控制。

在單片機I/O的驅動下,當I_CP上升沿時74HC164將輸入數據引腳電平移位輸出至Q0~Q7,實現行選控制,配合74HC238可實現任意二極管控制。

2.3 紅外接收二極管驅動及信號處理電路

紅外接收部分的行驅動與發射相同,采用74HC164配合三極管8550實現列選控制。接收部分列選采用8通道模擬選擇開關74HC4051實現,在輸入信號A、B、C的控制下實現列選控制,完成任意二極管的掃描。LM833實現接收信號放大及濾波,放大后的信號輸出至單片機內部ADC轉換。

3 軟件設計

軟件部分主要包括單片機初始化、紅外管掃描、坐標計算、USB枚舉設計等模塊。MCU初始化部分包括USB模塊初始化、按鍵接口初始化、中斷初始化、Systick初始化、掃描初始化與紅外發射功率控制燈。

紅外觸摸屏的工作可以采用一邊掃描一邊處理數據的方式,也可以采用掃描完后再進行數據處理的方式。本系統先進行掃描,然后再進行坐標計算,根據紅外對管傳遞的數據,可以判斷是否被遮擋以及遮擋的序號,如果有觸摸,則根據序號進行坐標計算,然后再通過USB將坐標數據上傳給PC電腦端,否則就進行新一輪的掃描。

3.1 紅外管掃描程序設計

由硬件原理圖可知,紅外發射管與紅外接收管采用不同的控制方式。發射管由PB15產生串行信號CPUT_AB信號進入74HC164芯片生成8位并行信號后控制紅外發射管高端;定時器Timer4定時產生紅外調制信號,該信號作用于HC238的OE引腳(低電平有效),PB10、PB11、PB12引腳輸出邏輯信號經38譯碼器輸出8位并行信號控制紅外發射管低端。而接收管高端控制邏輯類似發射部分,但低端則為STM32輸出3位邏輯信號控制八選一模擬多路復用器輸出接收管AD采樣電壓,經信號處理電路后送入STM32 ADC引腳進行采樣。

在紅外發射功能期間開啟ADC采樣與DMA,自動保存ADC(紅外接收)數據。ADC工作在獨立模式,單詞轉換,定時器T4_CC4上升沿觸發ADC采樣,采樣數據右對齊,順序進行規則轉換,開啟ADC連續采樣DMA功能,然后開啟ADC校準。一次最多掃描8只二極管(由于多板拼接等可能最后不足8只),掃描完成后處理數據,再掃描下一行。

3.2 坐標計算

觸摸位置定位是通過檢測紅外接收信號的強度變化情況進行定位的。首先判斷觸摸點的物理位置,即紅外管序號;其次將在紅外管區域內進行位置細化,提高分辨率;最后將細化后的位置坐標通過映射成計算機屏幕上的坐標。

程序在上電初始化后,首先進行閾值計算,具體方法為:分別打開和關閉所有的發射管,采集接收管的ADC值,根據每組對管的最大值[ADCmax]和最小值[ADCmin]計算出是否進行觸摸的閾值[ADCthreshold],通常計算方法為:

[ADCthreshold=12ADCmax+ADCmin]

為了提高分辨率,紅外管的區域分為邊緣1.5mm和中間2mm三部分,兩邊緣部分1.5mm各對應5個像素,中間2mm部分對應7個像素。通過紅外接收管的不同采樣值即可判斷具體觸摸位置。但在實際編程的過程中還需要對算法進行濾波,觸摸屏在按下與抬手過程中會有抖動,另外還有各種原因導致觸摸點的跳躍。通常采用限幅濾波與滑動平均濾波相結合的方式實現。

對于紅外觸摸屏,在兩點觸摸的情況下存在真實點和偽點,如圖7所示。偽點在硬件上無法區分出來,只能通過軟件實現。圖中的狀況會輸出兩組橫坐標與兩組縱坐標,根據組合共有四個觸摸點,其中兩點為偽點,如何剔除偽點也是坐標計算的難點之一,并且當超過兩點觸摸時,偽點會呈指數增長[5]。本系統采用了斜掃描的方式剔除偽點,無須對硬件進行改造,只要在程序上進行額外的設置即可。

3.3 USB程序設計

USB程序設計關鍵在于USB設備的枚舉,本系統使用USB HID類進行STM32和PC機的通信。對本系統來說,USB設備的枚舉就是從紅外觸摸屏讀取描述符信息,PC機根據這些信息加載對應的驅動,確定是觸摸屏,方可進行通信。總體USB部分程序包括USB連接控制、USB終端配置、USB時鐘配置、USB模塊初始化等。

對本系統來說,需要進行自定義USB,USB的標準描述符有設備描述符、配置描述符、接口描述符、端點描述符以及字符串描述符[6]。設備描述符是設備成功枚舉的關鍵,包括設備所使用的USB協議版本號、設備類型、廠商ID和產品ID等。其中USB設備描述符部分定義如圖8所示。

4 總結

本系統基于STM32與紅外對管設計了紅外觸摸屏硬件,同時基于硬件設備進行了軟件設計,完成了紅外管掃描、坐標計算、USB枚舉設計等功能,經過軟硬件聯合測試,成功實現了USB觸摸屏設備識別以及坐標識別,具有較高的工程價值。

參考文獻:

[1] 李博.電容式觸摸信息傳感技術研究與實現[D].西安:西北工業大學,2017.

[2] 王允.基于HID類的紅外觸摸屏的研究與實現[D].合肥:安徽大學,2014.

[3] 胡哲.基于交互式紅外電子白板的定位算法及實現技術[D].重慶:重慶大學,2018.

[4] 史籍.基于ARM的數據采集系統的設計[D].上海:上海交通大學,2016.

[5] 曾一雄.基于STM32的抗強光多點紅外觸摸屏的設計與實現[D].成都:電子科技大學,2013.

[6] 唐貽發.基于STM32和FPGA的光學多點觸摸屏的設計與實現[D].廣州:華南理工大學,2013.

收稿日期:2021-12-30

基金項目:本文得到了四川省教育廳科研項目(編號:17ZB0038)資助

作者簡介:蔡昌勇(1980—),通信作者,男,研究方向為嵌入式技術;朱靜(1987—),男,主要研究方向為電子技術、機器學習。

主站蜘蛛池模板: 国产香蕉在线| 欧美在线三级| 国产欧美日韩免费| 成年A级毛片| 夜色爽爽影院18禁妓女影院| 一本二本三本不卡无码| 久久一级电影| 亚洲AV无码久久精品色欲 | 亚洲精品综合一二三区在线| 午夜成人在线视频| 一区二区欧美日韩高清免费| 国产午夜人做人免费视频中文| a毛片在线免费观看| 国产又粗又猛又爽视频| 国产91线观看| 亚洲AV色香蕉一区二区| 久久人人爽人人爽人人片aV东京热| 亚洲人妖在线| 夜夜操狠狠操| 青青草原国产免费av观看| 重口调教一区二区视频| 亚洲香蕉在线| 一级在线毛片| 久久人搡人人玩人妻精品| 久久伊人操| 国产精品区视频中文字幕| 亚洲天堂.com| 国产乱人伦精品一区二区| 亚洲精品无码久久久久苍井空| 日韩免费中文字幕| 国产在线精品99一区不卡| 精品国产毛片| 成人在线不卡视频| 午夜日b视频| 国产精品久久久久久久久| a级毛片视频免费观看| 91日本在线观看亚洲精品| 亚洲欧美综合另类图片小说区| 国产成人综合日韩精品无码首页 | 天天摸夜夜操| 99久久无色码中文字幕| 国产成人亚洲日韩欧美电影| 精品人妻无码中字系列| 女人18一级毛片免费观看| 亚洲一道AV无码午夜福利| 国产高清不卡视频| 欧美成人影院亚洲综合图| 国产免费福利网站| 国产尤物视频在线| 国产精品一区在线观看你懂的| 亚洲资源站av无码网址| 亚洲欧美在线综合一区二区三区| 强奷白丝美女在线观看| 国产精品免费久久久久影院无码| 成人蜜桃网| 日本成人不卡视频| 在线亚洲精品自拍| 国产欧美日韩精品综合在线| 天堂久久久久久中文字幕| 国产女主播一区| 98超碰在线观看| 亚洲中文字幕国产av| 亚洲av无码久久无遮挡| 国产内射一区亚洲| 午夜不卡视频| 成人毛片免费观看| 亚洲精品在线91| 99成人在线观看| 波多野结衣一二三| 3344在线观看无码| 国产精品流白浆在线观看| 国产精品99久久久久久董美香 | 久久性视频| 欧美无遮挡国产欧美另类| 中文天堂在线视频| 精品久久久久久成人AV| 色综合综合网| 亚洲欧美色中文字幕| 日韩区欧美国产区在线观看| 欧美成人一区午夜福利在线| 国产精品久久久精品三级| 国产成人狂喷潮在线观看2345|