Arduino--DS3231时钟模块

(1)简介

D3231是高精度的I2C实时时钟(RTC),具有集成的温补晶振TCXO晶体,模块自带纽扣电池,在系统断开主电源后仍然能保持精确的计时。RTC保存秒、分、时、星期、日期、月和年的信息,提供两个可设置的日历闹钟和一个可设置的方波输出,地址和数据通过I2C双向总线串行传输。
Arduino--DS3231时钟模块_第1张图片

模块参数

(1)工作电压:3.3V–5.5V
(2)时钟芯片:高精度时钟芯片DS3231
(3)时钟精度:0-40度范围内,精度2pm,年误差约1分钟
(4)2个日历闹钟可编程输出,年月日有效时间到2100年,芯片内部自带温度传感器,精度正负3摄氏度
(5)存储芯片:AT24c32(存储容量32k)
(6)可级联其他IIC设备,24c32地址可通过短路A0/A1/A2修改

(2)接线

DS3231时钟模块 Arduino UNO
SCL A5
SDA A4
VCC 5V
GND GND

(3)实现过程(完整代码及函数头文件见文末链接)

时钟模块工作之前需要先同步设置下当前时间,时间设置后才能正常使用,时间设置后才能正常使用

时间、日期设置代码如下:

void setup()
{
  // Setup Serial connection
  Serial.begin(115200);
  // Uncomment the next line if you are using an Arduino Leonardo
  //while (!Serial) {}
  
  // Initialize the rtc object
  rtc.begin();
  
  // The following lines can be uncommented to set the date and time
  rtc.setDOW(FRIDAY);     // Set Day-of-Week to SUNDAY
  rtc.setTime(21, 00, 30);     // 设置时间为21:00:30
  rtc.setDate(10, 24, 2020);   // 设置日期为2020年10月24日
}

日期设置完成后方可显示出来,显示代码见下(以LCD1602上显示为例)

void loop()
{
  // Send Day-of-Week
  Serial.print(rtc.getDOWStr());
  Serial.print(" ");
  
  // Send date
  Serial.print(rtc.getDateStr());
  Serial.print(" -- ");
 
  // Send time
  Serial.println(rtc.getTimeStr());
  
  // Wait one second before repeating :)
  delay (1000);
}

显示结果如下:

(4)完整代码链接

CSDN下载
链接:https://download.csdn.net/download/u011816009/85842082

百度网盘下载
链接:https://pan.baidu.com/s/12MLNBpeF9jQDc4wzkuXn6A
提取码:803o

你可能感兴趣的:(Arduino,DS3231,时钟模块,arduino,万年历)