|
|

楼主 |
发表于 2016-10-28 16:20:52
|
显示全部楼层
#include <Time.h>
#include <TimeAlarms.h>
#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 RTC;
void setup()
{
Serial.begin(9600);
Wire.begin();
RTC.begin();
if (! RTC.isrunning())
{
Serial.println("RTC is NOT running!");
//下列這行將會設定RTC時間為電腦Compile的當前時間。
//RTC.adjust(DateTime(__DATE__, __TIME__));
}
DateTime now = RTC.now();
//將RTC的時間設定給AlarmClockTime使用
setTime(now.hour(),now.minute(),second(),now.day(),now.month(),now.year());
// 創造時鐘
Alarm.alarmRepeat(8,30,0, MorningAlarm);
Alarm.alarmRepeat(dowSaturday,8,30,30,WeeklyAlarm);
Alarm.timerRepeat(15, Repeats);
Alarm.timerOnce(10, OnceOnly);
}
void loop(){
digitalClockDisplay();
Alarm.delay(1000);
}
// functions to be called when an alarm triggers:
void MorningAlarm(){
Serial.println("Alarm: - turn lights off");
}
void WeeklyAlarm(){
Serial.println("Alarm: - its Monday Morning");
}
void Repeats(){
Serial.println("15 second timer");
}
void OnceOnly(){
Serial.println("This timer only triggers once");
}
//顯示目前時間
void digitalClockDisplay()
{
// digital clock display of the time
Serial.print(hour());
printDigits(minute());
printDigits(second());
Serial.println();
}
//如果顯示0~9的話,前面會加一個0
void printDigits(int digits)
{
Serial.print(":");
if(digits < 10)
Serial.print('0');
Serial.print(digits);
}
http://www.tabbymeow.com/%E6%A8%B9%E5%B1%8B%E9%AD%9A%E4%B8%BB%E4%BA%BA%E8%A8%88%E7%95%AB5-rtc%E6%99%82%E9%90%98%E6%A8%A1%E7%B5%84/ |
|