#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd (0x27,16,2);
const int trigger = 9;
const int echo = 10;
const int led_merah = 13;
const int led_kuning = 12;
const int led_hijau = 11;
void setup() {
lcd.init();
lcd.backlight();
pinMode (trigger,OUTPUT);
pinMode (echo,INPUT);
pinMode (led_merah, OUTPUT);
pinMode (led_kuning, OUTPUT);
pinMode (led_hijau,OUTPUT);
}
void loop() {
digitalWrite(trigger,LOW);
delayMicroseconds(5);
digitalWrite(trigger, HIGH);
delayMicroseconds(13);
digitalWrite(trigger, LOW);
long duration = pulseIn(echo, HIGH);
long distance = (duration * 0.0343) /2;
Serial.print("Sensor Distance");
Serial.println(distance);
if(distance <= 100){
lcd.clear();
digitalWrite(led_merah, HIGH);
digitalWrite(led_kuning,LOW);
digitalWrite(led_hijau, LOW);
lcd.setCursor(0,0);
lcd.print("JARAK: ");
lcd.setCursor (7,0);
lcd.print (distance);
lcd.setCursor(10,0);
lcd.print ("CM");
delay(500);
}
if(distance>100&&distance<200){
lcd.clear();
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning, HIGH);
digitalWrite(led_hijau, LOW);
lcd.setCursor(0,0);
lcd.print("JARAK: ");
lcd.setCursor (7,0);
lcd.print (distance);
lcd.setCursor(11,0);
lcd.print("CM");
delay(500);
}
if(distance >= 200) {
lcd.clear();
digitalWrite(led_merah, LOW);
digitalWrite(led_kuning,LOW);
digitalWrite(led_hijau, HIGH);
lcd.setCursor(0,0);
lcd.print("JARAK: ");
lcd.setCursor (7,0);
lcd.print (distance);
lcd.setCursor(11,0);
lcd.print("CM");
delay(500);
}
}