// Define Blynk
#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6RcmnAdwf"
#define BLYNK_TEMPLATE_NAME "Smart Aqurium Wokwi"
#define BLYNK_AUTH_TOKEN "3D2qbAwGf8i7ALv5CFoi__VrT_LzneHW"
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <WiFiClient.h>
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASS ""
#include <RTClib.h>
RTC_DS1307 rtc;
byte tanggal, bulan, jam, menit, detik;
int tahun;
#define SDApin = 21;
#define SCLpin = 33;
#include <ESP32Servo.h>
Servo myServo;
#define servoPin 5
#include <EEPROM.h>
byte jam1, menit1, jam2, menit2;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27, 16, 2);
void setup() {
Serial.begin(115200);
Wire.begin(SDApin, SCLpin);
Blynk.begin(BLYNK_AUTH_TOKEN, WIFI_SSID, WIFI_PASS);
EEPROM.begin(512);
jam1 = EEPROM.read(1);
menit1 = EEPROM.read(2);
jam2 = EEPROM.read(3);
menit2 = EEPROM.read(4);
Serial.println(String() + "JADWAL1: " + jam1 + ":" + menit1);
Serial.println(String() + "JADWAL2: " + jam2 + ":" + menit2);
delay(3000);
myServo.attach(servoPin, 500, 2400);
myServo.write(0);
lcd.init();
lcd.backlight();
if (!rtc.begin()) {
Serial.println("RTC Bermasalah, Silakan cek Koneksi");
Serial.flush();
abort();
}
}
void loop() {
Blynk.run();
DateTime now = rtc.now();
tanggal = now.day();
bulan = now.month();
tahun = now.year();
jam = now.hour();
menit = now.minute();
detik = now.second();
Serial.println(String() + tanggal + "-" + bulan + "-" + tahun );
Serial.println(String() + jam + ":" + menit + ":" + detik);
Serial.println();
lcd.setCursor(0, 0);
lcd.print(String() + tanggal + "-" + bulan + "-" + tahun + " ");
lcd.setCursor(0, 1);
lcd.print(String() + jam + ":" + menit + ":" + detik + " ");
//JADWAL 1
if ( (jam == jam1) && (menit == menit1) && (detik == 1) ) {
kasih_pakan();
}
//JADWAL 2
if ( (jam == jam2) && (menit == menit2) && (detik == 1) ) {
kasih_pakan();
}
}