Buka Senin - Jumat jam 08.30 s/d jam 16.30 , Sabtu Jam 8.30 s/d jam 13.00 , Minggu tutup
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
  • Selamat Datang di Indomaker ❯ Silahkan pesan produk sesuai kebutuhan anda, kami siap melayani.
Beranda » Blog » Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Diposting pada 1 October 2026 oleh indo maker / Dilihat: 24 kali / Kategori: ,

Memarkir kendaraan di ruang yang sempit sering kali bikin waswas. Jarak antara bemper kendaraan dan dinding atau penghalang lain sangat sulit diperkirakan secara akurat. Kalau salah tebak, bisa-bisa kendaraan kamu tergores atau menabrak objek di sekitarnya. Untungnya, kamu bisa membuat sendiri sistem peringatan jarak parkir otomatis yang praktis dan akurat berbasis mikrokontroler Arduino Uno dan sensor ultrasonik HC-SR04. Yuk, simak panduan lengkapnya agar sobat bisa langsung mencoba proyek menarik ini!

1. Alat dan Bahan yang Dibutuhkan

Berikut adalah daftar komponen hardware yang perlu kamu siapkan untuk membangun sistem ini:

Komponen Jumlah Keterangan
Arduino Uno R3 1 unit Mikrokontroler ATmega328P tegangan 5V
Sensor Ultrasonik HC-SR04 1 unit Transduser pengukur jarak 2 cm – 400 cm
Active Buzzer Piezo 1 unit Indikator audio 3.3V – 5V
LED Hijau 5mm 1 unit Indikator visual zona aman
LED Kuning 5mm 1 unit Indikator visual zona waspada
LED Merah 5mm 1 unit Indikator visual zona bahaya
Resistor 220 Ohm 1/4W 3 unit Pembatas arus LED toleransi 5%

2. Skematik Rangkaian

Untuk merangkai seluruh komponen pada breadboard atau simulator seperti Wokwi, kamu perlu menghubungkan setiap pin komponen ke board Arduino Uno R3 sesuai dengan pemetaan jalur digital dan daya.

Sebelum mulai merangkai hardware, pastikan kamu memperhatikan koneksi pin secara cermat agar tidak ada salah sambung. Jika kamu juga tertarik mempelajari proyek Arduino Uno menarik lainnya, prinsip pembacaan sensor dan pengendalian aktuator (perangkat indikator/penggerak seperti LED dan Buzzer) pada dasarnya menggunakan alur pemrosesan mikrokontroler yang serupa.

Berikut adalah tabel pemetaan pin rangkaian yang bisa kamu ikuti dengan mudah:

Komponen / Pin Pin Arduino Uno Keterangan / Jalur
Pin Trigger HC-SR04 Pin Digital 9 Sinyal pemicu pancaran gelombang
Pin Echo HC-SR04 Pin Digital 10 Sinyal penerima pantulan gelombang
LED Hijau Pin Digital 2 Dihubungkan dengan resistor 220 Ohm pada jalur anoda
LED Kuning Pin Digital 3 Dihubungkan dengan resistor 220 Ohm pada jalur anoda
LED Merah Pin Digital 4 Dihubungkan dengan resistor 220 Ohm pada jalur anoda
Active Buzzer Pin Digital 5 Indikator peringatan suara
VCC Sensor & Anoda Pin 5V Jalur daya positif 5V Arduino
GND Seluruh Komponen Pin GND Jalur pembumian bersama (Ground)

3. Cara Kerja Sensor HC SR04 dan Prinsip Time of Flight

Sensor ultrasonik HC-SR04 berfungsi sebagai transduser utama untuk mengukur jarak dengan memanfaatkan gelombang ultrasonik. Sensor ini memiliki jangkauan pengukuran sekitar 2 cm hingga 400 cm dengan sudut deteksi kurang dari 15 derajat. Jika ingin mengetahui spesifikasi dan karakteristik sensor secara lebih lengkap, kamu bisa melihat datasheet HC-SR04 sebagai referensi sebelum mulai merakit rangkaian.

