简介
本款实时时钟模块(RTC)采用DS3231芯片方案,芯片内部集成了晶体谐振器和温度补偿器,提高了模块的长期精度。在-40°C至+85°C范围内,DS3231的精度保持在±3.5ppm (±0.3024秒/天)。
DS3231可以用纽扣电池供电,断开主电源时仍可保持精确计时。RTC可提供秒、分、时、星期、日、月和年的信息,可以自动调整月末的日期、闰年修正。时钟格式可以是24小时或带AM/PM指示的12小时。提供两个可编程的日历闹钟和一个1Hz方波输出。另外,RST校验引脚可以作为微处理器复位的按键输入。
特性
- 内部集成晶体谐振器,误差小
- 内部集成温度补偿器,温度漂移小
- 完整的时钟日历功能
- 两个可编程日历闹钟
应用场景
- 事件提醒器
- MCU外部唤醒源
- 时钟、闹钟输出
技术规格
- 供电电压:3.3V-5.5V
- I2C地址:0x68
- 计时范围:1970 ~ 2100年
- 工作温度:-40℃ ~ +85℃
- 计时精度:±3.5ppm (±0.3024秒/天)
- 产品尺寸:21*20mm
引脚说明
| 序号 | 丝印 | 功能描述 |
|---|---|---|
| 1 | VCC | 电源正极 |
| 2 | GND | 电源负极 |
| 3 | SCL | I2C时钟线 |
| 4 | SDA | I2C数据线 |
| 5 | INT | 低电平有效中断或1Hz方波输出 |
| 6 | RST | 复位校验引脚 |
| 7 | 32K | 32.768KHz脉冲输出 |
注:INT引脚是sqw印引脚
树莓派使用教程
准备
-
硬件
- 树莓派4代B型(或类似)主控板 x 1
- DS3231高精度时钟模块(兼容树莓派) x 1
- 若干杜邦线 x 1
-
软件
接线图
- 将模块与树莓派按照连线图相连。I2C地址默认为0x68
安装驱动
-
启动树莓派的I2C接口。如已开启,可跳过该步骤。
打开终端(Terminal),键入如下指令,并回车:
pi@raspberrypi:~ $ sudo raspi-config
然后用上下键选择“ 5 Interfacing Options ”, 按回车进入,选择 “ P5 I2C ”, 按回车确认“ YES ”即可。重启树莓派主控板。 -
安装Python依赖库与git,树莓派需要联网。如已安装,可跳过该步骤。
在终端中,依次键入如下指令,并回车:
pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install build-essential python-dev python-smbus git -
下载DS323X系列驱动库。在终端中,依次键入如下指令,并回车:
pi@raspberrypi:~ $ cd Desktop/
pi@raspberrypi:~/Desktop $ git clone https://github.com/cdjq/DFRobot_DS323X
注意:
样例代码
- 样例代码1-读取与设置时间(get_time_and_temp.py)
- 样例代码2-将树莓派时间写入时钟模块(get_time_from_raspi.py)
- 样例代码3-获取NTP时间(get_time_from_NTP.py)
- 样例代码4-闹钟触发查询(set_alarm_in_query.py)
- 样例代码5-闹钟触发中断(set_alarm_interrupt.py)
- 样例代码6-时钟输出方波(set_sqw_and_32k.py)
样例代码1-读取与设置时间(get_time_and_temp.py)
-
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python get_time_and_temp.py -
结果

样例代码2-将树莓派时间写入时钟模块(get_time_from_raspi.py)
-
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python get_time_from_raspi.py -
结果

样例代码3-获取NTP时间(get_time_from_NTP.py)
-
获取NTP时间需要安装ntplib。如已安装,可跳过该步骤。
在终端中,依次键入如下指令,并回车:
pi@raspberrypi:~ $ pip install ntplib -
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python get_time_from_NTP.py -
结果

样例代码4-闹钟触发查询(set_alarm_in_query.py)
-
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python set_alarm_in_query.py -
结果

样例代码5-闹钟触发中断(set_alarm_interrupt.py)
-
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python set_alarm_interrupt.py -
结果

样例代码6-时钟输出方波(set_sqw_and_32k.py)
-
在终端中,键入如下指令并回车,运行样例代码:
pi@raspberrypi:~/Desktop $ cd DFRobot_DS323X/Python/RaspberryPi/examples/
pi@raspberrypi:~/Desktop/DFRobot_DS323X/Python/RaspberryPi/examples/ $ python set_sqw_and_32k.py -
结果

常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。
