#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
#define PIN_TRIG 3
#define PIN_ECHO 2
#define BLUE_LED 7
#define GREEN_LED 8
#define YELLOW_LED 9
#define RED_LED 10
void setup() {
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("SMAN 1 TANGSEL");
lcd.setCursor(0, 1);
lcd.print("INFORMATIKA");
lcd.setCursor(0, 2);
lcd.print("CINDAI DAN KEISYA");
lcd.setCursor(0, 3);
lcd.print("KELAS X-5");
delay(2000);
lcd.clear();
}
void loop() {
// Start a new measurement:
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
// Read the result:
int duration = pulseIn(PIN_ECHO, HIGH);
int distance = ( duration / 2) / 29.1;
lcd.setCursor(0, 0);
lcd.print("Meteran Digital");
lcd.setCursor(0, 1);
lcd.print("Ultra Sonic SR04");
lcd.setCursor(0, 3);
lcd.print(String("Jarak : ")+String(distance)+String(" Cm"));
delay(200);
if(distance > 250)
{
digitalWrite(10, HIGH);
delay(200);
digitalWrite(10, LOW);
}
else if(distance >= 151)
{
digitalWrite(9, HIGH);
delay(200);
digitalWrite(9, LOW);
}
else if(distance >= 75)
{
digitalWrite(8, HIGH);
delay(200);
digitalWrite(8, LOW);
}
else
{
digitalWrite(7, HIGH);
delay(200);
digitalWrite(7, LOW);
}
}