#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int trig_pin = 9;
int echo_pin = 8;
long echotime;
float Jarak;
const int Merah = 1;
const int Kuning = 2;
const int Hijau = 3;
const int SpeakerBuzzer = 0;
void setup()
{
lcd.begin (16, 2);
pinMode (trig_pin, OUTPUT);
pinMode (echo_pin, INPUT);
digitalWrite (trig_pin, LOW);
pinMode (Merah, OUTPUT);
pinMode (Kuning, OUTPUT);
pinMode (Hijau, OUTPUT);
pinMode (SpeakerBuzzer, OUTPUT);
}
void loop()
{
lcd.setCursor(0, 0);
lcd.print("Sensor Jarak :");
digitalWrite (trig_pin, HIGH);
delayMicroseconds (10);
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.setCursor(0,1);
lcd.print (Jarak);
lcd.print("cm");
delay(500);
if (Jarak > 100 && Jarak < 200)
{
digitalWrite (Hijau, HIGH);
}
else if (Jarak > 50 && Jarak < 100)
{
digitalWrite (Kuning, HIGH);
digitalWrite (Hijau, LOW);
digitalWrite (SpeakerBuzzer, HIGH); delay(500);
digitalWrite (Kuning, LOW); digitalWrite (Hijau, LOW);
digitalWrite (SpeakerBuzzer, LOW); delay(500);
}
else if (Jarak < 50)
{
digitalWrite (Merah, HIGH);
digitalWrite (Hijau, LOW);
digitalWrite (SpeakerBuzzer, HIGH);
delay (200); digitalWrite (Merah, LOW);
digitalWrite (Hijau, LOW);
digitalWrite (SpeakerBuzzer, LOW);
delay (100);
}
}