找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3790|回復(fù): 32
打印 上一主題 下一主題
收起左側(cè)

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(134)---2004A LCD液晶屏

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
37款傳感器與模塊的提法,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟睿詫W(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動(dòng)手試試做實(shí)驗(yàn),不管成功與否,都會(huì)記錄下來---小小的進(jìn)步或是搞不定的問題,希望能夠拋磚引玉。

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)
實(shí)驗(yàn)一百三十四:2004A液晶屏 20X4 J204A字符顯示液晶模塊 204A LCD/LCM 藍(lán)屏5V(帶背光 IIC/I2C)





分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:850532 發(fā)表于 2020-11-28 09:31 | 只看該作者
有代碼嗎
回復(fù)

使用道具 舉報(bào)

板凳
ID:850532 發(fā)表于 2020-11-28 09:32 | 只看該作者
模有,實(shí)例如何下
回復(fù)

使用道具 舉報(bào)

地板
ID:513258 發(fā)表于 2020-11-28 17:50 | 只看該作者
huwu006 發(fā)表于 2020-11-28 09:32
模有,實(shí)例如何下

不好意思,手頭事多,還沒有空做這個(gè)實(shí)驗(yàn)
回復(fù)

使用道具 舉報(bào)

5#
ID:850818 發(fā)表于 2020-11-28 18:01 | 只看該作者
求大神帶路
回復(fù)

使用道具 舉報(bào)

6#
ID:513258 發(fā)表于 2020-11-29 10:28 | 只看該作者

謝謝鼓勵(lì),有空多交流
回復(fù)

使用道具 舉報(bào)

7#
ID:513258 發(fā)表于 2020-11-29 10:46 | 只看該作者
LCD
液晶顯示屏(LCD)用于數(shù)字型鐘表和許多便攜式計(jì)算機(jī)的一種顯示器類型。LCD顯示使用了兩片極化材料,在它們之間是液體水晶溶液。電流通過該液體時(shí)會(huì)使水晶重新排列,以使光線無法透過它們。因此,每個(gè)水晶就像百葉窗,既能允許光線穿過又能擋住光線。液晶顯示器(LCD)目前科技信息產(chǎn)品都朝著輕、薄、短、小的目標(biāo)發(fā)展,在計(jì)算機(jī)周邊中擁有悠久歷史的顯示器產(chǎn)品當(dāng)然也不例外。在便于攜帶與搬運(yùn)為前題之下,傳統(tǒng)的顯示方式如CRT映像管顯示器及LED顯示板等等,皆受制于體積過大或耗電量甚巨等因素,無法達(dá)成使用者的實(shí)際需求。而液晶顯示技術(shù)的發(fā)展正好切合目前信息產(chǎn)品的潮流,無論是直角顯示、低耗電量、體積小、還是零輻射等優(yōu)點(diǎn),都能讓使用者享受最佳的視覺環(huán)境。

要追溯液晶顯示器的來源,必須先從“液晶”的誕生開始講起。在公元1888年,一位奧地利的植物學(xué)家,菲德烈.萊尼澤(Friedrich Reinitzer)發(fā)現(xiàn)了一種特殊的物質(zhì)。他從植物中提煉出一種稱為螺旋性甲苯酸鹽的化合物,在為這種化合物做加熱實(shí)驗(yàn)時(shí),意外的發(fā)現(xiàn)此種化合物具有兩個(gè)不同溫度的熔點(diǎn)。而它的狀態(tài)介于我們一般所熟知的液態(tài)與固態(tài)物質(zhì)之間,有點(diǎn)類似肥皂水的膠狀溶液,但它在某一溫度范圍內(nèi)卻具有液體和結(jié)晶雙方性質(zhì)的物質(zhì),也由于其獨(dú)特的狀態(tài),后來便把它命名為“Liquid Crystal”,就是液態(tài)結(jié)晶物質(zhì)的意思。不過,雖然液晶早在1888年就被發(fā)現(xiàn),但是真正實(shí)用在生活周遭的用品時(shí),卻是在80年后的事情了。