Proses pembacaan diawali ketika mikrokontroler mengirimkan sinyal pemicu (Trigger) berupa pulsa digital HIGH selama 10 mikrodetik ke sensor. Setelah menerima pemicu ini, sensor akan memancarkan gelombang suara ultrasonik pada frekuensi 40 kHz ke udara.

Gelombang suara ini akan merambat hingga menabrak objek rintangan di depannya, lalu memantul kembali ke arah sensor. Sinyal pantulan tersebut ditangkap oleh pin Echo yang akan menghasilkan sinyal HIGH. Durasi atau lebar waktu sinyal HIGH pada pin Echo merepresentasikan total waktu tempuh bolak-balik gelombang suara sejak dipancarkan hingga kembali diterima. Metode pengukuran berbasis waktu tempuh ini dikenal dengan istilah Time-of-Flight (ToF).

Secara konseptual, cepat rambat gelombang suara di udara dihitung sekitar 340 \text{ m/s} atau ekuivalen dengan 0,034 \text{ cm/}\mu\text{s}. Karena gelombang melakukan perjalanan bolak-balik (pergi dan kembali), total durasi waktu yang terukur harus dibagi dua. Nilai ini kemudian dikalikan dengan konstanta 0.017 untuk memperoleh kalkulasi jarak fisik objek dalam satuan sentimeter (cm) secara real-time.

Selain mempermudah perhitungan matematis, penggunaan konstanta 0.017 ini sangat hemat beban komputasi chip ATmega328P sehingga mikrokontroler dapat merespons pembacaan sensor secara sangat cepat tanpa lagging.

4. Kode Program Arduino

Kamu dapat memasukkan kode program C++ berikut ke dalam software Arduino IDE untuk dijalankan pada board Arduino Uno :

// Deklarasi pin
#define TRIG_PIN 9
#define ECHO_PIN 10

#define LED_HIJAU 2
#define LED_KUNING 3
#define LED_MERAH 4
#define BUZZER 5

void setup() {
  // Memulai komunikasi Serial Monitor
  Serial.begin(9600);

  // Mengatur mode setiap pin
  pinMode(TRIG_PIN, OUTPUT);
  pinMode(ECHO_PIN, INPUT);

  pinMode(LED_HIJAU, OUTPUT);
  pinMode(LED_KUNING, OUTPUT);
  pinMode(LED_MERAH, OUTPUT);

  pinMode(BUZZER, OUTPUT);
}

void loop() {
  long duration;
  int distance;

  // Mengirim pulsa Trigger selama 10 mikrodetik
  digitalWrite(TRIG_PIN, LOW);
  delayMicroseconds(2);

  digitalWrite(TRIG_PIN, HIGH);
  delayMicroseconds(10);

  digitalWrite(TRIG_PIN, LOW);

  // Membaca durasi pantulan pada pin Echo
  duration = pulseIn(ECHO_PIN, HIGH);

  // Mengubah durasi pantulan menjadi jarak dalam cm
  distance = duration * 0.017;

  // Menampilkan hasil pengukuran
  Serial.print("Jarak: ");
  Serial.print(distance);
  Serial.println(" cm");

  // Kondisi aman
  if (distance > 300) {
    digitalWrite(LED_HIJAU, HIGH);
    digitalWrite(LED_KUNING, LOW);
    digitalWrite(LED_MERAH, LOW);

    noTone(BUZZER);
  }

  // Kondisi waspada
  else if (distance > 200 && distance <= 300) {
    digitalWrite(LED_HIJAU, LOW);
    digitalWrite(LED_KUNING, HIGH);
    digitalWrite(LED_MERAH, LOW);

    // Buzzer berbunyi putus-putus
    tone(BUZZER, 1000);
    delay(350);
    noTone(BUZZER);
  }

  // Kondisi bahaya
  else {
    digitalWrite(LED_HIJAU, LOW);
    digitalWrite(LED_KUNING, LOW);
    digitalWrite(LED_MERAH, HIGH);

    // Buzzer berbunyi terus-menerus
    tone(BUZZER, 1000);
  }

  // Jeda sebelum pembacaan berikutnya
  delay(100);
}

 

