Pengembangan sistem keselamatan aktif pada kendaraan modern berkembang sangat pesat. Salah satu fitur keselamatan unggulan yang kini menjadi standar pada kendaraan cerdas adalah Autonomous Emergency Braking (AEB) atau sistem pengereman darurat otomatis. Prinsip dasar dari teknologi ini adalah mengukur jarak kendaraan terhadap objek di depannya secara real-time, memproses data tersebut melalui mikrokontroler, dan mengambil tindakan pencegahan bertingkat.
Untuk memahami prinsip kerja logika tersebut, kita dapat membuat prototipe sederhana menggunakan mikrokontroler Arduino Uno, sensor jarak ultrasonik HC-SR04, dan tiga indikator LED sebagai penanda tingkat bahaya.
🔗 Coba Simulasi Interaktif di Wokwi:Anda dapat melihat, menguji, dan menjalankan simulasi rangkaian ini secara langsung melalui tautan berikut:
1. Logika Kerja Sistem & Algoritma Pembacaan Jarak
Sistem ini bekerja berdasarkan pembacaan durasi pantulan gelombang suara ultrasonik dari sensor HC-SR04. Gelombang dipancarkan melalui pin
TRIG dan diterima kembali oleh pin ECHO. Waktu tempuh gelombang kemudian dikonversi menjadi jarak dalam satuan sentimeter (cm) menggunakan rumus:Jarak (cm) = Durasi Microseconds / 58
Setelah nilai jarak diperoleh, program akan mengevaluasi kondisi jarak tersebut menggunakan struktur kendali bercabang (if-else statement) bertingkat:
| Jarak Objek (d) | Status LED Kuning (Pin 11) | Status LED Oranye (Pin 12) | Status LED Merah (Pin 13) | Kategori Risiko / Analogi Otomotif |
| d > 100 cm | Mati (LOW) | Mati (LOW) | Mati (LOW) | Aman: Tidak ada ancaman halangan/tabrakan. |
| 51 cm - 100 cm | MENYALA | Mati (LOW) | Mati (LOW) | Peringatan Awal: Objek terdeteksi mendekat (Forward Collision Warning). |
| 6 cm - 50 cm | MENYALA | MENYALA | Mati (LOW) | Persiapan / Waspada: Jarak makin dekat, sistem menyiapkan tekanan rem (Brake Assist). |
| < 5 cm | MENYALA | MENYALA | MENYALA | Bahaya Kritis: Risiko tabrakan tinggi, rem otomatis penuh aktif (Autonomous Braking). |
2. Konfigurasi Rangkaian & Perakitan Breadboard
Dalam merakit rangkaian ini pada papan percobaan (breadboard), sangat penting untuk memperhatikan alokasi jalur daya VCC (+5V) dan Ground (GND) guna mencegah terjadinya korsleting (short circuit).
- Pin 5V Arduino dihubungkan ke jalur bus horizontal bertanda merah (+) pada breadboard.
- Pin GND Arduino dihubungkan ke jalur bus horizontal bertanda biru/hitam (-) pada breadboard.
- Sensor HC-SR04: Pin VCC ke jalur (+), GND ke jalur (-), TRIG ke Digital Pin 10, dan ECHO ke Digital Pin 9.
- Indikator LED: Anoda (kaki panjang) dihubungkan ke Digital Pin Arduino (11 untuk Kuning, 12 untuk Oranye, 13 untuk Merah) melalui resistor pembatas arus ($220\,\Omega$), sedangkan Katoda (kaki pendek) terhubung ke jalur bus (- / GND).
⚠️ Catatan Keselamatan Perakitan Breadboard:Pastikan kabel positif (VCC/5V) dan kabel negatif (GND) dihubungkan pada dua jalur bus horizontal yang terpisah. Menghubungkan kabel daya positif dan ground pada jalur horizontal yang sama akan mengakibatkan arus pendek (short circuit) yang berpotensi merusak komponen mikrokontroler!
3. Kode Program Lengkap (Arduino C/C++)
Berikut adalah kode program lengkap yang digunakan dalam proyek simulasi ini:
C++
// =============================================================
// Project: Smart Anti-Collision Warning System
// Platform: Arduino Uno + HC-SR04 + 3 LED
// Simulasi Wokwi: https://wokwi.com/projects/471737635324181505
// =============================================================
// Deklarasi Pin LED
int ledk = 11; // LED Kuning (Peringatan Awal)
int ledo = 12; // LED Oranye (Waspada/Persiapan)
int ledm = 13; // LED Merah (Bahaya Kritis)
// Deklarasi Pin Sensor Ultrasonik
const int trigpin = 10;
const int echopin = 9;
// Deklarasi Variabel
long timer;
int jarak;
void setup() {
// Inisialisasi Komunikasi Serial
Serial.begin(9600);
// Konfigurasi Pin Mode
pinMode(ledk, OUTPUT);
pinMode(ledo, OUTPUT);
pinMode(ledm, OUTPUT);
pinMode(trigpin, OUTPUT);
pinMode(echopin, INPUT);
}
void loop() {
// Memancarkan Pulsa Ultrasonik (Trig Pin)
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
digitalWrite(trigpin, LOW);
// Membaca Durasi Pantulan Gelombang (Echo Pin)
timer = pulseIn(echopin, HIGH);
// Menghitung Jarak dalam Satuan cm
jarak = timer / 58;
// Menampilkan Hasil ke Serial Monitor
Serial.println(jarak);
delay(200);
// Logika Kendali LED Berdasarkan Jarak
// LED Kuning (Aktif jika jarak <= 100 cm)
if (jarak > 100) {
digitalWrite(ledk, LOW);
} else {
digitalWrite(ledk, HIGH);
}
// LED Oranye (Aktif jika jarak <= 50 cm)
if (jarak > 50) {
digitalWrite(ledo, LOW);
} else {
digitalWrite(ledo, HIGH);
}
// LED Merah (Aktif jika jarak <= 5 cm)
if (jarak > 5) {
digitalWrite(ledm, LOW);
} else {
digitalWrite(ledm, HIGH);
}
}
4. Kesimpulan
Proyek simulasi Smart Anti-Collision System ini memberikan gambaran yang jelas mengenai bagaimana konsep logika bertingkat digunakan untuk mendeteksi ancaman dan memberikan respon sistematis. Meskipun dalam skala otomotif asli sistem AEB menggunakan sensor yang jauh lebih kompleks seperti Radar dan Kamera AI, prinsip dasar algoritma pengambilan keputusannya tetap berakar pada pengukuran jarak dan klasifikasi ambang risiko yang serupa.
إرسال تعليق