#define BLYNK_TEMPLATE_ID "TMPL6ICKEYfxT"
#define BLYNK_TEMPLATE_NAME "UTP IOT"
#define BLYNK_AUTH_TOKEN "6HS8WeCA-j3ULUc_U0ohtJGxigHW4Oxa"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClientSecure.h>
#include <Ultrasonic.h>
#include <BlynkSimpleEsp32.h>
#define pinled 13
#define buzzer 5
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
Ultrasonic ultrasonic(27,26);
double distance = 0;
int switchBuzzer = 0;
void myTone(int pin){
ledcAttachPin(pin,0);
ledcWriteNote(0,NOTE_C,8);
}
void myNoTone(int pin){
ledcDetachPin(pin);
}
BLYNK_WRITE(V2){
int pin_value = param.asInt();
Serial.println(pin_value);
if(pin_value==1){
switchBuzzer=1;
} else {
switchBuzzer = 0;
}
}
void sendSensor(){
delay(1000);
double distance = ultrasonic.read(CM);
switchBuzzer == 1;
if(jarak > 200){
digitalWrite(pinled, LOW);
Blynk.virtualWrite(V1, 0);
myNoTone(buzzer);
Serial.println("Aman");
}
else if(jarak < 200){
digitalWrite(pinled, HIGH);
Blynk.virtualWrite(V1, 1);
myTone(buzzer);
Serial.println("Ada hama dalam radius kurang dari 2 meter");
Blynk.logEvent("notifikasi", "Ada hama dalam radius kurang dari 2 meter");
}
else{
Serial.println("Tidak ada hama!");
Blynk.virtualWrite(V1, 0);
myNoTone(buzzer);
}
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(pinled, OUTPUT);
pinMode(buzzer, OUTPUT);
delay(500);
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();
}