匡暢?曾繁崎


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