DS3231时钟模块
DS3231M是低成本、高精度I2C实时时钟(RTC)。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成微机电系统(MEMS)提高了器件的长期精确度,并减少了生产线的元件数量。DS3231M采用与流行的DS3231 RTC相同的器件封装。RTC保存秒、分、时、星期、日期、月和年信息。少于31天的月份,将自动调整月末的日期,包括闰年修正。时钟格式可以是24小时或带AM/PM指示的12小时格式。提供两个可设置的日历闹钟和一个1Hz输出。地址与数据通过I 2C双向总线串行传输。精密的、经过温度补偿的电压基准和比较器电路用来监视VCC状态,检测电源故障,提供复位输出,并在必要时自动切换到备份电源。另外,RST监测引脚可以作为产生微处理器复位的按键输入。
模块来源
规格参数
工作电压:2.3-5.5V
工作电流:200-300uA
计时精度:±0.432秒/天
控制方式:IIC
实际使用管脚数量:4 Pin(2.54mm间距排针)
说明:带电池,具有掉电检测和电池切换功能
硬件连接
- VCC 连接到 开发板 的 5V
- GND 连接到 开发板 的 GND
- SDA(Serial Data Line)连接到 开发板 的 A4(或SDA端口)
- SCL(Serial Clock Line)连接到 开发板 的 A5(或SCL端口)
使用方法
安装库
需要确保已经安装有RTClib
库,用于操作RTC模块。如果没有,可以打开Arduino IDE,前往 工具 -> 管理库,搜索RTClib
,然后安装。
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月12日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <Wire.h>
#include "RTClib.h"
RTC_DS3231 rtc;
void setup() {
Serial.begin(9600);
// 检查Wire库是否启动而且DS3231 RTC是否在运行
if (!rtc.begin()) {
Serial.println("Couldn't find RTC");
while (1);
}
// 检查DS3231是否正在运行
if (rtc.lostPower()) {
Serial.println("RTC lost power, let's set the time!");
// 如果RTC失去了电力,设置日期和时间
// 以下日期/时间是编译这个草稿的时间
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
}
}
void loop() {
DateTime now = rtc.now();
// 打印日期及时间
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(" ");
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
// 如果需要,也可以获取温度
float temperature = rtc.getTemperature();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
delay(1000); // 等待1000毫秒(1秒)
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60