#define BYLNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL6-xHKLkC8"
#define BLYNK_TEMPLATE_NAME "rex"
#define BLYNK_AUTH_TOKEN "8CpR2X3SRmoRd0_SlklWgEgGgN2FwtLt"
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include "time.h"
#include <ESP32Servo.h>
Servo myServo;
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 7*3600;
const int daylightOffset_sec = 3600;
char auth[]= BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
const int trigPin = 13;
const int echoPin = 12;
const int ledPin = 2;
int servoPin = 5;
void setup() {
Serial.begin(9600);
Serial.println("Memulai program");
myServo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Blynk.begin(auth,ssid,pass,"blynk.cloud", 8080);
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration * 343) / 20000;
//Serial.print("Distance: ");
//Serial.print(distance);
//Serial.println(" cm");
if (distance > 10) {
Blynk.virtualWrite(V1, "Pakan Ikan Habis");
Blynk.virtualWrite(V0, HIGH);
digitalWrite(ledPin, HIGH);
} else {
Blynk.virtualWrite(V0, LOW);
digitalWrite(ledPin, LOW);
}
//delay(5000);
struct tm timeinfo;
if(!getLocalTime(&timeinfo)){
Serial.println("failed to obtain time");
return;
}
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
if (timeinfo.tm_hour == 07 && timeinfo.tm_min == 00 && timeinfo.tm_sec == 00) {
myServo.write(180);
delay(5000);
myServo.write(90);
delay(1000);
}
Blynk.run();
}