#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
int echoPin = 6;
int trigPin = 5;
int ledR = 2;
int ledY = 3;
int ledG = 4;
void setup() {
pinMode(echoPin, INPUT);
pinMode(trigPin, OUTPUT);
pinMode(ledR, OUTPUT);
pinMode(ledY, OUTPUT);
pinMode(ledG, OUTPUT);
lcd.begin(16,2);
lcd.backlight();
}
float ultrasonik() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
int durasi = pulseIn(echoPin, HIGH);
return durasi * 0.034 / 2;
}
void loop() {
float sensor = ultrasonik();
lcd.setCursor(0, 0);
if(sensor > 60) {
digitalWrite(ledG, HIGH);
digitalWrite(ledR, LOW);
digitalWrite(ledY, LOW);
lcd.print("HIJAU");
}
else if(sensor <= 60 && sensor >= 10) {
digitalWrite(ledG, LOW);
digitalWrite(ledR, LOW);
digitalWrite(ledY, HIGH);
lcd.print("KUNING");
}
else if(sensor < 10) {
digitalWrite(ledG, LOW);
digitalWrite(ledR, HIGH);
digitalWrite(ledY, LOW);
lcd.print("MERAH");
}
}