Sensor Ultrasonik HC-SR04: Cara Kerja dan Penggunaan
Sensor Ultrasonik HC-SR04 adalah modul elektronik yang digunakan untuk mengukur jarak objek menggunakan gelombang suara ultrasonik. Sensor ini banyak digunakan dalam proyek Arduino, robotika, sistem parkir sederhana, penghindar halangan, dan berbagai aplikasi elektronika DIY.
HC-SR04 memiliki dua transduser berbentuk lingkaran, yaitu pemancar (transmitter) dan penerima (receiver). Dengan tegangan kerja DC 5V dan rentang pengukuran nominal 2–400 cm, sensor ini cocok untuk mempelajari sistem pengukuran jarak tanpa kontak langsung.
Dalam artikel ini, kita akan membahas prinsip kerja HC-SR04, spesifikasi, fungsi setiap pin, cara menghubungkannya ke Arduino Uno, serta contoh program untuk mengukur jarak dalam satuan sentimeter.
Gambar 1 — Sensor Ultrasonik HC-SR04

Sensor ultrasonik HC-SR04 memiliki dua transduser untuk memancarkan dan menerima gelombang suara ultrasonik.
Apa Itu Sensor Ultrasonik HC-SR04?
HC-SR04 adalah sensor jarak yang bekerja berdasarkan prinsip pemantulan gelombang suara (echo).
Sensor memancarkan gelombang ultrasonik menuju objek di depannya. Ketika gelombang mengenai objek, sebagian suara dipantulkan kembali menuju sensor.
Sensor kemudian menghasilkan sinyal yang menunjukkan durasi perjalanan gelombang. Informasi tersebut dapat diproses mikrokontroler untuk menghitung jarak.
Berbeda dengan sensor inframerah yang memanfaatkan cahaya, HC-SR04 menggunakan gelombang suara dengan frekuensi sekitar 40 kHz.
Cara Kerja Sensor Ultrasonik HC-SR04
Proses pengukuran sensor HC-SR04 berlangsung melalui beberapa tahapan.
1. Arduino Mengirim Sinyal Trigger
Arduino memberikan pulsa HIGH selama minimal 10 mikrodetik ke pin TRIG untuk memulai pengukuran.
2. Sensor Memancarkan Gelombang Ultrasonik
Sensor mengirimkan delapan siklus gelombang ultrasonik berfrekuensi sekitar 40 kHz.
3. Gelombang Mengenai Objek
Gelombang suara bergerak melalui udara menuju objek, kemudian dipantulkan.
4. Sensor Menerima Pantulan
Bagian receiver menerima gelombang pantulan. Durasi sinyal ECHO digunakan untuk mengetahui waktu perjalanan gelombang dari sensor menuju objek dan kembali lagi.
5. Arduino Menghitung Jarak
Arduino menghitung jarak berdasarkan durasi ECHO dan kecepatan rambat suara.
Gambar 2 — Prinsip Kerja Sensor Ultrasonik

Ilustrasi cara kerja HC-SR04 dalam mengukur jarak melalui pemancaran dan penerimaan gelombang ultrasonik.
Rumus Menghitung Jarak HC-SR04
Perhitungan jarak menggunakan rumus:
Jarak = (Waktu × Kecepatan Suara) ÷ 2
Pembagian dua diperlukan karena gelombang berjalan menuju objek dan kembali ke sensor.
Pada suhu sekitar 20°C, kecepatan suara di udara kurang lebih 343 meter per detik atau 0,0343 sentimeter per mikrodetik.
Rumus untuk Arduino:
Jarak (cm) = (Durasi ECHO × 0,0343) ÷ 2
Contohnya, jika sensor membaca durasi 1.166 mikrodetik:
Jarak = (1.166 × 0,0343) ÷ 2
Jarak ≈ 20 cm
Hasil pengukuran dapat dipengaruhi oleh suhu udara, karakteristik permukaan objek, dan arah pantulan.
Spesifikasi Sensor Ultrasonik HC-SR04
| Spesifikasi | Keterangan |
|---|---|
| Model | HC-SR04 |
| Jenis | Sensor jarak ultrasonik |
| Tegangan kerja | DC 5V |
| Arus kerja nominal | Sekitar 15 mA |
| Frekuensi | 40 kHz |
| Jarak pengukuran nominal | 2–400 cm |
| Ketelitian yang diklaim | Sekitar 3 mm pada kondisi tertentu |
| Sudut deteksi nominal | Sekitar 15° |
| Pin | VCC, TRIG, ECHO, GND |
| Dimensi nominal | 45 × 20 × 15 mm |
Nilai tersebut merupakan karakteristik nominal dan dapat berbeda berdasarkan varian sensor serta kondisi penggunaan.
Mengenal Fungsi Pin HC-SR04
Modul HC-SR04 mempunyai empat pin yang masing-masing memiliki fungsi berbeda.
| Pin | Fungsi |
|---|---|
| VCC | Sumber tegangan DC 5V |
| TRIG | Memulai proses pengukuran |
| ECHO | Mengirimkan pulsa durasi pantulan |
| GND | Ground rangkaian |
Tutorial Menggunakan HC-SR04 dengan Arduino Uno
Pada contoh ini, kita akan membuat alat pengukur jarak sederhana menggunakan Arduino Uno dan sensor HC-SR04.
Hasil pengukuran akan ditampilkan melalui Serial Monitor Arduino IDE dalam satuan sentimeter.
1. Komponen yang Dibutuhkan
-
1 buah Arduino Uno atau board kompatibel
-
1 buah Sensor Ultrasonik HC-SR04
-
4 buah kabel jumper
-
Kabel USB Arduino
-
Komputer dengan Arduino IDE
2. Rangkaian HC-SR04 dengan Arduino Uno
Hubungkan sensor ke Arduino sesuai tabel berikut.
| Pin HC-SR04 | Arduino Uno |
|---|---|
| VCC | 5V |
| TRIG | D9 |
| ECHO | D10 |
| GND | GND |
Pastikan Arduino tidak terhubung ke sumber daya ketika memasang kabel.
Gambar 4 — Wiring HC-SR04 dengan Arduino Uno

