#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
RTC_DS1307 rtc;
#define tombol1 5
#define tombol2 6
#define tombol3 7
#define led 13
int menu,jam,menit,detik,tanggal,bulan,tahun;
char tampil[20];
void setup() {
lcd.backlight(); lcd.init();
lcd.setCursor(0,0); lcd.print(" JAM DIGITAL ");
if(rtc.begin()) {
lcd.setCursor(0,1); lcd.print(" RTC OKE ");
}
else {
lcd.setCursor(0,1); lcd.print(" RTC ERROR ");
}
delay(2000);
pinMode(tombol1, INPUT_PULLUP);
pinMode(tombol2, INPUT_PULLUP);
pinMode(tombol3, INPUT_PULLUP);
pinMode(led,OUTPUT);
}
void loop() {
DateTime now = rtc.now();
jam = now.hour();
menit = now.minute();
detik = now.second();
tanggal = now.day();
bulan = now.month();
tahun = now.year();
if(digitalRead(tombol2)==LOW) {
menu = menu + 1;
delay(300);
}
if(menu==0) {
lcd.setCursor(0,0); lcd.print(" JAM DIGITAL ");
sprintf(tampil,"JAM %02d:%02d:%02d WIB",jam,menit,detik);
lcd.setCursor(0,1); lcd.print(tampil);
}
else if(menu==1) {
lcd.setCursor(0,0); lcd.print(" SETTING JAM ");
lcd.setCursor(0,1); lcd.print("Jam = "); lcd.print(jam);
lcd.print(" ");
}
else if(menu==2) {
lcd.setCursor(0,0); lcd.print(" SETTING MENIT ");
lcd.setCursor(0,1); lcd.print("Menit = "); lcd.print(menit);
lcd.print(" ");
}
else if(menu==3) {
lcd.setCursor(0,0); lcd.print(" SETTING TANGAL");
lcd.setCursor(0,1); lcd.print("Tanggal = "); lcd.print(tanggal);
lcd.print(" ");
}
else if(menu==4) {
lcd.setCursor(0,0); lcd.print(" SETTING BULAN ");
lcd.setCursor(0,1); lcd.print("Bulan = "); lcd.print(bulan);
lcd.print(" ");
}
else if(menu==5) {
lcd.setCursor(0,0); lcd.print(" SETTING TAHUN ");
lcd.setCursor(0,1); lcd.print("Tahun = "); lcd.print(tahun);
lcd.print(" ");
}
else menu=0;
}