#define BLYNK_TEMPLATE_ID "TMPL6gI2qw01V"
#define BLYNK_TEMPLATE_NAME "LEDcherry"
#define BLYNK_AUTH_TOKEN "qhj9yCn4JbMixzPki9Jr7uoG51G5g0vt"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
const int trigPin = 13;
const int echoPin = 12;
int ledmerah = 2;
int ledkuning = 4;
long durasi;
int jarak;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "qhj9yCn4JbMixzPki9Jr7uoG51G5g0vt";
// Your WiFi credentials.
// Set password to "" for open networks.
const char *ssid = "Wokwi-GUEST";
const char *pass = "";
void LED(){
if (jarak >= 10 && jarak < 100){
digitalWrite(ledmerah, HIGH);
delay(100);
digitalWrite(ledmerah, LOW);
delay(100);}
else{
digitalWrite(ledkuning, HIGH);
delay(100);
digitalWrite(ledkuning, LOW);
delay(100);
}
}
WidgetLED led(V1);
void blinkLedWidget()
{
if (jarak >= 10 && jarak < 100){
led.off();
Serial.println("LED on V1: off");
} else {
led.on();
Serial.println("LED on V1: on");
}
}
void sendJarak() {
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(V2, jarak); // Mengirim data ke widget Blynk
}
void setup() {
// Debug console
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledmerah, OUTPUT);
pinMode(ledkuning, OUTPUT);
Serial.begin(115200);
delay(10);
Blynk.begin(auth, ssid, pass);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
durasi = pulseIn(echoPin, HIGH);
jarak = durasi * 0.034 / 2;
Serial.print("Jarak: ");
Serial.println(jarak);
delay(200);
blinkLedWidget();
sendJarak();
LED();
Blynk.run();
}