#include <Arduino.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
// Definisikan pin yang digunakan untuk HC-SR04
const int trigPin = 2;
const int echoPin = 4;
// Inisialisasi variabel global
long duration;
int distance;
void setup() {
lcd.init();
lcd.backlight();
// Inisialisasi komunikasi serial
Serial.begin(115200);
// Set trigPin sebagai OUTPUT dan echoPin sebagai INPUT
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(5, OUTPUT);
pinMode(18, OUTPUT);
}
void loop() {
// Kirim pulsa ultrasonik
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca pulsa balik
duration = pulseIn(echoPin, HIGH);
digitalWrite(5, HIGH);
digitalWrite(18, HIGH);
delay(200);
digitalWrite(5, LOW);
digitalWrite(18, LOW);
delay(200);
// Hitung jarak dalam sentimeter
distance = duration * 0.034 / 2;
// Tampilkan jarak dalam centimeter ke serial monitor
Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
lcd.setCursor(1,0);
lcd.print("jarak : ");
lcd.setCursor(8,0);
lcd.print(distance);
// Tunggu beberapa saat sebelum mengukur kembali
delay(1000);
}