/*
Program Sensor Jarak HC-SR04 dengan LCD 16x2
Tugas2 soal B
*/
#include <LiquidCrystal.h>
// Inisialisasi pin LCD
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
// Inisialisasi pin Sensor HC-SR04
const int trigPin = 9;
const int echoPin = 8;
long duration;
float distance; // 1. Ubah tipe data menjadi float
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16, 2);
lcd.print("Sensor Jarak");
lcd.setCursor(0, 1);
lcd.print("Presisi 0.1cm");
delay(2000);
lcd.clear();
}
void loop() {
// Membersihkan TrigPin
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Mengirim pulsa
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Membaca durasi
duration = pulseIn(echoPin, HIGH);
// Menghitung jarak
// 0.034 adalah konstanta float, jadi hasilnya otomatis float
distance = duration * 0.034 / 2.0;
// Menampilkan hasil ke LCD
lcd.setCursor(0, 0);
lcd.print("Jarak Objek:");
lcd.setCursor(0, 1);
// 2. Tambahkan angka 1 untuk menampilkan 1 digit di belakang koma
lcd.print(distance, 1);
lcd.print(" cm ");
delay(200);
}