使用DS1302模块获取精确的时间

我们的PC电脑的主板上,都可以找到一个圆片状的电池,这个电池的作用就是在电脑关机断电的情况下,继续保存时钟的运行(以及一些设置信息的的存 储)。

Arduino并没有集成时钟电路和电池。如果需要断电后保持时钟继续运行,我们可以使用DS1302 RTC模块,这个模块上有三个元件,一个是DS1302 IC,一个是晶振,另外一个就是电池。

DS1302模块

根据DS1302的Datasheet,应用电路图如下:

DS1302电路图

关于如何使用DS1302获取时间,可以阅读DS1302的Datasheet,这个过程还是比较复杂的。我在GitHub上找到了一个Library,可以用于Arduino和DS1302,API简洁易用,推荐给大家:

https://github.com/msparks/arduino-ds1302

下载这个Library,然后将其复制到Arduino的Library目录中,路径如下:

DS1302 Arduino模块

然后就可以在Arduino IDE的File-Examples中看到DS1302的示例程序了。

DS1302 Arduino 示例程序

API的详细使用说明,可以参考DS1302.h文件,里面有很详细的注释。

大家可以尝试将之前讲过的数码管与DS1302结合,做一个时钟。

参考资料:

http://playground.arduino.cc/Main/DS1302

http://datasheets.maximintegrated.com/en/ds/DS1302.pdf

https://github.com/msparks/arduino-ds1302

Published by

Meng Guang

thinking ahead of what's possible