最近想用Arduino做一个实时小闹钟,选用了DS1307模块,接线很简单,+5V,GND,SDA接A4,SCL接A5,写程序时先用卖家提供的库文件,各种报错,果断放弃,网上搜索到一个RTClib的库,亲测可用,示例代码如下:
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup () {
Serial.begin(57600);
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
Serial.println("RTC is NOT running!");
// following line sets the RTC to the date & time this sketch was compiled
RTC.adjust(DateTime(__DATE__, __TIME__));
}
}
void loop () {
DateTime now = RTC.now();
Serial.print(now.year(), DEC);
Serial.print('/');
Serial.print(now.month(), DEC);
Serial.print('/');
Serial.print(now.day(), DEC);
Serial.print(' ');
Serial.print(now.hour(), DEC);
Serial.print(':');
Serial.print(now.minute(), DEC);
Serial.print(':');
Serial.print(now.second(), DEC);
Serial.println();
delay(3000);
}
后续在此基础上增加设置闹铃等功能,完成一个可以做闹钟、做定时器、做提醒日程的一个小玩意儿,敬请期待!