GPT答: |
7i24.cn
|
使用DS1302实时时钟模块需要连接以下引脚:
- VCC:连接到Arduino的5V引脚
- GND:连接到Arduino的GND引脚
- CLK:连接到Arduino的数字引脚13
- DAT:连接到Arduino的数字引脚11
- RST:连接到Arduino的数字引脚10
接线完成后,需要下载并安装DS1302库。可以在Sketch -> 包含库 -> 管理库中搜索“DS1302”并安装。
下面是一个简单的示例代码,用于设置和读取当前时间:
```
#include <DS1302.h>
// 定义 DS1302 引脚
const int DS1302_CLK = 13;
const int DS1302_DAT = 11;
const int DS1302_RST = 10;
// 创建一个 DS1302 对象
DS1302 rtc(DS1302_CLK, DS1302_DAT, DS130_RST);
void setup() {
// 初始化串口通信
Serial.begin(9600);
// 启动 RTC 模块
rtc.halt(false);
// 设置当前时间(年、月、日、星期几、小时、分钟)
rtc.setDateTime(2021,4,26,1,12,30);
}
void loop() {
// 获取当前时间
DateTime now = rtc.getDateTime();
// 输出当前时间信息
Serial.print(now.year); Serial.print("/");
Serial.print(now.month);Serial.print("/");
Serial.print(now.day);Serial.println();
Serial.print(" ");Serial.println();
if (now.hour<10) {Serial.write('0');}
Serial.print(now.hour, DEC);Serial.write(':');
if (now.minute<10) {Serial.write('0');}
Serial.print(now.minute, DEC);Serial.write(':');
if (now.second<10) {Serial.write('0');}
Serial.println(now.second, DEC);
delay(1000);
}
```
在setup()函数中,我们设置了当前时间为2021年4月26日星期一12点30分。在loop()函数中,我们不断读取当前时间并输出到串口监视器上。
注意:DS1302模块的电池是用于保存时钟信息的,如果没有电池或者电池已经损坏,则无法正常工作。
|