公元1968年,在美國(guó)RCA公司(收音機(jī)與電視的發(fā)明公司)的沙諾夫研發(fā)中心,工程師們發(fā)現(xiàn)液晶分子會(huì)受到電壓的影響,改變其分子的排列狀態(tài),并且可以讓射入的光線產(chǎn)生偏轉(zhuǎn)的現(xiàn)象。利用此一原理,RCA公司發(fā)明了世界第一臺(tái)使用液晶顯示的屏幕。爾后,液晶顯示技術(shù)被廣泛的用在一般的電子產(chǎn)品中,舉凡計(jì)算器、電子表、手機(jī)屏幕、醫(yī)院所使用的儀器(因?yàn)橛休椛溆?jì)量的考慮)或是數(shù)字相機(jī)上面的屏幕等等。令人玩味的是,液晶的發(fā)現(xiàn)比真空管或是陰極射線管還早,但世人了解此一現(xiàn)象的并不多,直到1962年才有第一本,由RCA研究小組的化學(xué)家喬.卡司特雷諾(Joe Castellano)先生所出版的書籍來描述。而與映像管相同的,這兩項(xiàng)技術(shù)雖然都是由美國(guó)的RCA公司所發(fā)明的,卻分別被日本的新力(Sony)與夏普(Sharp)兩家公司發(fā)揚(yáng)光大。




回復(fù)

使用道具 舉報(bào)

8#
ID:513258 發(fā)表于 2020-11-29 10:47 | 只看該作者
LCD物理特性
液晶是這樣一種有機(jī)化合物, 在常溫條件下,呈現(xiàn)出既有液體的流動(dòng)性,又有晶體的光學(xué)各向異性,因而稱為“液晶”.在電場(chǎng)、磁場(chǎng)、溫度、應(yīng)力等外部條件的影響下,其分子容易發(fā)生再排列,使液晶的各種光學(xué)性質(zhì)隨之發(fā)生變化,液晶這種各向異性及其分子排列易受外加電場(chǎng)、磁場(chǎng)的控制.正是利用這一液晶的物理基礎(chǔ),即液晶的“電-光效應(yīng)”,實(shí)現(xiàn)光被電信號(hào)調(diào)制,從而制成液晶顯示器件.在不同電流電場(chǎng)作用下,液晶分子會(huì)做規(guī)則旋轉(zhuǎn)90度排列,產(chǎn)生透光度的差別,如此在電源ON/OFF下產(chǎn)生明暗的區(qū)別,依此原理控制每個(gè)像素,便可構(gòu)成所需圖像。

液晶的物理特性是:當(dāng)通電時(shí)導(dǎo)通,排列變的有秩序,使光線容易通過;不通電時(shí)排列混亂,阻止光線通過。讓液晶如閘門般地阻隔或讓光線穿透。從技術(shù)上簡(jiǎn)單地說,液晶面板包含了兩片相當(dāng)精致的無鈉玻璃素材,稱為Substrates,中間夾著一層液晶。當(dāng)光束通過這層液晶時(shí),液晶本身會(huì)排排站立或扭轉(zhuǎn)呈不規(guī)則狀,因而阻隔或使光束順利通過。大多數(shù)液晶都屬于有機(jī)復(fù)合物,由長(zhǎng)棒狀的分子構(gòu)成。在自然狀態(tài)下,這些棒狀分子的長(zhǎng)軸大致平行。將液晶倒入一個(gè)經(jīng)精良加工的開槽平面,液晶分子會(huì)順著槽排列,所以假如那些槽非常平行,則各分子也是完全平行的。




回復(fù)

使用道具 舉報(bào)

9#
ID:513258 發(fā)表于 2020-11-29 10:48 | 只看該作者


LCD主要由以下幾個(gè)部分構(gòu)成
1.主板:用于外部RGB信號(hào)的輸入處理,并控制PANEL工作。
2.Adapter電源適配器:用于將90~240V的交流電壓轉(zhuǎn)變?yōu)?2V的直流電源供給 顯示器工作。
3.Inverter逆變器:用于將主板或Adapter輸出的12V的直流電壓轉(zhuǎn)變?yōu)镻ANEL需 要的高頻的1500~1800V的高壓交流電,用于點(diǎn)亮PANEL的背光燈。
4.PANEL部分:該部分為液晶顯示用模塊,它是液晶顯示器的核心部件,其包含 液晶板和驅(qū)動(dòng)電路。

回復(fù)

使用道具 舉報(bào)

10#
ID:513258 發(fā)表于 2020-11-29 10:49 | 只看該作者

回復(fù)

使用道具 舉報(bào)

11#
ID:513258 發(fā)表于 2020-11-29 10:49 | 只看該作者

回復(fù)

使用道具 舉報(bào)

