#include <Wire.h> // Memanggil library wire.h
#include <LiquidCrystal_I2C.h> // Memanggil library LCD dengan I2C
LiquidCrystal_I2C lcd(0x27, 20, 4);
#define echoPin 23
#define trigPin 19
long durasi;
int jarak;
void setup() {
// put your setup code here, to run once:
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
Serial.begin(115200);
Serial.print("Mulai");
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(trigPin, LOW); // Trig tidak aktif
delayMicroseconds(2);
digitalWrite(trigPin, HIGH); // Trig aktif
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca sinyal masuk pada echo
durasi = pulseIn(echoPin, HIGH);
// Menghitung Jarak
jarak = durasi * 0.034 / 2; // Rumus menghitung jarak ultrasonik
lcd.setCursor(2, 0); // karakter dimulai dari kolom 2 baris 1
lcd.print("Tutorial HC-SR04"); // Karakter yang akan ditampilkan pada LCD
lcd.setCursor(4, 1); // karakter dimulai dari kolom 4 baris 2
lcd.print("NodeMcu"); // Karakter yang akan ditampilkan pada LCD
lcd.setCursor(0,2); // karakter dimulai dari kolom 1 baris 3
lcd.print("Distance:"); // Karakter yang akan ditampilkan pada LCD
lcd.print(jarak); // Menampilkan data jarak pada LCD
lcd.print(" cm");
delay(10);
}