匡畅?曾繁崎
摘 要 本文设计的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.