#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// Deklarasi pin untuk sensor ultrasonik
const int trigPin = 9;
const int echoPin = 10;
// Deklarasi objek LCD I2C
LiquidCrystal_I2C lcd(0x27, 16, 2);
void setup() {
// Mengatur pin trigPin sebagai output dan echoPin sebagai input
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
Serial.println ("Iki jarake");
// Menginisialisasi LCD I2C
lcd.init();
// Menampilkan pesan selamat datang pada LCD
lcd.backlight();
lcd.print("Sensor ultra");
}
void loop() {
// Mengirimkan sinyal ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Menerima waktu tiba kembali sinyal ultrasonik
long duration = pulseIn(echoPin, HIGH);
// Menghitung jarak berdasarkan waktu tiba kembali sinyal ultrasonik
int distance = duration * 0.0344 / 2;
Serial.print (distance);
Serial.print (" cm");
Serial.println ();
// Menampilkan jarak pada LCD I2C
lcd.setCursor(10, 1);
lcd.print(distance);
lcd.print(" cm");
// Menunggu 500 milidetik sebelum mengukur lagi
delay(500);
}