|
在本篇文章中,我们将学习如何使用NodeMCU制作基于物联网的模拟/数字OLED时钟。这种时钟不需要类似DS1307或DS3231这样的任何RTC模块,只需从在线服务器上下载时间和日期即可。我们可以以模拟形式或数字形式显示下载的时间。
所需的组件 ● NodeMCU ESP8266 12E开发板模块 ● SSD1306 0.96英寸OLED显示屏 ● 连接线 ● 面包板
0.96英寸I2C OLED显示屏 本文使用的是一个0.96英寸的蓝色OLED显示屏模块。显示屏模块可以使用SPI / I2C协议与任何微控制器连接。分辨率为128×64。该模块包括显示电路板、显示屏、预焊接到板上的4针公接头。 
OLED(有机发光二极管)是一种自发光技术,由置于阳极和阴极之间的多层有机薄膜组成。与LCD技术相比,OLED不需要背光。 OLED在几乎所有类型的显示屏中都具有很高的应用潜力,并且被认为是下一代平板显示屏的替代技术。
连接电路图 借助下面的电路图,您可以使用NodeMCU制作基于物联网的模拟/数字OLED时钟。如下图所示组装电路。
将OLED的SCL引脚连接到NodeMCU的D1引脚,还要将OLED的SDA引脚连接到NodeMCU的D2引脚。将OLED的3.3V和GND引脚连接到NodeMCU的3.3V和GND引脚。
项目工作过程 Arduino IDE用于开发草图程序,该程序可访问NPT时间服务器以准确设置日期和时间。然后将日期和时间显示在OLED显示屏上,并通过ESP8266 Web服务器访问Web浏览器。该网页允许设置诸如时区、24小时制、夏令时之类的选项以及用于控制时间服务器更新间隔的变量。该网页使用AJAX更新时间,而无需重新加载整个网页。
NTPClient库将ESP8266 WiFi连接到时间服务器,该服务器将时间信息发送到模块。
最后一个是Arduino Time库,该库将Unix时间戳转换为:秒、分钟、小时、星期、日、月和年。 Unix时间是自1970年1月1日以来经过的秒数。基本上,时间服务器以Unix格式发送时间,该时间需要转换,该库完成所有工作。
NTPClient库配置为从服务器time.nist.gov(GMT时间)获取时间信息,并且偏移1小时(==> GMT + 1时区)等于3600秒,以下是配置代码: - configTime(timezone, dst, "pool.ntp.org","time.nist.gov");
复制代码
模拟OLED时钟的源代码/程序
以下是模拟OLED时钟的源代码/程序:
Analog OLED Clock.rar
(1.17 KB, 下载次数: 67)
数字OLED时钟的源代码/程序
以下是数字OLED时钟的源代码/程序:
Digital OLED Clock.rar
(976 Bytes, 下载次数: 107)
|