#define BLYNK_TEMPLATE_ID "TMPL6oikB8vyH"
#define BLYNK_TEMPLATE_NAME "Tugas Akhir Laprak Judul 4"
#define BLYNK_AUTH_TOKEN "5LyPpuQeDB9ZOx8JNYYdS3-cpzISrH1q"
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Wokwi-GUEST";
char pass[] = "";
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int trigPin = 2;
const int echoPin = 4;
#define SOUND_VELOCITY 0.034
long duration;
int R, H, level, u;
boolean st;
void setup() {
H = 200;
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.init();
lcd.backlight();
lcd.clear();
lcd.print(" Pengukur Jarak ");
lcd.setCursor(0, 1);
lcd.print(" Blynk IoT ");
delay(3000);
lcd.clear();
lcd.print("Tunggu Koneksi..");
Blynk.begin(auth, ssid, pass);
while (!st) {
st = Blynk.connected();
delay(100);
}
lcd.clear();
lcd.print("Koneksi Sukses !");
delay(3000);
lcd.clear();
lcd.print("Jarak=");
delay(100);
}
void loop() {
Blynk.run();
u++;
if (u > 10) {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
R = duration * SOUND_VELOCITY / 2;
if (R <= 200 && R >= 10) {
lcd.setCursor(6, 0);
lcd.print(R);
lcd.setCursor(8, 0);
lcd.print(" cm ");
Blynk.virtualWrite(V0, R);
}
u = 0;
}
delay(100);
}