#define BLYNK_TEMPLATE_ID "TMPL6JLMuTTEZ"
#define BLYNK_TEMPLATE_NAME "Hama"
#define BLYNK_AUTH_TOKEN "4iuQB_pnTeHsjkRx6P1TrDrZJa8el5Y-"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include <Ultrasonic.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
Ultrasonic ultrasonic(16, 17);
int led = 13;
int buzzer = 14;
double distance = 0;
int switchBuzz = 0;
void myTone(int pin){
ledcAttachPin(pin, 0);
ledcWriteNote(0, NOTE_C, 5);
}
void myNoTone(int pin){
ledcDetachPin(pin);
}
BLYNK_WRITE (V2){
int pin_value = param.asInt();
Serial.println(pin_value);
if (pin_value == 1){
switchBuzz = 1;
} else {
switchBuzz = 0;
}
}
void sendSensor(){
delay(1000);
double distance = ultrasonic.read(CM);
Blynk.virtualWrite(V1, distance);
Serial.print("jarak : ");
Serial.print(distance);
Serial.println(" CM");
if (distance < 200){
if (switchBuzz == 1){
digitalWrite(led, HIGH);
Serial.println("Ada Hama!!");
Blynk.virtualWrite (V0, 1);
myTone(buzzer);
Blynk.logEvent("ALERT!!", "SEGERA CEK KEBUN KARENA ADA HAMA");
}else{
digitalWrite(led, LOW);
Serial.println("notif off");
Blynk.virtualWrite (V0, 0);
myNoTone(buzzer);
}
} else {
digitalWrite(led, LOW);
Serial.println("Tidak ada hama.");
Blynk.virtualWrite (V0, 0);
myNoTone(buzzer);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(led,OUTPUT);
pinMode(buzzer,OUTPUT);
delay(1000);
Blynk.begin(auth, ssid, pass);
timer.setInterval(2500L, sendSensor);
}
void loop() {
// put your main code here, to run repeatedly:
delay(1000); // this speeds up the simulation
Blynk.run();
sendSensor();
timer.run();
}