Arduino編程控制與應(yīng)用 課件4-3 完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)_第1頁
Arduino編程控制與應(yīng)用 課件4-3 完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)_第2頁
Arduino編程控制與應(yīng)用 課件4-3 完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)_第3頁
Arduino編程控制與應(yīng)用 課件4-3 完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)_第4頁
Arduino編程控制與應(yīng)用 課件4-3 完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Arduino編程控制與應(yīng)用能力模塊四掌握Arduino編程語言的進(jìn)階應(yīng)用任務(wù)三完成點(diǎn)亮“笑臉”的實(shí)現(xiàn)導(dǎo)入在傳統(tǒng)電視LED電視中,采用發(fā)光二極管作為背光源,也可以理解為LED電視屏幕是由許多個(gè)led點(diǎn)陣顯示模塊組成,能顯示不同的色彩及亮度,才能構(gòu)成了畫面。通過前面的學(xué)習(xí),我們已經(jīng)學(xué)會了Arduino控制led燈的亮與滅,那么同學(xué)們知道如何利用Arduino在LED點(diǎn)陣顯示模塊上顯示畫面嗎?新授Newteaching1目錄一、LED點(diǎn)陣的原理三、LED點(diǎn)陣的檢測五、LED點(diǎn)陣的應(yīng)用領(lǐng)域二、LED點(diǎn)陣的控制四、微秒級的延時(shí)函數(shù)一、LED點(diǎn)陣的原理

把多個(gè)LED封裝在一起就構(gòu)成一個(gè)LED點(diǎn)陣顯示模塊,其中最典型的是8×8LED點(diǎn)陣。8×8LED點(diǎn)陣由8行8列共64個(gè)LED組成,其結(jié)構(gòu)為每一行中的LED的正極或者負(fù)極連在一塊組成矩陣。如圖所示。

一、LED點(diǎn)陣的原理

8×8LED點(diǎn)陣外觀及內(nèi)部電路結(jié)構(gòu)如圖所示。圖中字母R指代“行”(單詞Row的首字母);字母C指代“列”(單詞Column的首字母)。一、LED點(diǎn)陣的原理

國產(chǎn)點(diǎn)陣各端子對應(yīng)的名稱一般如圖所示,對于行共陽連接方式的點(diǎn)陣,“R5”表示該管腳控制第5行發(fā)光二極管的正極,“C8”則表示該管腳控制第8列發(fā)光二極管的負(fù)極,如此類推。一、LED點(diǎn)陣的原理

LED點(diǎn)陣使用UNO板上的2、3、4、5、6、7、8、9、10、11、12、13、A0(14)、A1(15)、A2(16)、A3(17)共16個(gè)管腳。其中2、7、A3、5、13、A2、12、A0是連接點(diǎn)陣屏正極,管腳按R1~R8排序;6、11、10、3、A1、4、8、9是連接點(diǎn)陣屏負(fù)極,管腳按C1~C8排序。其中每個(gè)負(fù)極的管腳連接220Ω的電阻,電路原理圖如圖所示。二、LED點(diǎn)陣的控制

11.同時(shí)點(diǎn)亮第6行、第2列的LED,要給第6行的陽極通電,第2列陰極接地。但是因?yàn)榈?行、第7列也施加了電流,所以第2行、第2列和第6行、第7列的LED也將被點(diǎn)亮(即4個(gè)LED同時(shí)被點(diǎn)亮),如圖所示。22.為了解決同時(shí)被點(diǎn)亮的問題,采用動(dòng)態(tài)顯示技術(shù)可以解決上面所提到的顯示模塊中各LED引腳不獨(dú)立的問題。通過使用該項(xiàng)技術(shù),我們點(diǎn)亮了單個(gè)LED而沒有使在同一行或同一列中的其他LED也被點(diǎn)亮。

3.如果要在顯示器上顯示第二步所示的圖形,則每一行將像右圖一樣被點(diǎn)亮。通過以非??斓乃俾剩ù笥?00Hz)向下掃描每一行點(diǎn)亮這行相應(yīng)列中的LED,人類的眼睛將以靜態(tài)的方式感知這個(gè)圖像,因此在LED顯示器上看到一個(gè)“笑臉”圖像。3三、LED點(diǎn)陣的檢測