12#
ID:513258 發(fā)表于 2020-11-29 10:50 | 只看該作者
LCD工作原理
液晶顯示器的組成及工作原理:從液晶顯示器的結(jié)構(gòu)來說,無論是筆記本屏還是桌面液晶顯示器,采用的液晶顯示器屏全是由不同部分組成的分層結(jié)構(gòu)。液晶顯示器由兩塊板構(gòu)成,厚約1mm,其間由包含有液晶材料的5um均勻間隔隔開。因?yàn)橐壕Р牧媳旧聿⒉话l(fā)光,所以在顯示屏下邊都設(shè)有作為光源的燈管,而在液晶顯示器屏背面有一塊背光板(或稱勻光板)和反光膜,背光板是由熒光物質(zhì)組成,可以發(fā)射光線,其作用主要是提供均勻的背光源。背光板發(fā)出的光線在穿過第一層偏振過濾層之后進(jìn)入包含成千上萬液晶液滴的液晶層。液晶層中的液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,一個(gè)或多個(gè)單元格構(gòu)成屏幕上的一個(gè)像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點(diǎn)上,通過改變電壓而改變液晶的旋光狀態(tài),液晶材料的作用類似于一個(gè)個(gè)小光閥。




回復(fù)

使用道具 舉報(bào)

13#
ID:513258 發(fā)表于 2020-11-29 10:50 | 只看該作者
LCD單色原理
LCD技術(shù)是把液晶灌入兩個(gè)列有細(xì)槽的平面之間。這兩個(gè)平面上的槽互相垂直(相交成90度)。也就是說,若一個(gè)平面上的分子南北向排列,則另一平面上的分子?xùn)|西向排列,而位于兩個(gè)平面之間的分子被強(qiáng)迫進(jìn)入一種90度扭轉(zhuǎn)的狀態(tài)。由于光線順著分子的排列方向傳播,所以光線經(jīng)過液晶時(shí)也被扭轉(zhuǎn)90度。當(dāng)液晶上加一個(gè)電壓時(shí),液晶分子便會(huì)轉(zhuǎn)動(dòng),改變光透過率,從而實(shí)現(xiàn)多灰階顯示。

LCD是依賴極化濾光器(片)和光線本身。自然光線是朝四面八方隨機(jī)發(fā)散的。極化濾光器實(shí)際是一系列越來越細(xì)的平行線。這些線形成一張網(wǎng),阻斷不與這些線平行的所有光線。極化濾光器的線正好與第一個(gè)垂直,所以能完全阻斷那些已經(jīng)極化的光線。只有兩個(gè)濾光器的線完全平行,或者光線本身已扭轉(zhuǎn)到與第二個(gè)極化濾光器相匹配,光線才得以穿透。

LCD正是由這樣兩個(gè)相互垂直的極化濾光器構(gòu)成,所以在正常情況下應(yīng)該阻斷所有試圖穿透的光線。但是,由于兩個(gè)濾光器之間充滿了扭曲液晶,所以在光線穿出第一個(gè)濾光器后,會(huì)被液晶分子扭轉(zhuǎn)90度,最后從第二個(gè)濾光器中穿出。

從液晶顯示器的結(jié)構(gòu)來看,無論是筆記本電腦還是桌面系統(tǒng),采用的LCD顯示屏都是由不同部分組成的分層結(jié)構(gòu)。LCD由兩塊玻璃板構(gòu)成,厚度規(guī)格有0.7mm,0.63mm,0.5mm(也可以通過物理或者化學(xué)減薄的方式做到更薄),其間由包含有液晶(LC)材料的3~5μm均勻間隔隔開。因?yàn)橐壕Р牧媳旧聿⒉话l(fā)光,所以需要給顯示屏配置額外的光源,在液晶顯示屏背面有一塊導(dǎo)光板(或稱勻光板)和反光膜,導(dǎo)光板的主要作用是將線光源或者點(diǎn)光源轉(zhuǎn)化為垂直于顯示平面的面光源。背光源發(fā)出的光線在穿過第一層偏振過濾層之后進(jìn)入液晶層。液晶層中的水晶液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,液晶材料的作用類似于一個(gè)個(gè)小的光閥。在液晶材料周邊是控制電路部分和驅(qū)動(dòng)電路部分。當(dāng)LCD中的電極產(chǎn)生電場(chǎng)時(shí),液晶分子就會(huì)產(chǎn)生扭曲,從而將穿越其中的光線進(jìn)行有規(guī)則的折射,然后經(jīng)過第二層過濾層的過濾在屏幕上顯示出來。





