ESP32下试验DS1302时钟模块

DS1302是常用、便宜,而且可参考资料非常多的时钟模块。有分立IC可以自己搭,外围好象只要一两个元件,当然我会选择最简便的办法,直接淘来模块使用,大约3元钱一个,而且直接带了一个CR2032电池。一旦调整好时间开始走时,外部电源断开后,自带电池会维持DS1302继续走时。

DS1302的Arduino支持库比较多,在IDE里直接找到安装,以RTCLib于各类教程中最为常见。

这些库多为针对UNO编写,所以例程和注释几乎无一例外标注的都是对Arduino UNO的,对ESP32/8266的,多为改造的库的支持。

实验了一下DS1302模块。直接使用RTCLib自带的DS1302_Simple.ino,程序前面有一段接线说明,改动了一点儿,加上了ESP32的引脚。有个疑惑是在VCC上,如果接ESP32的5V引脚,DS1302并不能正常工作,提示计时无效,只输出0000之类的。

// CONNECTIONS:

// DS1302 CLK/SCLK          --> Arduino-D5/ESP32-IO5

// DS1302 DAT/IO               --> Arduino-D4/ESP32-IO4

// DS1302 RST/CE               --> Arduino-D2/ESP32-IO2

// DS1302 VCC                   --> 3.3v - 5v

// DS1302 GND                   --> GND

然后开始操练起来:

结果发现过去十几分钟时,会慢几秒。这是第二个迷惑。网上各处查了查,一种说法是模块本身的晶振准不准的问题,还有一个是读写一次时间会慢出来毫秒级误差出来。无确切解。

第三个迷惑,是烧录时ESP32板卡的选择,似乎是必须得选那个DOIT ESP32DEVKIT V1,不加区分地只选择通用的ESP32板卡,不行!很奇怪。

其它的,如使用Arduino UNO或STC等使用DS1302,以后再试。这玩意儿有啥用呢?有时间琢磨琢磨SD卡,有需要的提醒就扔到SD卡的文件里,ESP32如水潺潺无声无息地日日夜夜读着SD卡的提醒事件,当快乐的事情需要提醒时,它就哈哈哈哈~~~糟心的事情到来的时候,它就啊~啊~~啊~~~啊~~~~象失了足的人坠落谷底,岂不好玩?

(0)

相关推荐