#define BLYNK_TEMPLATE_ID "TMPL6MXh37_bX"
#define BLYNK_TEMPLATE_NAME "job 4"
#define BLYNK_AUTH_TOKEN "EyVzaSksIz5zLlGTqjPcKirGY4G2A5py"
#define BLYNK_PRINT Serial
#define ledRed 13
#define ledYellow 12
#define ledGreen 14
#define pinEcho 2
#define pinTrigger 15
//Libraries
#include <WiFi.h> //deklarasi library WiFi.h
#include <WiFiClient.h> // deklarasi library WiFiClient.h
#include <BlynkSimpleEsp32.h> // deklarasi library blynk
BlynkTimer timer; // merubah perintah BlynkTimer menjadi "timer"
char auth[] = "EyVzaSksIz5zLlGTqjPcKirGY4G2A5py";
char ssid[] = "Wokwi-GUEST"; //ssid wifi yang digunakan
char pass[] = ""; //password wifi yang digunakan
void setup(){
//put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Selamat datang pada sistem tandon air otomatis");
Blynk.begin(auth, ssid, pass); //inisialisasi komunikasi dengan server b]
//timer.setInterval(2000L); //interval pengiriman senData dari mikrokont
pinMode(pinEcho, INPUT);
pinMode(pinTrigger, OUTPUT);
pinMode(ledRed, OUTPUT);
pinMode(ledYellow, OUTPUT);
pinMode(ledGreen, OUTPUT);
}
float readUltrasonic(){
digitalWrite(pinTrigger, LOW);
delayMicroseconds(2);
//trigger PIN dengan sinyal HIGH selama 10micro detik
digitalWrite(pinTrigger, HIGH);
delayMicroseconds(10);
digitalWrite(pinTrigger, LOW);
//echo PIN dengan sinyal HIGH
int duration = pulseIn(pinEcho, HIGH);
float dist_cm = duration * 0.034 / 2;
return dist_cm;
//float dist_inch = duration * 0.0133 / 2;
}
void loop(){
//put your main code here, to run repeatedly:
float waterLevel = readUltrasonic();
Serial.println("Batas Ketinggian Air adalah: ");
Serial.println(waterLevel);
if (waterLevel > 150) {
digitalWrite(ledGreen, HIGH);
digitalWrite(ledYellow, LOW);
digitalWrite(ledRed, LOW);
Blynk.virtualWrite(V0, waterLevel);
}
else if (waterLevel >100 && waterLevel <=150){
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledYellow, LOW);
Blynk.virtualWrite(V0, waterLevel);
}
else if(waterLevel <=50) {
digitalWrite(ledRed, HIGH);
digitalWrite(ledGreen, LOW);
digitalWrite(ledYellow, LOW);
}
Blynk.run();
}