孫建振 王振 姬廣超 董雨鑫 梁棟茂 鄒勱豪
摘要:多功能迷你LED燈屏幕它的設(shè)計(jì)方案主要是以 ARDUINO 為主控單元,基于GPIO的輸入輸出功能,用LED點(diǎn)陣實(shí)現(xiàn)動(dòng)態(tài)顯示、秒表以及貪吃蛇小游戲。硬件電路包括控制單元ARDUINO UNO單片機(jī) LED點(diǎn)陣屏幕以及74HC595位移緩存器。軟件控制部分用C/C++語(yǔ)言編寫(xiě),并進(jìn)行了簡(jiǎn)單的PCB設(shè)計(jì),在單片機(jī)的控制下顯示各種各樣的內(nèi)容。用戶可以通過(guò)簡(jiǎn)單的通訊對(duì)顯示內(nèi)容進(jìn)行設(shè)計(jì),方便人們的學(xué)習(xí)與使用。
關(guān)鍵詞 :ARDUINO開(kāi)發(fā)板;LED燈;游戲;PCB;C語(yǔ)言
中圖分類號(hào):TP3? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)23-0220-02
1 引言
5G將要到來(lái),物聯(lián)網(wǎng)的應(yīng)用越來(lái)越廣泛,許許多多的物聯(lián)網(wǎng)產(chǎn)品走進(jìn)了人們的生活?;贚ED的電子產(chǎn)品就是非常典型的例子。從交通燈到電視顯示屏等現(xiàn)代電子產(chǎn)品都與LED密切相關(guān),所以學(xué)習(xí)、設(shè)計(jì)或了解LED產(chǎn)品都是非常有必要的事情。單片機(jī)是一種具有CPU的集成控制芯片,作為控制器被廣泛使用。本文將LED與ARDUINO單片機(jī)聯(lián)系在一起,基于ARDUINO單片機(jī)做了一系列有趣的LED開(kāi)發(fā)。
2 迷你LED智能屏幕系統(tǒng)總體介紹
迷你LED智能點(diǎn)陣屏幕是基于ARDUINO開(kāi)發(fā)板開(kāi)發(fā)的。圍繞ARDUINO最小應(yīng)用系統(tǒng)開(kāi)發(fā)了數(shù)值顯示、時(shí)鐘、LED貪吃蛇等功能。功能核心是由ARDUINO主控芯片發(fā)送數(shù)據(jù)到74HC595位移緩存器,從而控制LED燈實(shí)現(xiàn)各種顯示功能。
2.1 電路設(shè)計(jì)
2.1.1 ARDUINO介紹
ARDUINO NANO是ARDUINO USB接口的微型版本,最大的不同是沒(méi)有電源插座以及USB接口是Mini-B型插座。ARDUINO NANO是尺寸非常小的而且可以直接插在面包板上使用。其處理器核心是ATMEGA328(NANO3.0),同時(shí)具有14路數(shù)字輸入/輸出口(其中6路可作為PWM輸出),8路模擬輸入,一個(gè)16MHz晶體振蕩器,一個(gè)MINI-B USB口,一個(gè)ICSPHEADER和一個(gè)復(fù)位按鈕。ARDUINO 編程環(huán)境可以跨平臺(tái),而且該軟件可以在Windows Macintosh Osx Linux等操作系統(tǒng)上運(yùn)行。ARDUINO的產(chǎn)品性價(jià)比高,可以自行設(shè)計(jì),也可以購(gòu)買很多完善的產(chǎn)品。
2.1.2 屏幕部分
74HC595位移緩存器是一個(gè)8位串行輸入、并行輸出的位移緩存器,并行輸出為三態(tài)輸出。在SCK 的上升沿,串行數(shù)據(jù)由SDL輸入到內(nèi)部的8位位移緩存器,并由Q7'輸出,而并行輸出則是在LCK的上升沿將在8位位移緩存器的數(shù)據(jù)存入到8位并行輸出緩存器。當(dāng)串行數(shù)據(jù)輸入端OE的控制信號(hào)為低時(shí)輸出使能,并行輸出端的輸出值等于并行輸出緩存器所存儲(chǔ)的值。器件圖如圖1所示。
引腳功能如下:
Q0~Q7:并行數(shù)據(jù)輸出端; GND:接地引腳; Q7S:串行數(shù)據(jù)輸出(多個(gè)芯片聯(lián)用時(shí)使用);MR: 復(fù)位引腳,當(dāng)引腳接低電平時(shí)芯片內(nèi)部數(shù)據(jù)存儲(chǔ)寄存器數(shù)據(jù)清零復(fù)位,如不使用一般接高電平;SHCP:移位寄存器的時(shí)鐘輸入,當(dāng)接收到上升沿時(shí)移位寄存器內(nèi)部數(shù)據(jù)整體后移;STCP:數(shù)據(jù)存儲(chǔ)寄存器時(shí)鐘輸入,當(dāng)檢測(cè)到上升沿時(shí)使能數(shù)據(jù)存儲(chǔ)寄存器,將芯片接收到的數(shù)據(jù)輸出到Q0~Q7,Q7S引腳。可以將其理解為鎖存信號(hào),當(dāng)數(shù)據(jù)發(fā)送給芯片完成后對(duì)該引腳發(fā)送上升沿;OE: 輸出使能引腳,為高電平時(shí)芯片輸出引腳為高組態(tài),當(dāng)為低電平時(shí)芯片輸出引腳為高(低)電平。該引腳可用于同時(shí)控制并行輸出引腳的電平,如控制LED閃爍等。當(dāng)不使用該功能時(shí)通常接低電平;DS:串行數(shù)據(jù)輸入端;VCC:電源引腳。
智能小屏幕的顯示,將由其中的單片機(jī)向3個(gè)74HC595位移緩存器(橫向2個(gè),縱向1個(gè))寫(xiě)入數(shù)據(jù)從而控制8*16個(gè)LED,進(jìn)行亮滅操作進(jìn)而實(shí)現(xiàn)多種功能。
2.1.3 硬件電路圖設(shè)計(jì)
智能小屏幕的電路圖是用Altium Designer軟件繪制的,他的系統(tǒng)電路原理圖如下。
圖中數(shù)據(jù)輸入輸出口分配:將A0數(shù)據(jù)口與橫向的其中一個(gè)74HC595位移緩存器的DS口連接,并將此移位緩存器的Q7S口與另一個(gè)橫向74HC595位移緩存器DS口連接(第一個(gè)緩存器溢出的數(shù)據(jù)會(huì)被第二個(gè)器件吸收)。同樣的將數(shù)據(jù)口A3與縱向移位緩存器連接。使用74HC595位移緩存器解決了接口不夠用的問(wèn)題。
硬件設(shè)計(jì)采用上下兩層方便拆卸硬件構(gòu)成設(shè)計(jì)如圖3。
3 軟件部分
軟件的設(shè)計(jì)由ARDUINO LED 軟件采用C++/C語(yǔ)言編寫(xiě),系統(tǒng)的流程圖如下。
數(shù)據(jù)信息經(jīng)過(guò)ARDUINO 的操控線寫(xiě)入緩存器當(dāng)中,通過(guò)不斷地改變顯示信息從而改變顯示狀態(tài),實(shí)現(xiàn)各種各樣的效果。
軟件設(shè)計(jì)流程如下:
1) 首先編寫(xiě)一個(gè)寫(xiě)入顯示函數(shù),主要能夠?qū)崿F(xiàn)將一個(gè)狀態(tài)的顯示狀況寫(xiě)到屏幕上;
2) 顯示功能的實(shí)現(xiàn)是先取字模,然后將字模數(shù)據(jù)寫(xiě)入到顯示函數(shù)記錄數(shù)據(jù)狀態(tài)的數(shù)組里。這樣重置調(diào)用顯示函數(shù)即可根據(jù)新的數(shù)據(jù)在顯示屏上顯示相應(yīng)的字母;
3) 秒表功能運(yùn)用了ARDUINO單片機(jī)的定時(shí)器中斷的功能。每秒進(jìn)行一個(gè)中斷,觸發(fā)中斷時(shí)中斷服務(wù)函數(shù)中對(duì)時(shí)間參數(shù)進(jìn)行累加,將相應(yīng)的時(shí)間參數(shù)寫(xiě)入到字模數(shù)組里,再用顯示函數(shù)進(jìn)行顯示就能夠?qū)崿F(xiàn)秒表功能了;
4) LED貪吃蛇小游戲同樣是將數(shù)據(jù)顯示到寫(xiě)入到顯示數(shù)組,調(diào)用顯示函數(shù)顯示, 通過(guò)外部的上下左右操作,改變LED顯示的狀態(tài)實(shí)現(xiàn)小蛇移動(dòng)吃豆的功能,就基本實(shí)現(xiàn)了貪吃蛇小游戲。
4 結(jié)語(yǔ)
本文以ARDUINO 開(kāi)發(fā)板為核心,以74HC595位移緩存器以及若干LED燈為輔助器件,設(shè)計(jì)了一款迷你的多功能LED點(diǎn)陣屏幕,有趣小巧。用ARDUINO單片機(jī)開(kāi)發(fā)項(xiàng)目比使用51單片機(jī)要簡(jiǎn)單快捷,且很容易上手學(xué)習(xí),但是要對(duì)單片機(jī)系統(tǒng)有一定的理解。根據(jù)LED屏控制電路,先測(cè)試程序?qū)⑺袩酎c(diǎn)亮,然后再使用各種邏輯的控制實(shí)現(xiàn)各種各樣的功能,通過(guò)調(diào)試,基于ARDUINO單片機(jī)的LED屏系統(tǒng)達(dá)到了設(shè)計(jì)要求,并具有可操作性強(qiáng)、靈巧、便于學(xué)習(xí)、趣味性強(qiáng)等特點(diǎn)。
參考文獻(xiàn):
[1] [英]Simon Monk .ARDUINO編程指南 75個(gè)智能硬件程序設(shè)計(jì)技巧[M].北京:人民郵電出版社,2016.
[2] 《無(wú)線電》編輯部.超炫的35個(gè)ARDUINO制作項(xiàng)目[M].北京:人民郵電出版社,2014.
[3]? 杰里米·布魯姆 .ARDUINO魔法書(shū):實(shí)現(xiàn)夢(mèng)想的工具和技術(shù)[M].北京:電子工業(yè)出版社,2014.
[4] (美)Steven F. Barrett .ARDUINO高級(jí)開(kāi)發(fā)權(quán)威指南(原書(shū)第2版)[M].北京: 機(jī)械工業(yè)出版社,2014.
[5] 陳永強(qiáng),魏金成,吳昌東.模擬電子技術(shù)[M].北京:人民郵電出版社,2013.
[6] 李興華.物理實(shí)驗(yàn)手冊(cè)[M].北京:中國(guó)計(jì)量出版社,2012.
[7] [美]Michael Margolis .ARDUINO權(quán)威指南(第2版)[M].北京:人民郵電出版社,2015.
【通聯(lián)編輯:代影】