#define BLYNK_TEMPLATE_ID "TMPL6xxHPEtRT"
#define BLYNK_TEMPLATE_NAME "pest control"
#define BLYNK_AUTH_TOKEN "C-vVAHXMb5aJwxJ4Jzndet-Tq5TSFcFD"
#define BLYNK_PRINT Serial
#define ECHO_PIN 12
#define TRIG_PIN 13
#define BUZZ_PIN 15
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
int volume_pitch[] = {0, 50, 100, 150, 200, 250, 300, 350, 400};
int volume;
BlynkTimer timer;
BLYNK_WRITE(V0){
int pin_value = param.asInt();
volume = volume_pitch[pin_value];
}
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Hello, ESP32!");
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZ_PIN, OUTPUT);
Blynk.begin(auth, ssid, pass);
}
long readUltrasonicDistance()
{
// Start a new measurement:
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
// Read the result:
float duration = pulseIn(ECHO_PIN, HIGH);
return duration/58;
}
void loop() {
// put your main code here, to run repeatedly:
delay(100); // this speeds up the simulation
// Serial.println(readUltrasonicDistance());
float distance = readUltrasonicDistance();
Blynk.run();
timer.run();
if(distance < 200) {
tone(BUZZ_PIN, volume, 100);
Serial.println("Dekat");
Blynk.virtualWrite(V1, "ADA");
}else{
noTone(BUZZ_PIN);
Serial.println("Jauh");
Blynk.virtualWrite(V1, "TIDAK ADA");
}
}