#include "RTClib.h"
RTC_DS3231 rtc;
char daysOfTheWeek[7][12] = {"Ahad", "Senin", "Selasa", "Rabu", "Kamis", "Jum'at", "Sabtu"};
int jam, menit, detik;
int tanggal, bulan, tahun;
String hari;
#define buzzer 6
#define led1 7
#include <Servo.h>
//#define trigPin 12
//#define echoPin 11
Servo servo;
int sound = 250;
#include <LiquidCrystal_I2C.h>
const int col = 16;
const int row = 4;
LiquidCrystal_I2C lcd(0x27,col,row);
int posisi =0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(buzzer, OUTPUT);
lcd.init();
lcd.backlight();
lcd.clear();
Serial.begin (9600);
//pinMode(trigPin, OUTPUT);
//pinMode(echoPin, INPUT);
servo.attach(9);
// rtc
// Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("Couldn't find RTC");
Serial.flush();
while (1) delay(10);
}
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
// rtc.adjust(DateTime(2023, 12, 2, 3, 26, 0));
}
void loop() {
//lcd
lcd.setCursor(0,1);
//lcd.print("benda dekat 10 cm");
lcd.print(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
lcd.setCursor(0,2);
lcd.print(String() + jam + ":" + menit + ":" + detik);
//lcd
//lcd.clear();
// rtc
DateTime now = rtc.now();
jam = now.hour();
menit = now.minute();
detik = now.second();
tanggal = now.day();
bulan = now.month();
tahun = now.year();
hari = daysOfTheWeek[now.dayOfTheWeek()];
Serial.println(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
Serial.println(String() + jam + "-" + menit + "-" + tahun);
Serial.println();
delay(1000);
//rtc
//kondisi
if(jam== 3 & menit == 26 & detik == 8){
digitalWrite(led1, HIGH);
tone(buzzer,5);
jlanservo(2);
noTone(buzzer);
}
// setup servo
}
void jlanservo(int jumlah) {
for ( int i = 1; i <= jumlah; i++){
servo.write(90);
delay(3000);
servo.write(0);
delay(500);
}
}
//kondisi