如果不確定LED點(diǎn)陣各管腳對應(yīng)的名稱,可以使用萬用表檢測。如圖所示,第5行第8列亮燈,說明這時(shí)候紅色表筆碰觸的管腳名稱是R5,黑色表筆碰觸的管腳名稱是C8。四、微秒級的延時(shí)函數(shù)

1.因?yàn)槊枯喰枰獟呙?行8列共64顆發(fā)光二極管,如果每一顆發(fā)光二極管發(fā)光持續(xù)時(shí)間1ms,會導(dǎo)致每輪間隔時(shí)間約為64ms,這時(shí)點(diǎn)陣顯示的圖像會出現(xiàn)明顯的閃爍。2.因此,設(shè)置每顆發(fā)光二極管狀態(tài)保持時(shí)間為200微秒。3.延時(shí)函數(shù)delay()是使用毫秒為單位,這里使用的是以微秒為單位的延時(shí)函數(shù)delayMicroseconds()。五、LED點(diǎn)陣的應(yīng)用領(lǐng)域STEP2STEP1LED點(diǎn)陣具有亮度高、發(fā)光均勻、可靠性好、接線簡單、拼裝方便等優(yōu)點(diǎn),能構(gòu)成各種尺寸的顯示屏,則被廣泛應(yīng)用于大型LED智能顯示屏、智能儀器儀表和機(jī)電一體化設(shè)備的顯示屏中。隨著微電子技術(shù)、計(jì)算機(jī)技術(shù)及信息處理技術(shù)的發(fā)展,LED點(diǎn)陣顯示屏正作為一種新的傳媒工具,在越來越多的領(lǐng)域中發(fā)揮作用。任務(wù)實(shí)施2TaskImplementation一、任務(wù)準(zhǔn)備(一)軟件及硬件準(zhǔn)備序號軟件及硬件名稱數(shù)量1ArduinoIDE/2聯(lián)網(wǎng)的電腦1臺/人3鍵盤1個(gè)/人4鼠標(biāo)1個(gè)/人5ArduinoUNO開發(fā)板1塊/人6LED點(diǎn)陣擴(kuò)展板1塊/人7USB串口線1根/人一、任務(wù)準(zhǔn)備(二)場地設(shè)備準(zhǔn)備(三)安全防護(hù)準(zhǔn)備任務(wù)實(shí)施前需要做好場地防護(hù)準(zhǔn)備以及檢查實(shí)訓(xùn)場地和設(shè)備設(shè)施是否及存在安全隱患,如不正常請匯報(bào)老師并進(jìn)行處理方可實(shí)施任務(wù)。11.注意Arduino開發(fā)板與電腦的連接是否可靠;22.注意Arduino開發(fā)板與電腦連接端口的匹配;

33.注意輸出電壓,避免開發(fā)板被燒壞;

44.注意Arduino開發(fā)板與LED點(diǎn)陣擴(kuò)展板連接時(shí),針腳要對孔,插入時(shí)要小心,避免陣腳變歪或折斷。

二、實(shí)施步驟(一)認(rèn)識LED點(diǎn)陣擴(kuò)展板

LED點(diǎn)陣擴(kuò)展板:(1)尺寸:68.6*53.4mm(2)使用管腳:2、3、4、5、6、7、8、9、10、11、12、13、A0、A1、A2、A3(3)電阻數(shù)量:8

二、實(shí)施步驟(一)認(rèn)識LED點(diǎn)陣擴(kuò)展板

不同點(diǎn)陣屏封裝不同,8x8點(diǎn)陣屏由8行8列共64個(gè)LED燈組成,其內(nèi)部結(jié)構(gòu)如圖所示:

二、實(shí)施步驟(一)認(rèn)識LED點(diǎn)陣擴(kuò)展板