回復(fù)

使用道具 舉報(bào)

14#
ID:513258 發(fā)表于 2020-11-29 10:58 | 只看該作者
LCD的應(yīng)用



回復(fù)

使用道具 舉報(bào)

15#
ID:513258 發(fā)表于 2020-11-29 11:04 | 只看該作者
實(shí)驗(yàn)一百三十四:2004A液晶屏 20X4 J204A字符顯示液晶模塊 204A LCD/LCM 藍(lán)屏5V(帶背光 IIC/I2C)






2004A LCD字符型液晶顯示模塊
是專門用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶顯示模塊。分4位和8位數(shù)據(jù)傳輸方式。提供5×7點(diǎn)陣+光標(biāo)的顯示模式。提供顯示數(shù)據(jù)緩沖區(qū)符發(fā)生器CGRAM,可以使用CGRAM來存儲(chǔ)自己定義的8個(gè)5×8點(diǎn)陣的圖形字符的字模數(shù)據(jù)。提供了豐富的指令設(shè)置:清顯示;光標(biāo)回原點(diǎn);顯示開/關(guān);光標(biāo)開/關(guān);顯示字符閃爍;光標(biāo)移位;顯示移位等。提供內(nèi)部上電自動(dòng)復(fù)位電路,當(dāng)外加電源電壓超過+4.5V時(shí),自動(dòng)對(duì)模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。 顯示內(nèi)容為4行,每行顯示20個(gè)字符,每個(gè)字符大小為5×8點(diǎn)陣。 字符發(fā)生器RAM可根據(jù)客戶需求, 訂做中日文、俄文等12種不同國(guó)家的字符。

回復(fù)

使用道具 舉報(bào)

16#
ID:513258 發(fā)表于 2020-11-29 11:05 | 只看該作者

回復(fù)

使用道具 舉報(bào)

17#
ID:513258 發(fā)表于 2020-11-29 11:06 | 只看該作者
主要參數(shù)
型 號(hào)  2004A
封 裝  COB  
外型尺寸  98.0mm×60.0mm  
連接方式  導(dǎo)電膠條
視域尺寸  76.0mm×26.0mm  
接口方式  單排并口  
點(diǎn) 尺 寸 0.55mm×0.55mm
背光類型 EL/LED
字符尺寸 29.5mm×47.5mm  
顯示內(nèi)容 20個(gè)字符×4行
工作電壓  +5V/+3.3V
顯示屏面 黃綠/藍(lán)屏/黑白屏
背光顏色 黃綠/白光/紅光等
工作溫度  -10~+60℃  
控 制 器 SPLC780
儲(chǔ)存溫度  -20~+70℃




回復(fù)

使用道具 舉報(bào)

18#
ID:513258 發(fā)表于 2020-11-29 11:07 | 只看該作者
IIC(Inter-Integrated Circuit)協(xié)議
字面上的意思是集成電路之間,它其實(shí)是I2C Bus簡(jiǎn)稱,所以中文應(yīng)該叫集成電路總線,它是一種串行通信總線,使用多主從架構(gòu),由飛利浦公司在1980年代為了讓主板、嵌入式系統(tǒng)或手機(jī)用以連接低速周邊設(shè)備而發(fā)展。I2C的正確讀法為“I平方C”("I-squared-C"),而“I二C”("I-two-C")則是另一種錯(cuò)誤但被廣泛使用的讀法。自2006年10月1日起,使用I2C協(xié)議已經(jīng)不需要支付專利費(fèi),但制造商仍然需要付費(fèi)以獲取I2C從屬設(shè)備地址。

I2C,一種總線結(jié)構(gòu)。例如:內(nèi)存中的SPD信息,通過IIC,與BX芯片組聯(lián)系,IIC 存在于英特爾PIIX4結(jié)構(gòu)體系中。隨著大規(guī)模集成電路技術(shù)的發(fā)展,把CPU和一個(gè)單獨(dú)工作系統(tǒng)所必需的ROM、RAM、I/O端口、A/D、D/A等外圍電路集成在一個(gè)單片內(nèi)而制成的單片機(jī)或微控制器愈來愈方便。目前,世界上許多公司生產(chǎn)單片機(jī),品種很多。其中包括各種字長(zhǎng)的CPU,各種容量的ROM、RAM以及功能各異的I/O接口電路等等,但是,單片機(jī)的品種規(guī)格仍然有限,所以只能選用某種單片機(jī)來進(jìn)行擴(kuò)展。擴(kuò)展的方法有兩種:一種是并行總線,另一種是串行總線。由于串行總線的連線少,結(jié)構(gòu)簡(jiǎn)單,往往不用專門的母板和插座而直接用導(dǎo)線連接各個(gè)設(shè)備。因此,采用串行線可大大簡(jiǎn)化系統(tǒng)的硬件設(shè)計(jì)。PHILIPS公司早在十幾年前就推出了I2C串行總線,利用該總線可實(shí)現(xiàn)多主機(jī)系統(tǒng)所需的裁決和高低速設(shè)備同步等功能。因此,這是一種高性能的串行總線。

