#define BLYNK_TEMPLATE_ID "TMPL6NanSot4U"
#define BLYNK_TEMPLATE_NAME "Muhammad Erandu Fasha Ibrahim"
#define BLYNK_AUTH_TOKEN "OXI-YW2umc5pXgTffFj-4_Fw51jqxZ6W"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "OXI-YW2umc5pXgTffFj-4_Fw51jqxZ6W";
const char *ssid = "Wokwi-GUEST";
const char *pass = "";
int hijau = 5;
int merah = 18;
const int trigPin = 2;
const int echoPin = 15;
#define KecepatanSuara 0.034
long durasi;
float jarak;
void LED(){
if (jarak <10){
digitalWrite(merah, HIGH);
delay(100);
digitalWrite(merah, LOW);
delay(100);}
else{
digitalWrite(hijau, HIGH);
delay(100);
digitalWrite(hijau, LOW);
delay(100);}
}
WidgetLED led(V5);
void blinkLedWidget()
{
if (jarak <100) {
led.off();
Serial.println("LED on V5: off");
} else {
led.on();
Serial.println("LED on V5: on");
}
}
void sendDistance() {
long durasi, jarak;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durasi = pulseIn(echoPin, HIGH);
jarak = (durasi / 2) / 29.1; // Konversi waktu menjadi jarak dalam sentimeter
Blynk.virtualWrite(V0, jarak); // Mengirim data ke widget Blynk
}
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(merah, OUTPUT);
pinMode(hijau, OUTPUT);
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durasi = pulseIn(echoPin, HIGH);
jarak = durasi * KecepatanSuara/2;
Serial.print("jarak (cm): ");
Serial.println(jarak);
delay(1000);
blinkLedWidget();
sendDistance();
LED();
Blynk.run();
}