匡暢?曾繁崎
摘 要 本文設(shè)計(jì)的Wi-Fi點(diǎn)陣時(shí)鐘采用ESP8266作為核心處理器和通信模塊,使用MAX7219芯片驅(qū)動(dòng)LED點(diǎn)陣,并可以顯示多種動(dòng)畫效果,時(shí)鐘可以通過(guò)Wi-Fi聯(lián)網(wǎng)并自動(dòng)更新時(shí)間。本時(shí)鐘功能豐富、走時(shí)精確、操作方便、穩(wěn)定性好。
關(guān)鍵詞 ESP8266;DS1302;MAX7219
1硬件設(shè)計(jì)
1.1 系統(tǒng)整體框架
本文設(shè)計(jì)的點(diǎn)陣時(shí)鐘主要由ESP8266、按鍵、蜂鳴器、DS1302、MAX7219和LED點(diǎn)陣屏構(gòu)成,如圖1所示。其中,ESP8266是控制核心,內(nèi)嵌Wi-Fi模塊,可以用于聯(lián)網(wǎng)。按鍵用于設(shè)置時(shí)鐘時(shí)間、日期等,還可以設(shè)置Wi-Fi接入點(diǎn)和密碼。蜂鳴器用于播放鬧鐘響鈴和按鍵提示音。DS1302時(shí)鐘模塊用于在沒有網(wǎng)絡(luò)的時(shí)候提供精準(zhǔn)時(shí)鐘。MAX7219 LED驅(qū)動(dòng)模塊用于驅(qū)動(dòng)LED點(diǎn)陣屏,ESP8266只需要3根數(shù)據(jù)線就可以驅(qū)動(dòng)多塊16x16 LED點(diǎn)陣[1]。
1.2 核心處理器
本文設(shè)計(jì)的點(diǎn)陣時(shí)鐘使用ESP8266作為核心處理器,ESP8266是樂鑫信息科技公司推出的一款無(wú)線WI-FI模塊,內(nèi)置10個(gè)GPIO,可以用于PWM、I2C和1-Wire通信;1路ADC;20KB RAM和512KB的Flash內(nèi)存,其中用戶可用150KB。由于內(nèi)置了NodeMcu可編程固件,我們可以使用更簡(jiǎn)單的方式進(jìn)行網(wǎng)絡(luò)開發(fā)。
1.3 LED點(diǎn)陣驅(qū)動(dòng)模塊
LED點(diǎn)陣驅(qū)動(dòng)模塊采用MAX7219芯片。MAX7219 是美國(guó)MAXIM 公司推出的多位LED 顯示驅(qū)動(dòng)器,它內(nèi)含硬件動(dòng)態(tài)掃描電路、BCD譯碼器、段驅(qū)動(dòng)器和位驅(qū)動(dòng)器。MAX7219采用3 線串行接口傳送數(shù)據(jù),最大的優(yōu)勢(shì)是可以級(jí)聯(lián)使用,控制更多的LED 點(diǎn)陣顯示器時(shí)也不需要擴(kuò)展通信接口,MAX7219電路連接如圖2所示。
1.4 時(shí)鐘模塊
DS1302是由美國(guó)DALLAS公司推出的具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘芯片。它可以對(duì)年、月、日、周、時(shí)、分、秒進(jìn)行計(jì)時(shí),且具有閏年補(bǔ)償?shù)榷喾N功能。當(dāng)聯(lián)網(wǎng)后,時(shí)鐘顯示的時(shí)間由Wi-Fi聯(lián)網(wǎng)更新,當(dāng)沒有連接Wi-Fi網(wǎng)絡(luò)或無(wú)法從校時(shí)服務(wù)器獲取時(shí)間數(shù)據(jù),DS1302可以在點(diǎn)陣時(shí)鐘沒有聯(lián)網(wǎng)時(shí)提供本地精準(zhǔn)時(shí)間[2-3]。
2軟件設(shè)計(jì)
2.1 時(shí)間顯示程序
時(shí)間顯示程序開始后,先依次判斷分鐘個(gè)位、分鐘十位、小時(shí)個(gè)位和小時(shí)十位是否更新,若更新了,則顯示相應(yīng)的更新動(dòng)畫。時(shí)間更新動(dòng)畫的效果是,將舊的時(shí)間和新的時(shí)間進(jìn)行拼接,然后從舊到新循環(huán)移位,就可以看到時(shí)間滑動(dòng)的動(dòng)畫了。
2.2 Wi-Fi時(shí)間更新
時(shí)鐘聯(lián)網(wǎng)后,可以通過(guò)互聯(lián)網(wǎng)更新時(shí)間。時(shí)鐘通過(guò)Wi-Fi與time.beijing-time.org網(wǎng)站進(jìn)行通信,進(jìn)行校時(shí)。具體流程為,首先進(jìn)行聯(lián)網(wǎng)配置,設(shè)置客戶端模式,使用80端口,然后向time.beijing-time.org/time.asp發(fā)送Get請(qǐng)求,發(fā)送完畢延時(shí)150毫秒,開始監(jiān)聽網(wǎng)絡(luò)數(shù)據(jù)。若收到數(shù)據(jù),先全部存儲(chǔ)起來(lái),然后對(duì)收到的數(shù)據(jù)進(jìn)行分析,截取小時(shí)、分鐘和秒鐘數(shù)據(jù),最后用收到的時(shí)間數(shù)據(jù)更新當(dāng)前時(shí)間。
3結(jié)束語(yǔ)
本文設(shè)計(jì)的Wi-Fi點(diǎn)陣時(shí)鐘,操作簡(jiǎn)單,效果豐富,校時(shí)精確,穩(wěn)定性良好。
參 考文獻(xiàn)
[1] 景向偉,李娣娜,邵思飛.基于單片機(jī)的LED點(diǎn)陣顯示系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(20):153-155.
[2] 張明波.基于單片機(jī)的點(diǎn)陣LED顯示系統(tǒng)的設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,(5):84-86.
[3] 袁強(qiáng),陸啟生,李文煜.基于單片機(jī)89C51和89C2051點(diǎn)陣LED顯示系統(tǒng)[J].中國(guó)科技信息,2006,(18):181-183.