Bab 13 · Arduino Uno R3
Sensor Jarak HC-SR04 dengan Arduino Uno
Pasang HC-SR04, ukur jarak dalam sentimeter, dan tangani keadaan ketika sensor tidak menerima pantulan.
Bagaimana jarak dibaca?
HC-SR04 mengirim bunyi ultrasonik dan menunggu pantulannya. Program mengukur lama perjalanan pulang-pergi, lalu mengubah waktu itu menjadi jarak. Sensor ini cocok untuk latihan mendeteksi benda di depan meja. Permukaan miring atau lunak dapat membuat pantulan sulit dibaca.
Komponen dan sambungan
Siapkan Uno R3, HC-SR04, dan empat kabel jumper. Cabut daya sebelum memasang. Ikuti tulisan pin pada modul, bukan urutan warna kabel.
| HC-SR04 | Uno R3 |
|---|---|
| VCC | 5V |
| GND | GND |
| TRIG | 9 |
| ECHO | 10 |
Contoh ini untuk Uno R3 berlogika 5 V. ECHO HC-SR04 mengeluarkan sinyal 5 V; jangan langsung menyalin sambungan ini ke pin board 3,3 V tanpa penyesuaian level tegangan.
Program pengukur jarak
const int TRIG = 9;
const int ECHO = 10;
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
digitalWrite(TRIG, LOW);
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
unsigned long durasi = pulseIn(ECHO, HIGH, 30000UL);
if (durasi == 0) {
Serial.println("Pantulan tidak terbaca");
} else {
float jarak = durasi * 0.0343 / 2.0;
Serial.print("Jarak: ");
Serial.print(jarak, 1);
Serial.println(" cm");
}
delay(100);
}Buka Serial Monitor pada 9600 baud. Hadapkan buku datar sekitar 20 cm di depan sensor, lalu geser perlahan. Angka seharusnya mengikuti perpindahan buku, meskipun tidak selalu persis sama dengan penggaris.
Memahami hitungannya
TRIG diberi pulsa 10 mikrodetik untuk memulai pengukuran. pulseIn membaca lama pulsa ECHO dalam mikrodetik. Angka 0.0343 adalah perkiraan kecepatan bunyi dalam cm per mikrodetik pada suhu ruang. Dibagi dua karena bunyi berjalan ke benda lalu kembali. Batas 30000UL membuat program berhenti menunggu setelah 30 milidetik; hasil nol berarti pembacaan gagal, bukan jarak nol.
Kalau angka tidak masuk akal
- Periksa TRIG dan ECHO agar tidak tertukar serta pastikan GND terhubung.
- Coba benda lebar, datar, dan menghadap sensor. Hindari benda terlalu dekat; rentang nominal modul sekitar 2–400 cm.
- Jangan menganggap satu bacaan gagal sebagai benda menempel pada sensor.
Latihan: nyalakan LED_BUILTIN ketika jarak yang valid kurang dari 15 cm, dan matikan saat jaraknya lebih jauh atau pembacaan gagal. Bandingkan bacaan pada 10, 20, dan 30 cm dengan penggaris.
Rujukan
Datasheet HC-SR04 menjelaskan urutan pulsa dan batas pengukuran modul.