每個(gè)LED放置在行線和列線的交叉點(diǎn)上,當(dāng)對應(yīng)的某一行電平拉高,某一列電拉低,則對應(yīng)交叉點(diǎn)的LED就會點(diǎn)亮。其對應(yīng)內(nèi)部管腳定義如圖所示:比如要點(diǎn)亮第一行第二列的LED,操作是把9號引腳拉高、3號引腳拉低,每個(gè)LED的點(diǎn)亮方法同理,通過LED的組合點(diǎn)亮可以實(shí)現(xiàn)不同圖案的顯示。

二、實(shí)施步驟(一)認(rèn)識LED點(diǎn)陣擴(kuò)展板

如圖所示,S代表點(diǎn)陣屏負(fù)極,D代表點(diǎn)陣屏正極。使用說明:LED點(diǎn)陣使用UNO板上的2、3、4、5、6、7、8、9、10、11、12、13、A0、A1、A2、A3共16個(gè)管腳,其中2、7、A3、5、13、A2、12、A0是點(diǎn)陣屏負(fù)極(引腳按S1~S8排序),6、11、10、3、A1、4、8、9是點(diǎn)陣屏正極(引腳按D1~D8排序),其中負(fù)極的引腳連接220Ω的電阻,共有8個(gè)管腳連接了。

二、實(shí)施步驟(二)控制電路連接

步驟1:連接線的方頭端接口連接ArduinoUNO控制板,另一端USB接口連接電腦。

二、實(shí)施步驟(二)控制電路連接

步驟2:LED點(diǎn)陣擴(kuò)展板安裝在Arduino開發(fā)板上。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟1:打開ArduinoIDE軟件,進(jìn)入界面。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟2:在工具-端口-選擇對應(yīng)的端口。若分不清端口,先把開發(fā)板連接上,查看端口,有COM1、COM3、COM4、COM5、COM6;斷開開發(fā)板連接,查看端口,有COM3、COM4、COM5、COM6;少了一個(gè)COM10端口,那么COM10就是對應(yīng)的端口。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟3:新建一個(gè)文檔,//后的代號可刪除;在【代碼編寫區(qū)域】下方輸入如圖所示代碼。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟4:在【代碼編寫區(qū)域】中的“voidsetup(){”下方輸入如圖所示代碼。

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟5:最后在“viodloop(){”下方輸入如圖所示代碼。二、實(shí)施步驟(三)控制程序編寫與上傳

步驟6:如圖所示單擊“上傳”按鈕,通過USB轉(zhuǎn)串口芯片將程序燒寫到控制板的主控芯片中;

二、實(shí)施步驟(三)控制程序編寫與上傳

步驟7:若操作順利,將出現(xiàn)“上傳成功”的提示,如圖所示在LED點(diǎn)陣擴(kuò)展板上會顯示出一個(gè)“笑臉”。

二、實(shí)施步驟(四)控制程序解析

(1)首先使用一維數(shù)組定義點(diǎn)陣屏的行管腳和列管腳與arduinoUNO板管腳的對應(yīng)關(guān)系,即R1—2、R2—7、R3—17、R4—5、R5—13、R6—16、R7—12、R8—14,即C1—6、C2—11、C3—10、C4—3、C5—15、C6—4、C7—8、C8—9。(2)接著利用二維數(shù)組將顯示“笑臉”圖案對應(yīng)點(diǎn)陣屏的行和列管腳電平狀態(tài)定義成一個(gè)的整型二維數(shù)組(0為高電平,1為低電平),以方便調(diào)用。(3)利用初始化函數(shù)voidsetup將上述點(diǎn)陣屏所有的管腳定義為輸出模式。(4)在loop函數(shù)中,利用動(dòng)態(tài)顯示技術(shù)(采用for循環(huán)結(jié)構(gòu)),遍歷顯示點(diǎn)陣屏的8行8列共64個(gè)LED,使其行管腳的電平狀態(tài)與二維數(shù)組中的值對應(yīng),列管腳則取反(!為取反運(yùn)算符,高電平取反變?yōu)榈碗娖?,低電平取?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論