Pada tutorial ini kita akan membuat alat ukur jarak sederhana menggunakan Arduino dan sensor ultrasonik HC-SR04. Proyek ini cocok untuk pemula karena rangkaiannya tidak rumit, tetapi hasilnya langsung terlihat: jarak benda di depan sensor akan muncul di Serial Monitor dalam satuan sentimeter.
Selain sebagai latihan dasar Arduino, proyek ini juga menarik untuk pembelajaran fisika. Peserta didik dapat melihat hubungan antara waktu tempuh gelombang bunyi, kecepatan bunyi di udara, dan perhitungan jarak. Jadi, kegiatan praktikum tidak hanya “merangkai kabel”, tetapi juga memahami konsep pengukuran secara nyata.
Apa yang Akan Dibuat?
Kita akan membuat sistem sederhana dengan alur kerja seperti ini:
- Arduino mengirim sinyal singkat ke pin Trig sensor HC-SR04.
- Sensor memancarkan gelombang ultrasonik ke arah benda.
- Gelombang dipantulkan kembali dan diterima oleh pin Echo.
- Arduino menghitung durasi pantulan tersebut.
- Durasi diubah menjadi jarak dalam sentimeter.
Jika sebelumnya Anda sudah mencoba proyek seperti alat ukur suhu dan kelembaban DHT11, maka proyek HC-SR04 ini akan terasa sebagai lanjutan yang pas karena sama-sama menggunakan sensor untuk membaca kondisi lingkungan.
Alat dan Bahan
- 1 buah Arduino UNO atau board kompatibel
- 1 buah sensor ultrasonik HC-SR04
- 1 buah breadboard
- Beberapa kabel jumper male-to-male
- Kabel USB untuk menghubungkan Arduino ke laptop
- Arduino IDE yang sudah terpasang
- Benda datar sebagai target pengukuran, misalnya buku, papan kecil, atau kotak
Untuk pemula, gunakan Arduino UNO terlebih dahulu karena banyak contoh rangkaian dan kodenya. Jika sudah paham, konsepnya dapat dipindahkan ke board lain seperti Arduino Nano atau ESP32 dengan penyesuaian pin dan tegangan.
Mengenal Sensor Ultrasonik HC-SR04
HC-SR04 adalah sensor jarak yang bekerja menggunakan gelombang ultrasonik. Sensor ini memiliki dua bagian bulat yang mudah dikenali. Salah satunya berfungsi sebagai pemancar gelombang, sedangkan bagian lainnya sebagai penerima pantulan gelombang.
Pada sensor HC-SR04 biasanya terdapat 4 pin utama:
- VCC: sumber tegangan 5V
- Trig: pin pemicu untuk mengirim gelombang ultrasonik
- Echo: pin untuk menerima durasi pantulan
- GND: ground
Prinsipnya mirip seperti kelelawar atau sonar sederhana. Sensor mengirim gelombang, gelombang mengenai objek, lalu pantulannya kembali ke sensor. Arduino kemudian menghitung jarak berdasarkan waktu perjalanan gelombang tersebut.
Konsep Fisika Singkat: Waktu, Kecepatan, dan Jarak
Secara sederhana, jarak dapat dihitung dari kecepatan dikali waktu. Pada proyek ini, gelombang ultrasonik bergerak melalui udara. Kecepatan bunyi di udara sering dibulatkan sekitar 343 meter per detik pada suhu ruang, atau sekitar 0,034 cm per mikrodetik.
Namun durasi yang dibaca sensor adalah perjalanan pergi dan pulang. Artinya, gelombang bergerak dari sensor ke benda, lalu kembali lagi ke sensor. Karena itu rumus yang digunakan adalah:
jarak = durasi × 0,034 / 2
Pembagian 2 diperlukan karena kita hanya membutuhkan jarak satu arah dari sensor ke benda, bukan jarak total pergi-pulang.
Skema Koneksi HC-SR04 ke Arduino
Hubungkan sensor HC-SR04 ke Arduino dengan susunan berikut:
| Pin HC-SR04 | Pin Arduino UNO | Keterangan |
|---|---|---|
| VCC | 5V | Sumber tegangan sensor |
| Trig | Digital 9 | Pin pemicu gelombang |
| Echo | Digital 10 | Pin pembaca pantulan |
| GND | GND | Ground |
Pastikan kabel VCC dan GND tidak tertukar. Kesalahan paling umum pada percobaan sensor adalah rangkaian terlihat benar, tetapi ground belum terhubung dengan baik.
Jika Anda ingin menampilkan hasil pengukuran ke layar LCD, Anda bisa menggabungkan proyek ini dengan panduan cara menampilkan tulisan di LCD menggunakan Arduino UNO. Untuk tahap awal, kita cukup memakai Serial Monitor agar rangkaian tetap sederhana.
Kode Arduino Alat Ukur Jarak HC-SR04
Buka Arduino IDE, buat sketch baru, lalu salin kode berikut:
const int trigPin = 9;
const int echoPin = 10;
long duration;
float distanceCm;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
// Pastikan trigPin dalam kondisi LOW terlebih dahulu
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// Kirim pulsa HIGH selama 10 mikrodetik
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Baca durasi pantulan pada pin Echo
duration = pulseIn(echoPin, HIGH);
// Konversi durasi menjadi jarak dalam cm
distanceCm = duration * 0.034 / 2;
Serial.print("Jarak: ");
Serial.print(distanceCm);
Serial.println(" cm");
delay(500);
}
Setelah kode diunggah, buka menu Tools > Serial Monitor. Pastikan baud rate di Serial Monitor diatur ke 9600. Arahkan sensor ke benda datar, lalu ubah jaraknya pelan-pelan. Nilai jarak akan berubah mengikuti posisi benda.
Penjelasan Kode
Pada bagian awal, kita menentukan pin yang digunakan:
const int trigPin = 9;
const int echoPin = 10;
Pin 9 digunakan untuk memberi perintah kepada sensor agar memancarkan gelombang ultrasonik. Pin 10 digunakan untuk membaca pantulan yang diterima oleh sensor.
Bagian berikut membuat pulsa pendek selama 10 mikrodetik:
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Setelah itu Arduino membaca durasi sinyal pantulan:
duration = pulseIn(echoPin, HIGH);
Fungsi pulseIn() digunakan untuk mengukur lamanya pin berada pada kondisi HIGH. Jika ingin membaca dokumentasi resminya, Anda dapat melihat halaman Arduino Reference tentang pulseIn().
Cara Menguji Hasil Pengukuran
- Letakkan sensor menghadap benda datar, misalnya buku atau papan.
- Gunakan penggaris untuk menentukan jarak awal, misalnya 10 cm.
- Buka Serial Monitor dan perhatikan nilai yang muncul.
- Geser benda ke jarak 15 cm, 20 cm, dan 30 cm.
- Catat hasil pengukuran sensor lalu bandingkan dengan penggaris.
Kegiatan ini bisa dijadikan praktikum sederhana. Peserta didik dapat membuat tabel perbandingan antara jarak penggaris dan jarak hasil sensor, kemudian menghitung selisihnya. Dari sini mereka dapat belajar tentang ketelitian alat ukur, kesalahan pengukuran, dan faktor lingkungan yang memengaruhi hasil percobaan.
Tips Agar Pembacaan Sensor Lebih Stabil
- Gunakan objek yang permukaannya datar dan cukup lebar.
- Hindari mengukur benda yang terlalu miring karena pantulan gelombang bisa menyebar ke arah lain.
- Jangan menempelkan objek terlalu dekat dengan sensor.
- Pastikan kabel jumper terpasang kuat.
- Uji beberapa kali dan gunakan nilai rata-rata jika diperlukan.
Jika ingin mengembangkan proyek dengan output visual, Anda dapat menambahkan LCD seperti pada proyek termometer digital Arduino dengan DHT11 dan LCD. Dengan begitu, alat ukur jarak bisa bekerja tanpa harus selalu membuka Serial Monitor di laptop.
Troubleshooting Masalah yang Sering Terjadi
1. Serial Monitor tidak menampilkan angka
Periksa kembali baud rate Serial Monitor. Pada kode di atas digunakan Serial.begin(9600), jadi Serial Monitor juga harus menggunakan 9600 baud.
2. Nilai jarak selalu 0 atau tidak masuk akal
Biasanya masalah ini terjadi karena pin Trig dan Echo tertukar, kabel GND tidak terhubung, atau sensor tidak mendapatkan tegangan 5V. Periksa ulang tabel koneksi sebelum mengganti kode.
3. Nilai berubah-ubah terlalu besar
Gunakan benda yang permukaannya lebih rata. Hindari permukaan kain, busa, atau benda kecil yang sulit memantulkan gelombang ultrasonik dengan baik.
4. Upload kode gagal
Pastikan board dan port sudah dipilih dengan benar pada Arduino IDE. Jika port tidak muncul, coba cabut-pasang kabel USB atau gunakan kabel data yang berbeda. Panduan instalasi dan penggunaan Arduino IDE dapat dilihat di dokumentasi resmi Arduino IDE.
Ide Pengembangan Proyek
- Menambahkan LCD 16×2 agar jarak tampil langsung di alat.
- Menambahkan buzzer sebagai alarm jika benda terlalu dekat.
- Membuat alat bantu parkir sederhana.
- Membuat pengukur tinggi badan sederhana dengan posisi sensor menghadap ke bawah.
- Menggabungkan data jarak dengan grafik di komputer untuk praktikum gerak.
Untuk latihan sensor lain, Anda juga dapat mencoba proyek lampu malam otomatis dengan sensor cahaya LDR. Dengan mencoba beberapa jenis sensor, pemula akan lebih cepat memahami pola umum pemrograman Arduino: membaca input, memproses data, lalu menghasilkan output.
Manfaat untuk Pembelajaran IPA/Fisika
Proyek Arduino HC-SR04 dapat digunakan untuk menjelaskan beberapa konsep fisika, antara lain gelombang bunyi, pengukuran jarak, kecepatan, waktu tempuh, ketelitian alat, dan kesalahan pengukuran. Guru atau dosen dapat meminta peserta didik membuat tabel data, menghitung rata-rata, lalu mendiskusikan mengapa hasil sensor tidak selalu sama persis dengan penggaris.
Dengan pendekatan ini, Arduino tidak hanya menjadi alat praktik elektronika, tetapi juga jembatan untuk memahami konsep sains secara lebih konkret.
Kesimpulan
Membuat alat ukur jarak dengan Arduino dan sensor ultrasonik HC-SR04 adalah proyek yang sederhana, murah, dan cocok untuk pemula. Rangkaiannya hanya membutuhkan empat koneksi utama, sedangkan kodenya cukup singkat untuk dipahami tahap demi tahap.
Proyek ini juga sangat baik untuk pembelajaran fisika karena menghubungkan konsep gelombang bunyi, waktu, kecepatan, dan jarak dalam satu percobaan nyata. Setelah berhasil, Anda bisa mengembangkannya menjadi alat ukur dengan LCD, alarm jarak, atau media praktikum yang lebih lengkap.
FAQ
Apakah HC-SR04 bisa digunakan tanpa breadboard?
Bisa, asalkan kabel jumper dapat terhubung dengan kuat. Namun untuk belajar, breadboard lebih disarankan karena rangkaian lebih rapi dan mudah diperiksa.
Apakah sensor ini bisa mengukur semua benda?
Tidak selalu. Sensor bekerja lebih baik pada benda yang permukaannya datar dan keras. Benda yang terlalu kecil, miring, atau menyerap bunyi dapat menghasilkan pembacaan yang kurang stabil.
Apakah proyek ini cocok untuk siswa pemula?
Ya. Proyek ini cocok untuk pemula karena hanya menggunakan satu sensor dan kode dasarnya mudah diikuti. Guru dapat menambahkan tugas analisis data agar kegiatan lebih bermakna secara sains.
Tinggalkan Balasan