Rangkaian sensor ultrasonik HC-SR04 menggunakan Arduino Uno dengan pin TRIG terhubung ke D9 dan ECHO ke D10.
Catatan: Contoh sambungan di atas untuk Arduino Uno yang menggunakan logika 5V. Apabila menggunakan ESP32 atau mikrokontroler 3,3V, gunakan penyesuaian level tegangan pada jalur ECHO.
3. Contoh Program Arduino HC-SR04
Setelah rangkaian selesai, buka Arduino IDE dan masukkan program berikut:
// Sensor Ultrasonik HC-SR04
// AhrarTech - Tutorial Arduino
const int trigPin = 9;
const int echoPin = 10;
unsigned long durasi;
float jarak;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
digitalWrite(trigPin, LOW);
Serial.println("Sensor Ultrasonik HC-SR04");
Serial.println("AhrarTech - Pengukur Jarak");
}
void loop() {
// Pastikan TRIG dalam keadaan LOW
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Kirim pulsa trigger selama 10 us
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca durasi pulsa ECHO
// Timeout 30.000 mikrodetik
durasi = pulseIn(echoPin, HIGH, 30000UL);
// Periksa apakah pantulan terdeteksi
if (durasi == 0) {
Serial.println("Objek tidak terdeteksi");
} else {
// Hitung jarak dalam sentimeter
jarak = (durasi * 0.0343) / 2.0;
Serial.print("Jarak: ");
Serial.print(jarak, 1);
Serial.println(" cm");
}
// Tunggu sebelum pengukuran berikutnya
delay(200);
}
Program tersebut tidak memerlukan library tambahan karena menggunakan fungsi bawaan Arduino.
4. Penjelasan Program HC-SR04
Berikut beberapa bagian penting dari kode Arduino.
Deklarasi Pin Sensor
const int trigPin = 9;
const int echoPin = 10;
Bagian ini menentukan pin Arduino yang digunakan untuk menghubungkan TRIG dan ECHO.
Mengirimkan Sinyal Trigger
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Arduino mengirimkan pulsa HIGH selama 10 mikrodetik untuk memulai pengukuran.
Membaca Durasi Pantulan
durasi = pulseIn(echoPin, HIGH, 30000UL);
Fungsi pulseIn() membaca lamanya sinyal HIGH pada pin ECHO dalam satuan mikrodetik.
Parameter 30000UL digunakan sebagai batas waktu tunggu sekitar 30 milidetik. Jika tidak ada pulsa yang terdeteksi, fungsi mengembalikan nilai 0.
Menghitung Jarak
jarak = (durasi * 0.0343) / 2.0;
Nilai durasi dikalikan dengan kecepatan suara, kemudian dibagi dua karena gelombang menempuh perjalanan pergi dan pulang.
Menampilkan Hasil Pengukuran
Serial.print("Jarak: ");
Serial.print(jarak, 1);
Serial.println(" cm");
Hasil perhitungan ditampilkan pada Serial Monitor dengan satu angka di belakang koma.
5. Cara Menjalankan Program
Setelah memasukkan kode:
-
Hubungkan Arduino Uno ke komputer menggunakan kabel USB.
-
Buka Arduino IDE.
-
Pilih board Arduino Uno.
-
Pilih port yang digunakan.
-
Klik Upload untuk mengirim program.
-
Buka Serial Monitor.
-
Atur baud rate menjadi 9600.
-
Tempatkan objek di depan sensor.
Coba mendekatkan dan menjauhkan objek untuk melihat perubahan nilai jarak.
6. Contoh Hasil Serial Monitor
Jika sensor berhasil membaca jarak, Serial Monitor akan menampilkan hasil seperti berikut:
Sensor Ultrasonik HC-SR04
AhrarTech - Pengukur Jarak
Jarak: 10.2 cm
Jarak: 10.1 cm
Jarak: 15.5 cm
Jarak: 20.0 cm
Jarak: 25.3 cm
Jarak: 30.1 cm
Angka tersebut merupakan contoh output ilustratif, bukan hasil pengujian pada perangkat tertentu.
Ketika sensor tidak menerima pulsa ECHO dalam batas waktu yang ditentukan, Serial Monitor akan menampilkan:
Objek tidak terdeteksi
7. Mengatasi HC-SR04 yang Tidak Membaca Jarak
Jika pengukuran tidak berjalan dengan baik, periksa beberapa hal berikut:
-
Pastikan VCC terhubung ke sumber 5V.
-
Periksa koneksi GND.
-
Pastikan TRIG ke D9 dan ECHO ke D10.
-
Periksa pilihan port dan board pada Arduino IDE.
-
Pastikan baud rate Serial Monitor sesuai.
-
Coba gunakan permukaan objek yang datar dan cukup besar.
-
Hindari jarak di bawah rentang minimum nominal sensor.
-
Pastikan kabel jumper terpasang dengan baik.
Jika pembacaan berubah-ubah, lakukan beberapa kali pengukuran dan gunakan nilai median agar hasil lebih stabil.
Contoh Penggunaan Sensor HC-SR04
1. Robot Penghindar Halangan
Sensor HC-SR04 dapat digunakan untuk mendeteksi objek di depan robot.
Ketika jarak terukur lebih kecil daripada batas yang ditentukan, Arduino dapat memberikan perintah kepada driver motor untuk menghentikan atau mengubah arah robot.
2. Sistem Parkir Sederhana
Sensor dapat digunakan untuk membuat prototipe indikator jarak menggunakan buzzer atau LED.
Misalnya, semakin dekat objek, semakin cepat bunyi buzzer.
3. Tempat Sampah Otomatis
HC-SR04 dapat mendeteksi tangan yang mendekati tempat sampah.
Ketika objek terdeteksi pada jarak tertentu, Arduino dapat mengaktifkan motor servo untuk membuka penutup tempat sampah.
4. Monitoring Ketinggian Air
Sensor dapat ditempatkan di atas wadah untuk memperkirakan jarak antara sensor dan permukaan air.
Ketinggian air dapat dihitung dari tinggi wadah dikurangi hasil pengukuran jarak.
Untuk aplikasi ini, sensor standar harus dilindungi dari air dan kondensasi karena HC-SR04 biasa tidak dirancang untuk penggunaan basah.
5. Pengukur Jarak dengan Layar OLED
Sensor dapat dikombinasikan dengan modul OLED atau LCD untuk menampilkan jarak secara langsung tanpa menggunakan komputer.
Proyek ini cocok untuk pembelajaran Arduino dan elektronika DIY.
Kelebihan dan Kekurangan HC-SR04
Kelebihan
-
Mengukur jarak tanpa kontak fisik.
-
Menggunakan sumber daya 5V.
-
Mudah digunakan dengan Arduino Uno.
-
Tidak memerlukan library khusus untuk pengukuran dasar.
-
Cocok untuk robotika dan proyek DIY.
-
Memiliki banyak referensi dan contoh penerapan.
Keterbatasan
-
Hasil dapat dipengaruhi bentuk dan bahan objek.
-
Permukaan miring dapat memantulkan suara menjauhi sensor.
-
Tidak dirancang untuk terendam air.
-
Pengukuran di luar rentang nominal tidak dapat diandalkan.
-
Kecepatan suara berubah mengikuti suhu udara.
-
Beberapa sensor yang bekerja bersamaan dapat saling mengganggu.
Tips Menggunakan Sensor HC-SR04
Agar pengukuran lebih stabil:
-
Gunakan sumber daya DC 5V yang stabil.
-
Pastikan objek berada dalam jangkauan sensor.
-
Arahkan sensor sedekat mungkin tegak lurus terhadap objek.
-
Hindari permukaan yang terlalu lembut atau menyerap suara.
-
Berikan jeda sekitar 60 ms atau lebih antar-trigger.
-
Gunakan beberapa sampel untuk mengurangi pembacaan yang menyimpang.
-
Hindari penggunaan sensor standar secara langsung pada lingkungan basah.
FAQ Sensor Ultrasonik HC-SR04
Apakah HC-SR04 bisa digunakan dengan Arduino Uno?
Ya. Sensor HC-SR04 dapat dihubungkan ke Arduino Uno menggunakan VCC, TRIG, ECHO, dan GND.
Apakah harus menggunakan library Arduino?
Tidak. Contoh program pada artikel ini menggunakan fungsi bawaan Arduino sehingga tidak memerlukan library tambahan.
Berapa tegangan kerja HC-SR04?
Modul HC-SR04 standar menggunakan tegangan DC 5V.
Berapa jarak maksimum HC-SR04?
Jangkauan nominal sensor sekitar 2–400 cm, dengan performa aktual dipengaruhi kondisi objek dan lingkungan.
Apakah HC-SR04 bisa digunakan dengan ESP32?
Bisa. Namun, keluaran ECHO 5V dari modul standar perlu disesuaikan dengan logika GPIO 3,3V pada ESP32.
Mengapa hasil pengukuran tidak stabil?
Ketidakstabilan dapat disebabkan permukaan objek, sudut pantulan, gangguan ultrasonik, kondisi kabel, atau catu daya.
Beli Sensor Ultrasonik HC-SR04 di AhrarTech Surabaya
Sensor Ultrasonik HC-SR04 dapat menjadi pilihan untuk mempelajari Arduino, membuat robot penghindar halangan, serta mengembangkan proyek pengukuran jarak.
AhrarTech Surabaya menyediakan berbagai komponen elektronika, sensor, modul Arduino, dan perlengkapan proyek DIY.
Anda dapat melihat produknya melalui toko AhrarTech di Shopee.
Beli Sensor Ultrasonik HC-SR04 di Shopee AhrarTech
Pastikan jenis sensor dan spesifikasinya sesuai dengan kebutuhan proyek sebelum melakukan pembelian.