Abstrak
Proyek ini mengembangkan sistem deteksi jarak berbasis sensor ultrasonik HC-SR04, layar LCD, dan LED untuk meningkatkan keselamatan di berbagai sektor. Sensor mendeteksi jarak objek dan mengaktifkan LED berdasarkan kategori: bahaya (35–50 cm), hati-hati (51–100 cm), dan aman (>100 cm). Hasil percobaan menunjukkan sistem bekerja sesuai tujuan, namun terdapat fluktuasi pengukuran dan tampilan LCD berkedip. Untuk meningkatkan kinerja, disarankan menerapkan algoritma filter dan optimasi tampilan LCD. Dengan biaya terjangkau dan desain sederhana, proyek ini memiliki potensi besar dalam meningkatkan keselamatan dan efisiensi di kehidupan sehari-hari.
Flowchart Cara Kerja

Alat & Bahan

- Arduino Uno R3, Mikrokontroler sebagai otak sistem.
- Sensor Ultrasonik HC-SR04, Sensor ultrasonik untuk mengukur jarak.
- LCD 16×2, Layar untuk menampilkan informasi jarak.
- LED, Indikator visual untuk peringatan.
- Resistor (220 ohm dan 200 ohm), Untuk mengatur tegangan
- BreadBoard, menempatkan dan menyusun piranti atau komponen-komponen elektronika menjadi rangkaian elektronika tanpa penyolderan.
Rangkaian
Projek ini dibuat menggunakan software Tinkercad untuk mensiumulasikan perangkat projek yang dibuat. Tinkercad adalah platform berbasis web yang memungkinkan simulasi dan perancangan rangkaian elektronik, termasuk penggunaan Arduino.
Bisa diakses melalui (link ini)

Source Code:
#include <LiquidCrystal.h>
// Pin definisi
#define D4 4
#define D5 5
#define D6 6
#define D7 7
#define E 8
#define RS 9
LiquidCrystal LCD(RS, E, D4, D5, D6, D7);
// pin untuk HC-SR04
const int trigPin = 12;
const int echoPin = 11;
// LED pin
const int ledPin = 13;
void setup() {
// Inisiasi LCD
LCD.begin(16, 2);
Serial.begin(9600);
// Sensor Pin
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
// Clear the trigPin by setting it LOW
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Send a 10-microsecond HIGH pulse to trigger the sensor
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Measure the duration of the echo pulse
long duration = pulseIn(echoPin, HIGH);
// Calculate the distance in cm
long distance = duration * 0.0344 / 2;
// Menampilkan jarak di LCD
LCD.clear();
LCD.print(“Jarak: “);
LCD.print(distance);
LCD.print(” cm”);
delay(1000); // Delay to allow reading the distance
// Logika LED terhadap jarak
LCD.clear();
if (distance > 35 && distance <= 50) {
LCD.print(“Bahaya”);
digitalWrite(ledPin, HIGH); // LED ON
}
else if (distance > 50 && distance <= 100) {
LCD.print(“Hati-hati”);
// Blink LED
int blinkSpeed = map(distance, 51, 100, 200, 500); // Map the distance to blink speed
for (int i = 0; i < 5; i++) { // Blink 5 times
digitalWrite(ledPin, HIGH);
delay(blinkSpeed);
digitalWrite(ledPin, LOW);
delay(blinkSpeed);
}
}
else if (distance > 100) {
LCD.print(“Aman”);
digitalWrite(ledPin, LOW); // LED OFF
}
delay(1000); // Delay to allow reading the alert message
}
Hasil Pengujian
Percobaan Ke- | Jarak | Status | Indikator |
1 | 43 | Bahaya | LED Menyala |
2 | 122 | Aman | LED Mati |
3 | 67 | Hati-Hati | LED Berkedip |
4 | 73 | Hati-Hati | LED Berkedip |
5 | 113 | Aman | LED Mati |
6 | 36 | Bahaya | LED Menyala |
Kesimpulan
Dari hasil percobaan, sistem pengukuran jarak berbasis Arduino dengan sensor HC-SR04, LCD, dan LED telah berhasil bekerja sesuai tujuan. Sistem mampu mendeteksi jarak objek dengan akurasi memadai dan memberikan respons visual melalui LCD dan LED berdasarkan kategori jarak: bahaya (35–50 cm), hati-hati (51–100 cm), dan aman (>100 cm). Pada kondisi bahaya, LED menyala penuh; pada kondisi hati-hati, LED berkedip dengan kecepatan tertentu; dan pada kondisi aman, LED mati. Namun, terdapat beberapa kekurangan, seperti fluktuasi hasil pengukuran yang mengurangi stabilitas data dan tampilan LCD yang berkedip akibat seringnya penggunaan fungsi LCD.clear(). Kecepatan berkedip LED pada kondisi hati-hati juga membutuhkan penyempurnaan agar lebih konsisten. Untuk meningkatkan kinerja, disarankan menambahkan algoritma filter seperti moving average untuk memperbaiki kestabilan data. Selain itu, pembaruan LCD dapat dioptimalkan dengan hanya mengganti teks yang berubah, sehingga tampilan lebih nyaman dibaca. Fitur tambahan, seperti buzzer untuk peringatan suara atau koneksi IoT untuk pemantauan jarak jarak jauh, dapat meningkatkan fungsionalitas sistem. Dengan perbaikan ini, sistem akan lebih andal dan aplikatif di berbagai kondisi.
Leave a Reply