Arduino 传感器: 使用DS1302时钟模块

本文阐述了如何在Arduino上使用基于DS1302时钟芯片的时钟模块计时.
应用场景:

新年钟声倒计时 + LED显示 + LED显示华彩(显示特效)

原材料清单

  • DS1302 RTC模块

  • Arduino Uno R3

  • USB 电源

  • 杜邦线

实验过程

最开始把时钟模块的VCC连接到 Arduino Uno 的5V输出脚, 结果时钟走的太快了, 最后发现是电压太高, 应该接到3.3V的输出引脚.

接线

Arduino 传感器: 使用DS1302时钟模块
Arduino 传感器: 使用DS1302时钟模块
Arduino 传感器: 使用DS1302时钟模块
Arduino 传感器: 使用DS1302时钟模块

代码

#include <Wire.h>
#include <DS1302.h>

DS1302 rtc(2, 3, 4); // RST, DAT, CLK
void getdatetime()
{
  Serial.println(rtc.getDateStr(FORMAT_LONG, FORMAT_LITTLEENDIAN, '/'));
  Serial.print(rtc.getDOWStr());
  Serial.print("    ");
  Serial.println(rtc.getTimeStr());
}
void setup()
{
  Serial.begin(9600);
  // 设置时间后, 需要注释掉设置时间的代码,并重新烧录一次. 以免掉电重新执行setup中的时间设置函数.
  rtc.halt(false);
  rtc.writeProtect(false);
  rtc.setDOW(SATURDAY);
  rtc.setTime(17, 22, 30);
  rtc.setDate(31, 12, 2016);
  rtc.writeProtect(true);
}
void loop()
{
  getdatetime();
  delay(1000);
}

输出结果

Arduino 传感器: 使用DS1302时钟模块

参考资料

相关推荐