飛利浦電子公司日前推出新型二選一I2C主選擇器,可以使兩個(gè)I2C主設(shè)備中的任何一個(gè)與共享資源連接,廣泛適用于從MP3播放器到服務(wù)器等計(jì)算、通信和網(wǎng)絡(luò)應(yīng)用領(lǐng)域,從而使制造商和終端用戶從中獲益。PCA9541可以使兩個(gè)I2C主設(shè)備在互不連接的情況下與同一個(gè)從設(shè)備相連接,從而簡(jiǎn)化了設(shè)計(jì)的復(fù)雜性。此外,新產(chǎn)品以單器件替代了I2C多個(gè)主設(shè)備應(yīng)用中的多個(gè)芯片,有效節(jié)省了系統(tǒng)成本。




回復(fù)

使用道具 舉報(bào)

19#
ID:513258 發(fā)表于 2020-11-29 11:08 | 只看該作者
IIC硬件結(jié)構(gòu)
I2C串行總線一般有兩根信號(hào)線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,各設(shè)備的時(shí)鐘線SCL接到總線的SCL上。

為了避免總線信號(hào)的混亂,要求各設(shè)備連接到總線的輸出端時(shí)必須是漏極開路(OD)輸出或集電極開路(OC)輸出。設(shè)備上的串行數(shù)據(jù)線SDA接口電路應(yīng)該是雙向的,輸出電路用于向總線上發(fā)送數(shù)據(jù),輸入電路用于接收總線上的數(shù)據(jù)。而串行時(shí)鐘線也應(yīng)是雙向的,作為控制總線數(shù)據(jù)傳送的主機(jī),一方面要通過SCL輸出電路發(fā)送時(shí)鐘信號(hào),另一方面還要檢測(cè)總線上的SCL電平,以決定什么時(shí)候發(fā)送下一個(gè)時(shí)鐘脈沖電平;作為接受主機(jī)命令的從機(jī),要按總線上的SCL信號(hào)發(fā)出或接收SDA上的信號(hào),也可以向SCL線發(fā)出低電平信號(hào)以延長(zhǎng)總線時(shí)鐘信號(hào)周期?偩空閑時(shí),因各設(shè)備都是開漏輸出,上拉電阻Rp使SDA和SCL線都保持高電平。任一設(shè)備輸出的低電平都將使相應(yīng)的總線信號(hào)線變低,也就是說:各設(shè)備的SDA是“與”關(guān)系,SCL也是“與”關(guān)系。

總線對(duì)設(shè)備接口電路的制造工藝和電平都沒有特殊的要求(NMOS、CMOS都可以兼容)。在I2C總線上的數(shù)據(jù)傳送率可高達(dá)每秒十萬位,高速方式時(shí)在每秒四十萬位以上。另外,總線上允許連接的設(shè)備數(shù)以其電容量不超過400pF為限。

總線的運(yùn)行(數(shù)據(jù)傳輸)由主機(jī)控制。所謂主機(jī)是指啟動(dòng)數(shù)據(jù)的傳送(發(fā)出啟動(dòng)信號(hào))、發(fā)出時(shí)鐘信號(hào)以及傳送結(jié)束時(shí)發(fā)出停止信號(hào)的設(shè)備,通常主機(jī)都是微處理器。被主機(jī)尋訪的設(shè)備稱為從機(jī)。為了進(jìn)行通訊,每個(gè)接到I2C總線的設(shè)備都有一個(gè)唯一的地址,以便于主機(jī)尋訪。主機(jī)和從機(jī)的數(shù)據(jù)傳送,可以由主機(jī)發(fā)送數(shù)據(jù)到從機(jī),也可以由從機(jī)發(fā)到主機(jī)。凡是發(fā)送數(shù)據(jù)到總線的設(shè)備稱為發(fā)送器,從總線上接收數(shù)據(jù)的設(shè)備被稱為接受器。

