#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);
const int triggerPin = 2;
const int echoPin = 3;
const int LED1 = 4;
long durasi;
int jarak;
void setup() {
lcd.init();
lcd.clear();
lcd.backlight();
pinMode(triggerPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LED1, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
durasi = pulseIn(echoPin, HIGH);
jarak = durasi*0.034/2;
lcd.setCursor(0,0);
lcd.print("Jarak:");
lcd.print(jarak);
lcd.print(" cm");
lcd.setCursor(0,1);
lcd.print("LED1: ");
delay(1000);
if(jarak > 30){
lcd.print("ON ");
Serial.println("Jarak lebih dari 30cm");
digitalWrite(LED1, HIGH);
}if(jarak < 30){
lcd.print("OFF");
Serial.println("Jarak kurang dari 30cm");
digitalWrite(LED1, LOW);
}
}