嵌入式系統學習 STM32之電容型觸控螢幕

2021-08-02 22:14:01 字數 2515 閱讀 5714

觸控螢幕(touch screen)又稱為「觸控螢幕」、「觸控面板」,是一種可接收觸頭等輸入訊號的感應式裝置。作為一種新型的電腦輸入裝置,可以用來取代傳統的機械按鍵等輸入裝置。它是目前最簡單、方便、自然的一種人機互動方式。主要應用於公共資訊的查詢、領導辦公、工業控制、軍事指揮、電子遊戲、點歌點菜、多**教學、房地產預售等。

觸控螢幕本質上與液晶是分離的。觸控螢幕負責的是檢測觸控點,液晶屏負責的是顯示。區別開來。

按照觸控螢幕的工作原理和傳輸資訊的介質,把觸控螢幕分為四種,它們分別為

①電阻式:定位準確,單點觸控。

②電容感應式:支援多點觸控,**偏貴。工業應用最廣泛

③紅外線式:**低廉,但其外框易碎,容易產生光干擾,曲面情況下失真。

④表面聲波式:解決各種缺點,但是螢幕表面如果有水滴和塵土會使觸控螢幕變的遲鈍。

電容屏是利用人體感應進行觸點檢測控制,只需要輕微接觸,通過檢測感應電流來定位觸控座標。現在幾乎所有智慧型手機,包括平板電腦都是採用電容屏作為觸控螢幕。

表面電容式觸控螢幕技術是利用ito(銦錫氧化物,是一種透明的導電材料)導電膜,通過電場感應方式感測螢幕表面的觸控行為進行。但是表面電容式觸控螢幕有一些侷限性,它只能識別乙個手指或者一次觸控。

投射電容式觸控螢幕是感測器利用觸控螢幕電極發射出靜電場線。一般用於投射電容感測技術的電容型別有兩種:自我電容和互動電容。

自我電容又稱絕對電容,是最廣為採用的一種方法,自我電容通常是指掃瞄電極與地構成的電容。在玻璃表面有用ito製成的橫向與縱向的掃瞄電極,這些電極和地之間就構成乙個電容的兩極。當用手或觸控筆觸摸的時候就會併聯乙個電容到電路中去,從而使在該條掃瞄線上的總體的電容量有所改變。在掃瞄的時候,控制ic依次掃瞄縱向和橫向電極,並根據掃瞄前後的電容變化來確定觸控點座標位置。膝上型電腦觸控輸入板就是採用的這種方式,膝上型電腦的輸入板採用x*y的感測電極陣列形成乙個感測格仔,當手指靠近觸控輸入板時,在手指和感測電極之間產生乙個小量電荷。採用特定的運算法則處理來自行、列感測器的訊號來確定手指的位置。

①電阻屏在觸模時需要輕觸壓按,而電容屏只需輕微的手指觸碰就能啟用

②電阻屏可以用任何物體來觸控,而電容屏是人體熱感應工作原理,只能用手指的熱感區來觸控,指甲和手寫筆均無效。由於手指頭的面積比手寫筆大很多,因此電容屏的手機,觸控比較小圖示或者選單的時候,觸控精度無法做到電阻屏那麼高。

③電容屏可以很容易進行多點觸控,電阻屏一般不能實現多點觸控的。

④電阻屏內部是軟的,一般是在4到5層超薄的鋼化玻璃中間夾雜細微的炭粒(顯微鏡下才能看見),通過按壓導致上下兩層的炭粒相互接觸而接通觸屏電路,產生觸控反應,容易產生劃痕,易壞,容易觸屏不靈,而電容屏都是採用單層加厚鋼化玻璃,硬度大,耐舊,使用壽長

⑤電阻屏在陽光下可視性稍差,電容屏則非常好,在陽光下可視性很強。

電容觸控螢幕對工作環境的要求是比較高的,在潮濕、多塵、高低溫環境下面,都是不適合使用電容屏的。

優點:手感好,無需校準,支援多點觸控,透光性好。

缺點:成本高,精度不高,抗干擾能力差。

電容觸控螢幕一般都需要乙個驅動ic來檢測電容觸控,且一般是通過iic介面輸出觸控資料的。

①icgt9147:採用17*10的驅動結構(10個感應通道,17個驅動通道)。

②ott2001a:採用13*8的驅動結構(8個感應通道,13個驅動通道)。

它們與mcu連線通過4根線:sda、scl、rst和int。

gt9147的iic位址,可以是0x14或者0x5d,當復位結束後的5ms內,如果int是高電平,則使用0x14作為位址,否則使用0x5d作為位址。

該暫存器可以寫入不同值,實現不同的控制,我們一般使用0和2這兩個值,寫入2,即可軟復位gt9147,在硬復位之後,一般要往該暫存器寫2,實行軟復位。然後,寫入0,即可正常讀取座標資料(並且會結束軟復位)。

這裡共186個暫存器,用於配置gt9147的各個引數,這些配置一般由廠家提供給我們(乙個陣列),所以我們只需要將廠家給我們的配置,寫入到這些暫存器裡面,即可完成gt9147的配置。

這裡總共由4個暫存器組成,用於儲存產品id,對於gt9147,這4個暫存器讀出來就是:9,1,4,7四個字元(ascii碼格式)。因此,我們可以通過這4個暫存器的值,來判斷驅動ic的型號,從而判斷是ott2001a還是gt9147,以便執行不同的初始化。

我們僅關心最高位和最低4位,最高位用於表示buffer狀態,如果有資料(座標/按鍵),buffer就會是1,最低4位用於表示有效觸點的個數,範圍是:0~5,0,表示沒有觸控,5表示有5點觸控。

這裡共分成5組(5個點),每組6個暫存器儲存資料,以觸點1的座標資料暫存器組為例,

我們一般只用到觸點的x,y座標,所以只需要讀取0x8150~0x8153的資料,組合即可得到觸點座標。其他4組分別是:0x8158、0x8160、0x8168和0x8170等開頭的16個暫存器組成,分別針對觸點2~4的座標。同樣gt9147也支援暫存器位址自增,我們只需要傳送暫存器組的首位址,然後連續讀取即可,gt9147會自動位址自增,從而提高讀取速度。

參考:開源電子網

stm32中文參考手冊

嵌入式系統學習 STM32之SD卡(上)

sdio,全稱 secure digital input and output 即安全數字輸入輸出介面。它是在sd卡介面的基礎上發展而來,它可以相容之前的sd卡,並可以連線sdio介面裝置,比如 藍芽 wifi 照相機等。sdio和sd卡規範間的乙個重要區別是增加了低速標準。低速卡的目標應用是以最小...

嵌入式系統學習 STM32之電阻型觸控螢幕

按照觸控螢幕的工作原理和傳輸資訊的介質,把觸控螢幕分為四種,它們分別為 電阻式 定位準確,單點觸控。電容感應式 支援多點觸控,偏貴。工業應用最廣泛 紅外線式 低廉,但其外框易碎,容易產生光干擾,曲面情況下失真。表面聲波式 解決各種缺點,但是螢幕表面如果有水滴和塵土會使觸控螢幕變的遲鈍。電阻屏的主要部...

嵌入式之STM32系列筆記

一 微控制器程式構架設計 用微控制器開發專案,當 開發到一定的程度後,由於涉及到的源程式檔案與標頭檔案眾多,若在前期為程式設計好架構,則在一定程度上便於程式的維護與管理,更有利於理清思路,加快專案的開發。通常將程式架構設定為四層,如下圖 其中middleware可以沒有,如果沒有外部擴充套件件,如外...