// IDENTITAS DEVICE
#define BLYNK_TEMPLATE_ID "TMPL6XrAorJpz"
#define BLYNK_TEMPLATE_NAME "Project"
#define BLYNK_AUTH_TOKEN "8ZFlUPN1uSEJ8vfePGFCKquApp7HAYVp"
// LIBRARY
#include <WiFi.h>
#include <BlynkSimpleEsp32.h>
#include <ESP32Servo.h>
// PERINTAH DAN PIN YANG DIGUNAKAN
#define BLYNK_PRINT Serial
#define SERVO_PIN 16
#define echoPin 12
#define trigPin 13
// VARIABEL
Servo servoku;
// SSID, PASS, TOKEN
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
BlynkTimer timer;
BLYNK_WRITE(V1){
int tekan = param.asInt();
if(tekan==1){
servoku.write(90);
}
else {
servoku.write(0);
}
}
// KIRIM NILAI SENSOR
void sendSensor()
{
// BACA SENSOR JARAK
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int durasi = pulseIn(echoPin, HIGH);
float jarak = durasi * 0.034 /2;
// SERIAL MONITOR DATA JARAK
Serial.print(jarak);
Serial.println(" cm");
// KIRIM NILAI SENSOR
Blynk.virtualWrite(V0, jarak);
}
void setup() {
// SERIAL MONITOR SETTING
Serial.begin(115200);
// SENSOR SETTING PIN
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
// KONEKSI BLYNK
Blynk.begin(auth, ssid, pass);
servoku.attach(SERVO_PIN);
timer.setInterval(1000, sendSensor);
}
void loop() {
// MENJALANKAN BLYNK
Blynk.run();
timer.run();
}