#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trig_pin = 8;
int echo_pin = 9;
long echotime;
float Jarak;
const int merah = 12;
const int kuning = 10;
const int hijau = 8;
void setup()
{
lcd.init();
lcd.backlight();
pinMode (trig_pin, OUTPUT);
pinMode (echo_pin, INPUT);
pinMode(merah, OUTPUT);
pinMode(kuning, OUTPUT);
pinMode(hijau, OUTPUT);
}
void loop()
{
digitalWrite (trig_pin, HIGH);
delayMicroseconds (10);
digitalWrite (trig_pin, LOW);
echotime= pulseIn(echo_pin, HIGH);
Jarak = 0.0001*((float)echotime*340.0)/2.0;
lcd.clear();
lcd.setCursor (0,0);
lcd.println ("Jarak : ");
lcd.print(Jarak);
if (Jarak < 11)
{
digitalWrite(merah, HIGH);
digitalWrite(kuning, LOW);
digitalWrite(hijau, LOW);
}
else if (Jarak > 11 && Jarak < 20)
{
digitalWrite(merah, LOW);
digitalWrite(kuning, HIGH);
digitalWrite(hijau, LOW);
}
else if (Jarak > 20)
{
digitalWrite(merah, LOW);
digitalWrite(kuning, LOW);
digitalWrite(hijau, HIGH);
}
delay(1000);
}