#define BLYNK_PRINT Serial
#define BLYNK_TEMPLATE_ID "TMPL626rzVyXe"
#define BLYNK_TEMPLATE_NAME "CobaJarak"
#define BLYNK_AUTH_TOKEN "1kM8JRZoU0cmVXx30paJ-SU78cKVJi8k"
#include <BlynkSimpleEsp32.h>
#include <WiFi.h>
#include <WiFiClient.h>
#define trigPin 27
#define echoPin 26
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
WidgetLCD lcd(V1);
void setup() {
// Inisialisasi komunikasi Serial dan pin
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// Inisialisasi koneksi Blynk
Blynk.begin(auth, ssid, pass);
// Menyiapkan LCD
lcd.clear();
lcd.print(3, 0, "Jarak cm");
}
void loop() {
long duration, distance;
// Trigger pulse untuk sensor ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(3);
digitalWrite(trigPin, HIGH);
delayMicroseconds(12);
digitalWrite(trigPin, LOW);
// Mengukur durasi pulse
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak dalam cm
distance = (duration / 2) / 29.1;
// Menampilkan jarak di Serial Monitor
Serial.print(distance);
Serial.println(" cm");
// Menampilkan jarak di LCD
// lcd.clear(); // Menghapus layar setiap kali untuk memperbarui jarak
// lcd.print(0, 0, "Jarak:");
// lcd.print(7, 0, String(distance) + " cm"); // Menampilkan jarak dengan format "Jarak: (distance) cm"
// Mengirim data ke Blynk
Blynk.virtualWrite(V1, String("Jarak: ") + String(distance) + " cm");
// Menjalankan fungsi Blynk
Blynk.run();
// Delay sebelum mengukur jarak lagi
delay(3500);
}