#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
#include "RTClib.h"
RTC_DS1307 rtc;
int jam,menit,detik,hari,tanggal,bulan,tahun;
char buf [33];
char nama_hari[7][7] = {"Minggu","Senin","Sel","Rabu","Kamis","Jumat","Sabtu"};
int alarm_jam1=04;
int alarm_menit1=27;
int alarm_jam2=11;
int alarm_menit2=57;
int alarm_jam3=15;
int alarm_menit3=24;
int alarm_jam4=18;
int alarm_menit4=12;
int alarm_jam5=19;
int alarm_menit5=28;
void setup() {
Serial.begin(9600);
pinMode(10, OUTPUT);
lcd.init();
lcd.backlight();
rtc.begin();
lcd.setCursor(0,0);
lcd.print(" kelompok B1 ");
lcd.setCursor(0,1);
lcd.print(" TELEKOMUNIKASI 3B ");
delay(1000);
lcd.clear();
}
void loop() {
DateTime now = rtc.now();
jam = now.hour();
menit = now.minute();
detik = now.second();
hari = now.dayOfTheWeek();
tanggal = now.day();
bulan = now.month();
tahun = now.year();
sprintf (buf, "%s,%02d-%02d-%d", nama_hari[hari],tanggal,bulan,tahun);
lcd.setCursor(0,0);
lcd.print(buf);
Serial.println(buf);
sprintf (buf, " %02d:%02d:%02d WIB", jam, menit, detik);
lcd.setCursor(0,1);
lcd.print(buf);
Serial.println(buf);
delay(1000);
if (now.hour() == alarm_jam1 && now.minute() == alarm_menit1){
lcd.clear();
tone(10,500);
lcd.setCursor(0, 0);
lcd.print(" BANGUN ");
lcd.setCursor(0, 1);
lcd.print(" 04.25 WIB ");
delay(2000);
lcd.clear();
{
lcd.setCursor(0,0);
lcd.print(" WAKTU SHOLAT ");
lcd.setCursor(0,1);
lcd.print(" SHUBUH ");
noTone(10);
delay(5000);
}
}
else
{
noTone(10);
}
if (now.hour() == alarm_jam2 && now.minute() == alarm_menit2){
lcd.clear();
tone(10,500);
lcd.setCursor(0, 0);
lcd.print(" SIANG ");
lcd.setCursor(0, 1);
lcd.print(" 11.57 WIB ");
delay(2000);
lcd.clear();
{
lcd.setCursor(0,0);
lcd.print(" WAKTU SHOLAT ");
lcd.setCursor(0,1);
lcd.print(" DHUZUR ");
noTone(10);
delay(5000);
}
}
else
{
noTone(10);
}
if (now.hour() == alarm_jam3 && now.minute() == alarm_menit3){
lcd.clear();
tone(10,500);
lcd.setCursor(0, 0);
lcd.print(" SORE ");
lcd.setCursor(0, 1);
lcd.print(" 15.24 WIB ");
delay(2000);
lcd.clear();
{
lcd.setCursor(0,0);
lcd.print(" WAKTU SHOLAT ");
lcd.setCursor(0,1);
lcd.print(" ASAR ");
noTone(10);
delay(5000);
}
}
else
{
noTone(10);
}
if (now.hour() == alarm_jam4 && now.minute() == alarm_menit4){
lcd.clear();
tone(10,500);
lcd.setCursor(0, 0);
lcd.print(" MAGRIB ");
lcd.setCursor(0, 1);
lcd.print(" 18.12 WIB ");
delay(2000);
lcd.clear();
{
lcd.setCursor(0,0);
lcd.print(" WAKTU SHOLAT ");
lcd.setCursor(0,1);
lcd.print(" MAGRIB ");
noTone(10);
delay(5000);
}
}
else
{
noTone(10);
}
if (now.hour() == alarm_jam5 && now.minute() == alarm_menit5){
lcd.clear();
tone(10,500);
lcd.setCursor(0, 0);
lcd.print(" MALAM ");
lcd.setCursor(0, 1);
lcd.print(" 19.28 WIB ");
delay(2000);
lcd.clear();
{
lcd.setCursor(0,0);
lcd.print(" WAKTU SHOLAT ");
lcd.setCursor(0,1);
lcd.print(" ISYA ");
noTone(10);
delay(5000);
}
}
else
{
noTone(10);
}
}