I2C總線上允許連接多個(gè)微處理器以及各種外圍設(shè)備,如存儲(chǔ)器、LED及LCD驅(qū)動(dòng)器、A/D及D/A轉(zhuǎn)換器等。為了保證數(shù)據(jù)可靠地傳送,任一時(shí)刻總線只能由某一臺(tái)主機(jī)控制,各微處理器應(yīng)該在總線空閑時(shí)發(fā)送啟動(dòng)數(shù)據(jù),為了妥善解決多臺(tái)微處理器同時(shí)發(fā)送啟動(dòng)數(shù)據(jù)的傳送(總線控制權(quán))沖突,以及決定由哪一臺(tái)微處理器控制總線的問題,I2C總線允許連接不同傳送速率的設(shè)備。多臺(tái)設(shè)備之間時(shí)鐘信號(hào)的同步過程稱為同步化。




回復(fù)

使用道具 舉報(bào)

20#
ID:513258 發(fā)表于 2020-11-29 11:09 | 只看該作者


IIC數(shù)據(jù)傳輸
在I2C總線傳輸過程中,將兩種特定的情況定義為開始和停止條件(見圖3):當(dāng)SCL保持“高”時(shí),SDA由“高”變?yōu)椤暗汀睘殚_始條件;當(dāng)SCL保持“高”且SDA由“低”變?yōu)椤案摺睍r(shí)為停止條件。開始和停止條件均由主控制器產(chǎn)生。使用硬件接口可以很容易地檢測(cè)到開始和停止條件,沒有這種接口的微機(jī)必須以每時(shí)鐘周期至少兩次對(duì)SDA取樣,以檢測(cè)這種變化。

SDA線上的數(shù)據(jù)在時(shí)鐘“高”期間必須是穩(wěn)定的,只有當(dāng)SCL線上的時(shí)鐘信號(hào)為低時(shí),數(shù)據(jù)線上的“高”或“低”狀態(tài)才可以改變。輸出到SDA線上的每個(gè)字節(jié)必須是8位,每次傳輸?shù)淖止?jié)不受限制,但每個(gè)字節(jié)必須要有一個(gè)應(yīng)答ACK。如果一接收器件在完成其他功能(如一內(nèi)部中斷)前不能接收另一數(shù)據(jù)的完整字節(jié)時(shí),它可以保持時(shí)鐘線SCL為低,以促使發(fā)送器進(jìn)入等待狀態(tài);當(dāng)接收器準(zhǔn)備好接受數(shù)據(jù)的其它字節(jié)并釋放時(shí)鐘SCL后,數(shù)據(jù)傳輸繼續(xù)進(jìn)行。

數(shù)據(jù)傳送具有應(yīng)答是必須的。與應(yīng)答對(duì)應(yīng)的時(shí)鐘脈沖由主控制器產(chǎn)生,發(fā)送器在應(yīng)答期間必須下拉SDA線。當(dāng)尋址的被控器件不能應(yīng)答時(shí),數(shù)據(jù)保持為高并使主控器產(chǎn)生停止條件而終止傳輸。在傳輸?shù)倪^程中,在用到主控接收器的情況下,主控接收器必須發(fā)出一數(shù)據(jù)結(jié)束信號(hào)給被控發(fā)送器,從而使被控發(fā)送器釋放數(shù)據(jù)線,以允許主控器產(chǎn)生停止條件。合法的數(shù)據(jù)傳輸格式如下:I2C總線在開始條件后的首字節(jié)決定哪個(gè)被控器將被主控器選擇,例外的是“通用訪問”地址,它可以在所有期間尋址。當(dāng)主控器輸出一地址時(shí),系統(tǒng)中的每一器件都將開始條件后的前7位地址和自己的地址進(jìn)行比較。如果相同,該器件即認(rèn)為自己被主控器尋址,而作為被控接收器或被控發(fā)送器則取決于R/W位。
回復(fù)

使用道具 舉報(bào)

