#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define TRIG_PIN 2
#define ECHO_PIN 3
const int merah = 22;
const int kuning = 23;
const int hijau = 24;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(merah, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(hijau, OUTPUT);
lcd.begin(16,2);
lcd.init();
lcd.backlight();
}
void loop() {
long durasi, jarak;
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
durasi = pulseIn(ECHO_PIN, HIGH);
jarak = durasi * 0.034 / 2;
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(jarak);
lcd.print("cm");
if (jarak <= 5) {
digitalWrite(merah, HIGH);
digitalWrite(kuning, LOW);
digitalWrite(hijau, LOW);
} else if (jarak > 5 && jarak <= 15) {
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
} else {
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
}
delay(500);
}