这周主要学习 DS1302 时钟模块的使用,并用其搭建一个简易的电子时钟,此篇文章主要参照参考文章[2]。
硬件准备
- Arduino UNO 一个
- DS1302 时钟模块一枚
- 1602LCD一块(附带 PCF8574T 转接板)
- 面包板一块
- 连接线若干
软件准备
- Arduino IDE
- RTC Virtuabotix Library
- LCD i2c Library
电路连接
- DS1302 的连线:VCC ——> 5V,GND ——> GND,CLK ——> 4,DAT ——> 3,RST ——> 2
- LCD 的连线:VCC ——> 5V,GND ——> GND,SDA ——> A4,SCL ——> A5
实现代码
1 | /* |
烧录代码
代码编译完没问题后,点击图中所选按钮将其上传至 Arduino UNO 板上。烧录没问题后,就可以在 LCD 上观察到结果了。
实际结果
心得总结
对于驱动 DS1302 时钟模块的库有好多种,但大多数方法是差不多的。这个简易的时钟虽然可以根据设定的时间来显示实时的时间,但是需要注意:初次运行的时候需要设置好时间,之后需要把设定时间的那行代码注释掉。因为时钟模块自带电池,在 Arduino 板子掉电后,还是能继续计时的,所以插上电后还是实时的时间。如果在校准时间之后,还是不能正确的显示时间的话,可以在 DS1302 时钟模块的引脚增加一个电阻。下次按照参考文章[1]的方法试试外部中断的方法来校准时间。
参考文章
[2]. How to simply use DS1302 RTC module with Arduino board and LCD screen)