#define BLYNK_TEMPLATE_ID "TMPLQLM0H2bF"
#define BLYNK_DEVICE_NAME "Pakanikan"
#define BLYNK_AUTH_TOKEN "-5f-qdCCbrAWgLo6ehl0ZAXhtTSvO8Sq"
//#include <Wire.h>
#define BLYNK_PRINT Serial//kode blynk
#include <BlynkSimpleEsp32.h>//kode blynk
#include <LiquidCrystal_I2C.h>
#include "RTClib.h"
//#include <Servo.h> (perintah ini buat di arduino uno r3)
#include <ESP32Servo.h>
#include <WiFi.h>
Servo myservo;
RTC_DS1307 rtc;
char daysOfTheWeek[7][12] = {"MINGGU", "SENIN", "SELASA", "RABU", "KAMIS", "JUM'AT", "SABTU"};
LiquidCrystal_I2C lcd(0x27, 16, 2);
char auth[] = BLYNK_AUTH_TOKEN; //Enter the Auth code which was send by Blink
char ssid[] = "Wokwi-GUEST"; //Enter your WIFI Name
char pass[] = ""; //Enter your WIFI Password
void setup() {
myservo.attach(13); //kode servo
Blynk.begin(auth, ssid, pass);//kode blink
myservo.write(0);//kode servo
Serial.begin(9600);//kode servo
Wire.begin();
//if (! rtc.begin())
//{
// Serial.println("Couldn't find RTC");
// Serial.flush(); === > program untuk hapus jam ternyata
// abort();
if (! rtc.begin()) {
Serial.println("RTC tidak terhubung, Cek kembali wiring!");
while (1);
}
// if (! rtc.isrunning()) {
// Serial.println("RTC tidak bekerja, Setel ulang waktu!"); //program ketika dipasang di board sebenarnya
// untuk setting jam saat ini melalui program arduino, ketika baterai habis dilepas atau setting ulang
// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
//}
//Serial.println("Test modul RTC DS1307 ...");
lcd.init();
lcd.backlight();
lcd.print("yes");
}
void loop() {
DateTime now = rtc.now();
Serial.print(now.hour());
Serial.print(":");
Serial.print(now.minute());
Serial.print(":");
Serial.print(now.second());
Serial.println(" ");
lcd.setCursor(0,0);
lcd.print(now.hour());
lcd.print(":");
lcd.print(now.minute());
lcd.print(":");
lcd.print(now.second());
lcd.setCursor(12,0);
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.setCursor(0,1);
lcd.print(now.day(),DEC);
lcd.setCursor(2,1);
lcd.print("-");
lcd.setCursor(3,1);
lcd.print(now.month(),DEC);
lcd.setCursor(5,1);
lcd.print("-");
lcd.setCursor(6,1);
lcd.print(now.year(),DEC);
if ((now.hour() == 18 and now.minute() == 27 and now.second() == 0)) {
myservo.write(90);
delay(3000);
myservo.write(0);}
//delay(3000);}
Blynk.run();
}