1.概述
这个模块主要用到高精度时钟芯片DS3231。它是低成本、高精度I2C实时时钟(RTC),具有集成的温补晶振(TCXO)和晶体。该器件包含电池输入端,断开主电源时仍可保持精确的计时。集成晶振提高了器件的长期精确度,并减少了生产线的元件数量。DS3231提供商用级和工业级温度范围,采用16引脚300mil的SO封装。
为了方面接线,我们还配送1根4pin线,线的一端为白色防反插接口(和模块上防反插白色端子匹配),另一端为4pin杜邦线母头接口。
模块兼容各种单片机控制板,如arduino系列单片机。使用时,我们可以在单片机上堆叠一个传感器扩展板。模块和自带导线连接,然后连接在传感器扩展板上,简单方便。同时,模块自带2个直径为3mm的定位孔,方便你将模块固定在其他设备。
2.规格参数
导线长度:200mm
工作电压:DC 3.3-5V
接口:间距为2.54mm 4pin防反接口
定位孔大小:直径为3mm
通信接口:IIC总线接口,最高传输速度400KHz(工作电压为5V时)
时钟精度:0-40℃范围内,精度2ppm,年误差约1分钟
尺寸:44*22*9mm
重量:5.3g
3.连接图
4.测试代码
特别注意:在烧录程序前,要把DS3231文件夹放到 编译器安装目录下的\Arduino\libraries里。不然编译不过。例如我的:C:\Program Files\Arduino\libraries
#include <Wire.h>
#include “DS3231.h”
DS3231 RTC;
char weekDay[][4] = {“Sun”, “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat” };
DateTime dt(2017, 5, 10, 15, 25, 30,4);
//设置开始时间为2017年5月10日15点25分30秒星期三
void setup ()
{
Serial.begin(57600);//设置波特率
Wire.begin();
RTC.begin();
RTC.adjust(dt);
}
void loop ()
{
DateTime now = RTC.now(); //获取当前时间
Serial.print(now.year(), DEC);//显示年
Serial.print(‘/’);
Serial.print(now.month(), DEC);//显示月
Serial.print(‘/’);
Serial.print(now.date(), DEC);//显示日
Serial.print(‘ ‘);
Serial.print(now.hour(), DEC);//显示小时
Serial.print(‘:’);
Serial.print(now.minute(), DEC);//显示分钟
Serial.print(‘:’);
Serial.print(now.second(), DEC);//显示秒
Serial.println();
Serial.print(weekDay[now.dayOfWeek()]);//显示星期
Serial.println();//自动换行
delay(1000);//延迟1S
}
5.测试结果
烧录好测试代码,按照接线图连接好线;利用USB接口上电后,进入串口监视器,设置波特率为57600。我们可在软件串口监视器中看到设置时间日期,如下图。
6.库文件链接
https://pan.baidu.com/s/1dMg1JlthA59bm8s76W5wuA
提取码:s3yi