这个项目在由四个8 x 8模块组成的点阵显示器上显示小时和分钟的简单时钟。该处理器是基于ESP8266芯片的通用Arduino兼容的NodeMCU开发板,里面集成了Wi-Fi功能。我们没有在这个项目中使用Wi-Fi,但我打算以后再添加它。
我想要一个简单的时钟,只显示时间,不会有比这更复杂的功能。所有现成的时钟似乎都包含警报,而我买的最后一个时钟并不会处理夏令时,尽管电池似乎只能保持警报发出蜂鸣声,但它不会在电源关闭后保存下来。电源关闭后左右的都会停止,然后时钟自动设置午夜闹钟,闹钟“关闭”按钮只会进入睡眠状态,以便在我拔掉电源后五分钟再次触发。
显示器在晚上8点后自动变暗,仅显示12小时格式的时间(尽管这很容易更改)。这里面采用的是英国的夏令时,中国的可以在程序中自行更改。这里面的程序它会在3月和10月的英国夏令时自动调整1小时(这也可以修改为适合其他时区)。
目录
第一步 材料准备
材料清单:
- 8×32点阵屏
- nodemcu开发板
- DS3231时钟模块
- 若干导线
- USB数据线
第二步 电路搭建
这是一个基于DS3231时钟芯片的现成模块。
它们使用I2C连接到处理器模块:在NodeMCU设备上,连接如下: –
DS3231引脚连接到NodeMCU上的引脚
- SCL ————————– D1
- SDA ————————– D2
- Vcc ————————– Vin(即5V引脚)
- GND ————————- GND
LED非常明亮,虽然强度可以设置为0到10,即使在最低(0)设置,它仍然在晚上太亮了。我在一块深灰色的有色有机玻璃后面安装了它,它将光线调暗到了一个合理的水平,并且还隐藏了模块的轮廓,使它看起来更整洁。
与NodeMCU的连接很简单,如下: –
显示引脚连接到NodeMCU上的引脚:
- Vcc ——————————– 3v3
- GND —————————— GND
- Din ——————————— D7
- CS ——————————— D6
- CLK ——————————- D5
第三步 开始编程
设置RTC时钟时间:
将所有这些硬件连接在一起后,您就可以开始加载编程了。
首先,使用下面的程序设置RTC模块的时间 – 只需复制所有文本并将其粘贴到Arduino IDE上的空白屏幕中。输入正确的时间和其他详细信息,以红色显示,不要忘记星期几(’天’),其中’1’是星期日,星期六是’7’,其它时间可以自行调整。
将时间设置为比实际时间晚一分钟以允许上传它所花费的时间,然后点击“上传”按钮将其上传在Node MCU上。
代码如下: –
第四步 让时钟工作
使用上面的程序可以进行时钟的显示,显示图可看最开始的图片就是最终的演示。
也可以是用下面的另一个版本的程序:
连接方式在程序开头有注释,这个注意一下:
厉害
?