Struktur kode di atas menjalankan beberapa fungsi utama. Fungsi setup() digunakan untuk menginisialisasi komunikasi Serial Monitor pada baud rate 9600 (kecepatan transmisi data 9600 bit per detik) serta menetapkan mode pin sebagai masukan (INPUT) atau keluaran (OUTPUT).

Pada fungsi loop(), mikrokontroler mengirimkan pulsa pemicu 10 mikrodetik dan mengukur durasi pantulan gelombang menggunakan perintah pulseIn(). Selanjutnya, durasi tersebut dikalikan dengan konstanta 0.017 untuk memperoleh nilai jarak fisik. Terakhir, struktur percabangan if-else mengevaluasi jarak terhitung untuk menentukan kondisi mana yang aktif serta mengendalikan status indikator LED dan Buzzer.

5. Tiga Kondisi dan Indikator Peringatan Parkir

Sistem peringatan parkir ini dirancang untuk merespons jarak objek secara otomatis melalui tiga tingkatan zona operasional yang sinkron antara logika pemrograman dan tampilan hardware:

  1. Kondisi Aman (Jarak lebih dari 300 cm) Sistem mendeteksi bahwa rintangan masih sangat jauh dari kendaraan (distance > 300). Pada kondisi ini, LED Hijau akan menyala, sedangkan LED Kuning, LED Merah, dan Buzzer berada dalam kondisi mati total.
  2. Kondisi Waspada (Jarak 200 cm hingga 300 cm) Objek penghalang terdeteksi mulai mendekati kendaraan, tepatnya berada pada rentang 201 cm hingga 300 cm (distance > 200 && distance <= 300). Mikrokontroler akan menyalakan LED Kuning, mematikan LED Hijau dan LED Merah, serta mengaktifkan Buzzer secara periodik sehingga menghasilkan suara putus-putus (beep… beep…) dengan jeda tone 350 ms sebagai peringatan awal bagi pengemudi.
  3. Kondisi Bahaya (Jarak kurang dari atau sama dengan 200 cm) Posisi penghalang berada pada jarak kritis di bawah atau sama dengan 200 cm (else). Sistem langsung menyalakan LED Merah, mematikan LED Hijau dan Kuning, serta membunyikan Buzzer secara terus-menerus tanpa henti (beeeep) sebagai sinyal utama agar kendaraan segera dihentikan.

6. Kesimpulan

Perancangan sistem peringatan jarak parkir berbasis Arduino Uno R3 dan sensor HC-SR04 berhasil membuktikan bahwa kombinasi pemrosesan sinyal ultrasonik dan logika mikrokontroler mampu bekerja secara presisi. Memanfaatkan prinsip fisika Time-of-Flight serta perkalian konstanta matematis 0.017, pembacaan waktu gelombang dapat dikonversi menjadi satuan jarak fisik secara real-time tanpa membebani pemrosesan chip. Pengalokasian logika pada aktuator visual tiga warna dan indikator suara juga terbukti efektif memberikan respons peringatan yang jelas pada zona aman, waspada, dan bahaya.

Proyek ini sangat cocok dijadikan sarana belajar praktis bagi kamu yang ingin mendalami dunia embedded systems dan elektronika dasar. Tertarik mempraktikkannya? Yuk, segera siapkan komponenmu dan mulai rakit sistem parkir otomatis karya kamu sendiri sekarang juga!

Bagikan ke

Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Saat ini belum tersedia komentar.

Silahkan tulis komentar Anda

Bikin Sensor Parkir Otomatis Pakai Arduino Uno dan HC SR04

Produk yang sangat tepat, pilihan bagus..!

Berhasil ditambahkan ke keranjang belanja
Lanjut Belanja
Checkout
Produk Quick Order

Pemesanan dapat langsung menghubungi kontak dibawah: