#include <LCD-I2C.h> //memakai library LCD I2C
LCD_I2C lcd(0x27, 16, 2); //mengatur setingan buat LCD
#define pinTrig 2 //pin Trigger sensor ultrasonik
#define pinEcho 4 //pin Echo sensor ultrasonik
#define pinLED 5 //pin untuk LED
//fungsi untuk membaca jarak obyek yang dideteksi sensor
float getDistance(int trig,int echo) {
pinMode(trig,OUTPUT);
digitalWrite(trig,LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
pinMode(echo,INPUT);
return pulseIn(echo, HIGH)/58.0;
}
void setup() {
Serial.begin(115200); //mengaktifkan serial monitor
//mengaktifkan LCD Display
lcd.begin(); //memulai LCD
lcd.display(); //agar tampilan LCD tampil
lcd.backlight(); //menyalakan backlight
pinMode(pinLED, OUTPUT); //menyalakan pinLED
}
void loop() {
lcd.clear(); //membersihkan layar
lcd.setCursor(0,0); //set posisi di kolom 0 baris 0
lcd.print("namakamu"); //tulis dilayar
delay(1000);
//baca jarak obyek yang dideteksi sensor ultrasonik
float jarak = getDistance(pinTrig, pinEcho);
//tampilkan jarak obyek ke LCD
lcd.setCursor(1,0);
lcd.print("jarak (cm) = ");
lcd.setCursor(1,1);
lcd.print(jarak);
//cek apakah ada obyek pada jarak <= 200 cm
if (jarak <= 200) {
//ya ada obyek, nyalakan LED 500 milidetik
digitalWrite(pinLED, HIGH); delay(500);
} else { //tidak ada obyek, matikan LED
digitalWrite(pinLED, LOW);
}
}