#include <Wire.h>
#include "RTClib.h"
RTC_DS1307 rtc;
const int ledMerah = 3;
const int ledBiru = 4;
const int ledKuning = 5;
void setup()
{
Serial.begin(9600);
Wire.begin();
rtc.begin();
pinMode (ledMerah, OUTPUT);
pinMode (ledBiru, OUTPUT);
pinMode (ledKuning, OUTPUT);
//pengaturan coundown 1 menit
setCountdownTimerHour1 (60);
setCountdownTimerMinute (3);
}
void loop()
{
static DateTime countdownEndHour;
static bool timerSetHour = false;
static DateTime countdownEndMinute;
static bool timerSetMinute = false;
if (!timerSetHour)
{
countdownEndHour = rtc.now() + TimeSpan (0,0,1,0);
timerSetHour = true;
}
DateTime now = rtc.now();
if (now < countdownEndHour )
{
TimeSpan remaining = countdownEndHour - now;
Serial.print ("Time Remaining : ");
Serial.print (remaining.hours(), DEC);
Serial.print (" hour ");
Serial.print (remaining.minutes(), DEC);
Serial.print(" minutes, ");
Serial.print(remaining.seconds(),DEC);
Serial.println(" seconds");
}
else {
Serial.println (" Jam Sudah selesai");
if (!timerSetMinute)
{
countdownEndMinute = rtc.now() + TimeSpan (0,0,3,0);
timerSetMinute = true;
}
if (now < countdownEndMinute)
{
TimeSpan remaining = countdownEndMinute - now;
Serial.print ("Time Remaining : ");
Serial.print (remaining.minutes(), DEC);
Serial.print(" minutes, ");
Serial.print(remaining.seconds(),DEC);
Serial.println(" seconds");
}
else {
Serial.println (" Menit Sudah selesai");
}
}
delay(1000);
}
void setCountdownTimerHour1 (int second)
{
DateTime now = rtc.now();
DateTime countdownEndHour = now + TimeSpan (0,0,0, second);
}
void setCountdownTimerMinute (int minute)
{
DateTime now = rtc.now();
DateTime countdownEndMinute = now + TimeSpan (0,0,0, minute);
}