#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include <RTClib.h>
#define buzzer 4
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2);
char namaHari[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
void setup() {
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
Wire.begin();
if (! rtc.begin())
{
Serial.println("Couldn't find RTC");
Serial.flush();
abort();
}
lcd.init();
lcd.backlight();
lcd.print("");
}
void loop()
{
DateTime now = rtc.now();
lcd.setCursor(1,0);
lcd.print(namaHari[now.dayOfTheWeek()]);
lcd.print(",");
printAngka(now.day());
lcd.print("-");
printAngka(now.month());
lcd.print("-");
printAngka(now.year());
lcd.setCursor(4,1);
printAngka(now.hour());
lcd.print(":");
printAngka(now.minute());
lcd.print(":");
printAngka(now.second());
delay(2000);
//Mensetting waktu alarm berbunyi
if (now.hour() == 13 && now.minute() == 38 ){
buzzer_on();
}
}
void printAngka(int digits){
if(digits < 10){
lcd.print('0');
lcd.print(digits);
}
else lcd.print(digits);
}
void buzzer_on() {
tone(buzzer, 10000);
delay(500);
noTone(buzzer);
//digitalWrite(buzzer, HIGH);
delay(500);
}