#include <LiquidCrystal.h>
// Pin LCD
const int rs = 12; // Register Select
const int en = 14; // Enable
const int d4 = 33; // Data pin 4
const int d5 = 32; // Data pin 5
const int d6 = 25; // Data pin 6
const int d7 = 26; // Data pin 7
// Pin HC-SR04
const int trigPin = 17; // Pin TRIG
const int echoPin = 18; // Pin ECHO
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
Serial.begin(115200);
lcd.begin(16, 2); // Inisialisasi LCD 16x2
pinMode(trigPin, OUTPUT); // Set TRIG sebagai output
pinMode(echoPin, INPUT); // Set ECHO sebagai input
}
void loop() {
// Mengukur jarak menggunakan HC-SR04
long duration, distance;
// Mengirim pulsa trigger
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca waktu dari ECHO
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak (cm)
distance = (duration / 2) / 29.1; // Jarak dalam cm
// Menampilkan informasi di LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(distance); // Menampilkan jarak
lcd.print(" cm"); // Menampilkan satuan cm
Serial.printf("Distance: %d cm\n", distance);
delay(500); // Tunggu sebelum pembaruan berikutnya
}