//**********BLYNK, identitas device*****************************
#define BLYNK_TEMPLATE_ID "TMPL6UkcehvUd"
#define BLYNK_TEMPLATE_NAME "TETHYS NODE"
#define BLYNK_AUTH_TOKEN "EqUZNOb1ti_0KWcXq3gtP6D4rmpmaGNG"
//**********BLYNK, library**************************************
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <WiFiClient.h>
//***********SERVO, library************************************
#include <ESP32Servo.h>
Servo servo;
int pos=0;
//**********BLYNK, ssid, pass, token****************************
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
//**********BLYNK, kendali pakan ikan***************************
BLYNK_WRITE(V0)
{
int value=param.asInt();
servo.write(value);
}
//**********BLYNK, kendali air masuk****************************
BLYNK_WRITE(V1)
{
int value=param.asInt();
digitalWrite(2, value);
}
//**********BLYNK, kendali air keluar***************************
BLYNK_WRITE(V2)
{
int value=param.asInt();
digitalWrite(4, value);
}
//*********BLYNK, syncron data terakhir saat koneksi tersambung*
BLYNK_CONNECTED() {
Blynk.syncAll();
}
//*********Definisi Pin*****************************************
#define AirMasuk 2
#define AirKeluar 4
bool lastWiFiStatus = false;
bool lastBlynkStatus = false;
void setup() {
//********SERVO, setting pin*********************************
servo.attach(15);
pinMode(AirMasuk, OUTPUT);
pinMode(AirKeluar, OUTPUT);
//********BLYNK, mulai koneksi ke blynk***********************
Blynk.begin(auth, ssid, pass);
}
void loop() {
// Cek koneksi WiFi
bool currentWiFiStatus = WiFi.status() == WL_CONNECTED;
if (currentWiFiStatus != lastWiFiStatus) {
if (currentWiFiStatus) {
Serial.println("✅ WiFi Terhubung");
} else {
Serial.println("❌ WiFi Tidak Terhubung");
}
lastWiFiStatus = currentWiFiStatus;
}
// Coba connect ke Blynk jika WiFi tersedia
if (currentWiFiStatus) {
Blynk.run();
bool currentBlynkStatus = Blynk.connected();
if (currentBlynkStatus != lastBlynkStatus) {
if (currentBlynkStatus) {
Serial.println("✅ Blynk Terhubung");
} else {
Serial.println("❌ Blynk Tidak Terhubung");
}
lastBlynkStatus = currentBlynkStatus;
}
}
delay(1000); // Delay agar tidak terlalu cepat nge-loop
}