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

本文阐述了如何在Arduino上使用基于DS1302时钟芯片的时钟模块计时. 应用场景: 新年钟声倒计时 + LED显示 + LED显示华彩(显示特效)

原材料清单

    DS1302 RTC模块 Arduino Uno R3 USB 电源 杜邦线

实验过程

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

接线

代码

#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时钟芯片的时钟模块计时. 应用场景: 新年钟声倒计时 + LED显示 + LED显示华彩(显示特效) 原材料清单 DS1302 RTC模块 Arduino Uno R3 USB 电源 杜邦线 实验过程 最开始把时钟模块的VCC连接到 Arduino Uno 的5V输出脚, 结果时钟走的太快了, 最后发现是电压太高, 应该接到3.3V的输出引脚. 接线 代码 #include #include 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); } 输出结果 参考资料
经验分享 程序员 微信小程序 职场和发展