#include <Wire.h> // Memanggil library wire.h
#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C
LiquidCrystal_I2C lcd(0x27, 20, 4); // Alamat I2C(0x27) LCD dan Jenis LCD (20x4)
#define echoPin A1 //Deklarasi echo terhubung pada pin A0 HC-SR04
#define trigPin A2 //Deklarasi trig terhubung pada pin A1 HC-SR04
#define relay A3 //Deklarasi relay terhubung pada pin A3
long durasi; // variabel durasi suara
int jarak; // variabel untuk mengukur jarak
void setup() {
lcd.init(); // instruksi untuk memulai LCD
lcd.begin(20,4); // instruksi untuk menggunakan lcd 20x4
lcd.backlight(); // instruksi untuk mengaktifkan lampu latar LCD
pinMode(trigPin, OUTPUT); // deklarasi pin trig sebagai output
pinMode(echoPin, INPUT); // deklarasi pin echo sebagai input
pinMode(relay, OUTPUT); // deklarasi LED sebagai output
Serial.begin(9600); // Serial Communication is starting with 9600 of baudrate speed
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2) / 29.1;
Serial.print(distance);
Serial.println(" cm");
lcd.setCursor(1, 0); //karakter dimulai dari kolom 2 baris 1
lcd.print("riyan catur p"); // Karakter yang akan ditampilkan pada LCD
lcd.setCursor(0, 1); //karakter dimulai dari kolom 4 baris 2
lcd.print("D4 ELEKTROMEDIK"); // Karakter yang akan ditampilkan pada LCD
digitalWrite(relay,HIGH);
if (distance <= 25)
{
digitalWrite(relay, LOW);
delay (5000);
}
if (distance >= 51)
digitalWrite(relay,HIGH);
delay (500);
}