21#
ID:513258 發(fā)表于 2020-11-29 11:09 | 只看該作者
模塊規(guī)格
1.名稱:IIC LCD2004字符液晶顯示器
2.貨號(hào):RB-05L012
3.工作電壓:DC 5V
4.對(duì)比度調(diào)節(jié):電位器調(diào)節(jié)
5.背光調(diào)節(jié):程序或手動(dòng)控制開關(guān)
6.接口定義:+、-、SDA、SCL
7.模塊尺寸:98×60×21mm
8.模塊重量:78g 9.安裝孔直徑:3.5mm
10.水平安裝孔圓心距:93mm
11.豎直安裝孔圓心距:55mm
12.屏幕尺寸:98×40×9.8mm
13.工作溫度:-30~+60℃
14.引腳定義:
            SDA:雙向數(shù)據(jù)信號(hào)
            SCL:時(shí)鐘信號(hào)
            +:電源(VCC)
            -:地(GND)




回復(fù)

使用道具 舉報(bào)

22#
ID:513258 發(fā)表于 2020-11-29 11:10 | 只看該作者
模塊電原理圖



回復(fù)

使用道具 舉報(bào)

23#
ID:513258 發(fā)表于 2020-11-29 11:11 | 只看該作者
  1. /*
  2. 【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)
  3. 實(shí)驗(yàn)一百三十四:2004A字符顯示液晶模塊LCD/LCM 藍(lán)屏5V(帶背光 IIC/I2C)
  4. 項(xiàng)目一:尋找查詢?cè)O(shè)備IIC地址,在串口上即可看到2004A的地址
  5. 這里查詢結(jié)果是“0x27”(這個(gè)地址不對(duì)的話,實(shí)測(cè)無法燒錄程序)
  6. Arduino------LCD2004A
  7. 5V-------------VCC
  8. GND-----------GND
  9. A4-----------SDA IIC 數(shù)據(jù)線
  10. A5-----------SCL  IIC 時(shí)鐘線
  11. */

  12. #include <Wire.h>

  13. void setup(){
  14.   Wire.begin();
  15.   Serial.begin(9600);
  16.   Serial.println("\nI2C Scanner");
  17. }
  18. void loop(){
  19.   byte error, address;
  20.   int nDevices;
  21.   Serial.println("Eagler8 Scanning...");
  22.   nDevices = 0;
  23.   for (address = 1; address < 127; address++ ){
  24.    
  25.     Wire.beginTransmission(address);
  26.     error = Wire.endTransmission();
  27.     if (error == 0){
  28.       Serial.print("I2C device found at address 0x");
  29.       if (address < 16)
  30.         Serial.print("0");
  31.       Serial.print(address, HEX);
  32.       Serial.println(" !");
  33.       nDevices++;
  34.     }else if (error == 4){
  35.       Serial.print("Unknow error at address 0x");
  36.       if (address < 16)
  37.         Serial.print("0");
  38.       Serial.println(address, HEX);
  39.     }
  40.   }
  41.   if (nDevices == 0)
  42.     Serial.println("No I2C devices found\n");
  43.   else
  44.     Serial.println("done\n");
  45.   delay(5000);
  46. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

24#
ID:513258 發(fā)表于 2020-11-29 11:13 | 只看該作者

回復(fù)

使用道具 舉報(bào)

25#
ID:513258 發(fā)表于 2020-11-29 11:14 | 只看該作者

回復(fù)

使用道具 舉報(bào)

26#
ID:513258 發(fā)表于 2020-11-29 11:15 | 只看該作者
  1. /*
  2.   【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)
  3.   實(shí)驗(yàn)一百三十四:2004A字符顯示液晶模塊LCD/LCM 藍(lán)屏5V(帶背光 IIC/I2C)
  4.   安裝庫:工具——管理庫——搜索“LiquidCrystal_I2C"——下載安裝
  5.   項(xiàng)目二:顯示字符“Welcome to Eagler8”
  6.   Arduino------LCD2004A
  7.   5V-------------VCC
  8.   GND-----------GND
  9.   A4-----------SDA IIC 數(shù)據(jù)線
  10.   A5-----------SCL  IIC 時(shí)鐘線
  11. */

  12. #include <Wire.h>
  13. #include <LiquidCrystal_I2C.h>
  14. LiquidCrystal_I2C lcd(0x27, 20, 4);

  15. void MyPrintLCD(String MyString)
  16. {
  17.   for (int i = 0; i < MyString.length(); i++)
  18.     lcd.write(MyString.charAt(i));
  19. }

  20. void setup()
  21. {
  22.   lcd.init();
  23.   lcd.backlight();
  24.   MyPrintLCD(" Welcome to ");
  25.   lcd.setCursor(0, 2);
  26.   MyPrintLCD("           Eagler8");
  27. }

  28. void loop()
  29. {
  30. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

27#
ID:513258 發(fā)表于 2020-11-29 11:16 | 只看該作者

回復(fù)

使用道具 舉報(bào)

28#
ID:513258 發(fā)表于 2020-11-29 11:17 | 只看該作者
  1. /*
  2.   【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)
  3.   實(shí)驗(yàn)一百三十四:2004A字符顯示液晶模塊LCD/LCM 藍(lán)屏5V(帶背光 IIC/I2C)
  4.   安裝庫:工具——管理庫——搜索“LiquidCrystal_I2C"——下載安裝
  5.   項(xiàng)目三:多重顯示字符,系列演示
  6.   Arduino------LCD2004A
  7.   5V-------------VCC
  8.   GND-----------GND
  9.   A4-----------SDA IIC 數(shù)據(jù)線
  10.   A5-----------SCL IIC 時(shí)鐘線
  11. */

  12. #include <Wire.h>
  13. #include <LiquidCrystal_I2C.h>

  14. #if defined(ARDUINO) && ARDUINO >= 100
  15. #define printByte(args)  write(args);
  16. #else
  17. #define printByte(args)  print(args,BYTE);
  18. #endif

  19. uint8_t bell[8]  = {0x4, 0xe, 0xe, 0xe, 0x1f, 0x0, 0x4};
  20. uint8_t note[8]  = {0x2, 0x3, 0x2, 0xe, 0x1e, 0xc, 0x0};
  21. uint8_t clock[8] = {0x0, 0xe, 0x15, 0x17, 0x11, 0xe, 0x0};
  22. uint8_t heart[8] = {0x0, 0xa, 0x1f, 0x1f, 0xe, 0x4, 0x0};
  23. uint8_t duck[8]  = {0x0, 0xc, 0x1d, 0xf, 0xf, 0x6, 0x0};
  24. uint8_t check[8] = {0x0, 0x1, 0x3, 0x16, 0x1c, 0x8, 0x0};
  25. uint8_t cross[8] = {0x0, 0x1b, 0xe, 0x4, 0xe, 0x1b, 0x0};
  26. uint8_t retarrow[8] = {        0x1, 0x1, 0x5, 0x9, 0x1f, 0x8, 0x4};

  27. LiquidCrystal_I2C lcd(0x27, 20, 4); // set the LCD address to 0x27 for a 16 chars and 2 line display

  28. void setup()
  29. {
  30.   lcd.init();                      // initialize the lcd
  31.   lcd.backlight();

  32.   lcd.createChar(0, bell);
  33.   lcd.createChar(1, note);
  34.   lcd.createChar(2, clock);
  35.   lcd.createChar(3, heart);
  36.   lcd.createChar(4, duck);
  37.   lcd.createChar(5, check);
  38.   lcd.createChar(6, cross);
  39.   lcd.createChar(7, retarrow);
  40.   lcd.home();

  41.   lcd.print("Hello world...");
  42.   lcd.setCursor(0, 1);
  43.   lcd.print(" i ");
  44.   lcd.printByte(3);
  45.   lcd.print(" arduinos!");
  46.   delay(5000);
  47.   displayKeyCodes();

  48. }

  49. // display all keycodes
  50. void displayKeyCodes(void) {
  51.   uint8_t i = 0;
  52.   while (1) {
  53.     lcd.clear();
  54.     lcd.print("Codes 0x"); lcd.print(i, HEX);
  55.     lcd.print("-0x"); lcd.print(i + 16, HEX);
  56.     lcd.setCursor(0, 1);
  57.     for (int j = 0; j < 16; j++) {
  58.       lcd.printByte(i + j);
  59.     }
  60.     i += 16;

  61.     delay(4000);
  62.   }
  63. }

  64. void loop()
  65. {

  66. }
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

29#
ID:513258 發(fā)表于 2020-11-29 11:18 | 只看該作者




回復(fù)

使用道具 舉報(bào)

30#
ID:513258 發(fā)表于 2020-11-29 11:18 | 只看該作者

回復(fù)

使用道具 舉報(bào)

31#
ID:513258 發(fā)表于 2020-11-29 11:19 | 只看該作者

回復(fù)

使用道具 舉報(bào)

32#
ID:513258 發(fā)表于 2020-11-29 11:19 | 只看該作者

回復(fù)

使用道具 舉報(bào)

33#
ID:513258 發(fā)表于 2020-11-29 11:20 | 只看該作者

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表