#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int UDS_MIN = 112;
const int UDS_MAX = 23391;
const int D_MIN = 2;
const int D_MAX = 400;
int echoPin = 2;
int trigPin = 3;
int distance;
void setup() {
Serial.begin(9600);
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0,0);
lcd.print("Distance: ");
}
void loop() {
delay(100);
digitalWrite(trigPin, HIGH);
digitalWrite(trigPin, LOW);
distance = map(pulseIn(echoPin, HIGH), UDS_MIN, UDS_MAX, D_MIN, D_MAX);
lcd.setCursor(10,0);
lcd.print(" ");
lcd.setCursor(10,0);
lcd.print(distance);
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(distance < 50 ? "dekat" : distance < 100 ? "sedang" : distance < 200 ? "jauh" : "sangat jauh");
}