#include "RTClib.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
#define tombol1 2
#define tombol2 3
#define led1 8
int jam,menit,detik,tgl,bulan,tahun;
int menu;
char buff[33];
void setup() {
pinMode(tombol1, INPUT_PULLUP);
pinMode(tombol2, INPUT_PULLUP);
pinMode(led1,OUTPUT);
lcd.init(); lcd.backlight();
lcd.setCursor(0,0); lcd.print(" JAM DIGITAL ");
lcd.setCursor(0,1);
if (!rtc.begin()) lcd.print("RTC ERRORR");
else lcd.print("RTC Okeeee");
delay(1000); lcd.clear();
}
void loop() {
if(digitalRead(tombol1)==LOW) {
menu = menu+1; delay(300);
}
if(menu==0) {
DateTime now = rtc.now();
jam = now.hour();
menit = now.minute();
detik = now.second();
tgl = now.day();
bulan = now.month();
tahun = now.year();
sprintf(buff,"JAM %02d:%02d:%02d WIB",jam,menit,detik);
lcd.setCursor(0,0); lcd.print(buff); delay(300);
sprintf(buff,"JAM %02d %02d %02d WIB",jam,menit,detik);
lcd.setCursor(0,0); lcd.print(buff); delay(300);
}
else if(menu==1) {
lcd.setCursor(0,0); lcd.print(" SETTING JAM ");
sprintf(buff,"JAM %02d:%02d:%02d WIB",jam,menit,detik);
lcd.setCursor(0,1); lcd.print(buff);
}
else if(menu==2) {
lcd.setCursor(0,0); lcd.print(" SETTING MENIT ");
sprintf(buff,"JAM %02d:%02d:%02d WIB",jam,menit,detik);
lcd.setCursor(0,1); lcd.print(buff);
}
else if(menu==3) {
lcd.setCursor(0,0); lcd.print(" SETTING TGL ");
sprintf(buff," TGL %02d-%02d-%04d ",tgl,bulan,tahun);
lcd.setCursor(0,1); lcd.print(buff);
}
else {
menu=0;
}
}