首页/作品列表/上海进出口博览会倒计时钟
上海进出口博览会倒计时钟
12951 2
主要内容
首届中国国际进口博览会将于2018年11月5日至10日在上海举办,为提醒工作进度,按时完成各项任务,需要制作精确计时的倒计时钟。
时钟的布局是标题:shanghai expo ;第二行倒计时天数:countdown;第三行现在的时间;第四行现在的年月日星期几。
一、ntp校准rtc时间
(1)获取esp8266 AT命令固件,并且更新到最新版本;
(2)把coreUSB,esp8266,rtc层叠起来,刷入coreUSB_ESP8266_RTC_NTP.ino;

a;esp8266的串口在管脚0,1,在不跳线的情况下,用coreUSB最适合。

b;esp8266使用AT命令组建udp向pool.ntp.org发出ntp请求,mcu对回文进行截取产生unixtime,作为mcu的系统基准时间,再对pcd8563进行校时操作。

c;串口打印的时间是mcu基于time产生的实时时间。

(3)打开串口观察一下,确保ntp时间已经写入pcf8563。

二、制作倒计时钟
(1)把core,rtc,oled和电池盒层叠;
(2)烧入程序core_RTC_oled_shanghaiexpo_countdown.ino;

a;pcd8563的寄存器是bcd码的比较特殊,其他操作与i2c相同。此处需要注意。


b;开幕在2018年11月5日,11月5日从1月1日开始计算是全年的第几天?
      这里提供两个方法:

一个比较野路子,打开 http://mistupid.com/calendar/dayofyear.htm 输入你要计算的年月日就可以算出11月5日是全年的第309天。

另一个是使用自定义函数计算,每月月底前累积天数是固定的,前一个月的累积天数加上当日天数就是全年的第几天了,11月5日就是10月底总天数304天加上11月的5天等于309天,此外在考虑月份是不是2月份并且是不是闰年,闰年的判断只需要计算能被4整除。(%100和%400都是世纪年的计算,本例毫无意义不必计算。)
上述两种方法不能混用:lol

(3)观察运行情况。

根据实际情况修改一下屏幕显示的行间距。这个例子可以做成各种纪念日的提示器。希望你喜欢。





代码展示

1. coreUSB_ESP8266_RTC_NTP

编程语言: C/C++(Arduino)

软件工具:Arduino IDE 1.8.4


2. core_RTC_oled_shanghaiexpo_countdown

编程语言: C/C++(Arduino)

软件工具:Arduino IDE 1.8.4


附件下载
暂无数据!
1

很急,很关键

不错

回复0

31231313

不错哦

回复0

大牛,别默默的看了,快登录帮我点评一下吧!

立即注册