norr@manorshi.com         +86-519-89185720
1
Pusat Berita

Bagaimana cara menggunakan sensor ultrasonik dengan Arduino?

Dilihat: 164     Penulis: Grace Waktu Publikasi: 26-07-2021 Asal: Lokasi

tombol berbagi facebook
tombol berbagi twitter
tombol berbagi baris
tombol berbagi WeChat
tombol berbagi tertaut
tombol berbagi pinterest
tombol berbagi whatsapp
tombol berbagi kakao
tombol berbagi snapchat
tombol berbagi telegram
bagikan tombol berbagi ini

Cara Menggunakan Sensor Ultrasonik dengan Arduino: Panduan HC-SR04

Itu Sensor ultrasonik HC-SR04 adalah salah satu modul pengukuran jarak paling populer untuk proyek Arduino. Ini banyak digunakan dalam robot penghindar rintangan, sensor parkir, deteksi level, tempat sampah pintar, pengukur jarak, dan aplikasi penginderaan non-kontak lainnya.

Modul ini memancarkan gelombang ultrasonik 40kHz melalui pemancar. Ketika gelombang suara bertemu dengan suatu benda, gelombang suara tersebut dipantulkan kembali ke penerima. Dengan mengukur waktu gema dan menggunakan kecepatan suara, Arduino dapat menghitung jarak antara sensor dan objek.

Modul sensor ultrasonik HC-SR04 untuk pengukuran jarak Arduino

Parameter Teknis Utama HC-SR04

Parameter Nilai
Tegangan kerja tipikal 5VDC
Arus kerja statis Kurang dari 5mA pada beberapa versi modul
Frekuensi operasi Gelombang ultrasonik 40kHz
Jarak deteksi Kisaran umum: 2cm hingga 400cm; beberapa versi yang disesuaikan dengan penguatan mungkin mendukung jangkauan yang lebih jauh.
Sudut deteksi Biasanya dalam 15 derajat; beberapa versi dengan penguatan lebih tinggi bisa mencapai sekitar 30 derajat.
Presisi Hingga sekitar 0,3 cm dalam kondisi pengujian yang sesuai
Zona buta Jarak pengukuran minimum sekitar 2cm

Deskripsi Pin HC-SR04

Modul ultrasonik HC-SR04 memiliki empat pin: VCC, TRIG, ECHO, dan GND. Arduino mengirimkan pulsa pemicu pendek ke pin TRIG, kemudian membaca pulsa balik dari pin ECHO.

Pin HC-SR04 Koneksi Arduino Fungsi
VCC 5V Catu daya untuk modul ultrasonik.
TRIGONOMETRI Pin digital 9 Masukan pemicu. Arduino menerapkan pulsa 10us untuk memulai jangkauan.
GEMA Pin digital 10 Keluaran gema. Arduino membaca lebar pulsa untuk menghitung jarak.
GND GND Koneksi darat.

Pinout sensor ultrasonik HC-SR04 VCC TRIG ECHO GND

Prinsip Kerja Sensor Ultrasonik HC-SR04

HC-SR04 bekerja berdasarkan pengukuran waktu penerbangan. Arduino mengirimkan sinyal pemicu tingkat tinggi minimal 10 mikrodetik ke pin TRIG. Modul kemudian secara otomatis mengirimkan delapan pulsa ultrasonik 40kHz dan menunggu gema yang dipantulkan.

Ketika sinyal ultrasonik yang dipantulkan terdeteksi, pin ECHO mengeluarkan pulsa tingkat tinggi. Durasi pulsa ini adalah waktu tempuh pulang pergi gelombang ultrasonik.

Jarak = Gema waktu tingkat tinggi × Kecepatan suara / 2

Dalam kode Arduino, rumus umum yang disederhanakan adalah:

Jarak dalam cm = durasi × ​​0,0343 / 2

Prinsip kerja modul ultrasonik waktu penerbangan HC-SR04

Diagram Waktu Modul Ultrasonik HC-SR04

Proses pengaturan waktunya sederhana: Arduino menjaga TRIG tetap rendah sebentar, mengirimkan pulsa tinggi 10us, lalu mengembalikan TRIG ke rendah. HC-SR04 mengirimkan ledakan ultrasonik dan menyetel ECHO tinggi hingga sinyal yang dipantulkan kembali atau waktu pengukuran habis.

Untuk menghindari pembacaan yang tidak stabil, berikan jeda singkat di antara pengukuran. Siklus pengukuran sekitar 60 ms biasanya digunakan sehingga gema ultrasonik sebelumnya memiliki waktu untuk menghilang sebelum pemicu berikutnya.

Dasar-dasar Pemrograman Arduino: Fungsi pulseIn

Fungsi Arduino pulseIn() digunakan untuk mengukur berapa lama pin digital tetap HIGH atau LOW. Untuk HC-SR04, Arduino menggunakan pulseIn(echoPin, HIGH) untuk membaca lebar pulsa tingkat tinggi dari pin ECHO.

Sintaksis Arti
pulseIn(pin, nilai) Membaca durasi pulsa HIGH atau LOW.
pulseIn(pin, nilai, batas waktu) Membaca pulsa dengan nilai batas waktu dalam mikrodetik.

Disarankan menggunakan batas waktu. Jika tidak ada gema yang dikembalikan, fungsi tersebut dapat berhenti menunggu dan mengembalikan 0 alih-alih memblokir program terlalu lama.

Papan Arduino digunakan dengan sensor jarak ultrasonik HC-SR04

Cara Menghubungkan Sensor Ultrasonik HC-SR04 ke Arduino

Pengkabelannya mudah. Hubungkan VCC ke 5V, GND ke GND, TRIG ke pin output digital Arduino, dan ECHO ke pin input digital Arduino. Contoh berikut menggunakan Arduino Uno, TRIG pada pin 9, dan ECHO pada pin 10.

Diagram pengkabelan papan tempat memotong roti Arduino Uno untuk sensor ultrasonik HC-SR04

Kode Arduino Sensor Ultrasonik HC-SR04

Program khas Arduino berikut mengirimkan pulsa pemicu 10us, membaca lebar pulsa ECHO, menghitung jarak dalam sentimeter, dan mencetak hasilnya di Serial Monitor.

const int trigPin = 9; const int echoPin = 10; durasi lama; jarak pelampungCm; batal pengaturan() { pinMode(trigPin, OUTPUT);   pinMode(echoPin, INPUT);   Serial.mulai(9600); } void loop() { digitalWrite(trigPin, RENDAH);   penundaanMikrodetik(2);   digitalWrite(trigPin, TINGGI);   penundaanMikrodetik(10);   digitalWrite(trigPin, RENDAH);   durasi = pulseIn(echoPin, TINGGI, 30000);   if (durasi == 0) { Serial.println('Di luar jangkauan');   } else { distanceCm = durasi * 0,0343 / 2;     Serial.print('Jarak: ');     Serial.print(jarakCm);     Serial.println(' cm');   } penundaan(60); }

Jika Anda melihat nilai jarak di Serial Monitor, sensor ultrasonik HC-SR04 dan kabel Arduino berfungsi dengan benar. Anda kemudian dapat menggunakan data jarak untuk mendeteksi rintangan, mengontrol pergerakan robot, pintu otomatis, pengingat parkir, atau proyek level cairan.

Program jangkauan sensor ultrasonik Arduino HC-SR04

Cara Meningkatkan Akurasi Pengukuran HC-SR04

  • Jaga objek yang diukur dalam rentang jarak yang disarankan dan di luar zona buta 2cm.

  • Gunakan permukaan target yang datar dan padat untuk refleksi ultrasonik yang lebih baik.

  • Hindari mengukur bahan yang lembut, bersudut, berpori, atau menyerap suara.

  • Gunakan catu daya 5V yang stabil dan jaga agar kabel tetap pendek dan aman.

  • Tambahkan batas waktu ke pulseIn() untuk mencegah pemblokiran lama ketika tidak ada gema yang kembali.

  • Rata-rata atau median-filter beberapa pembacaan untuk mengurangi noise.

  • Untuk akurasi yang lebih tinggi, kompensasikan suhu karena kecepatan suara berubah seiring suhu udara.

Aplikasi Umum Proyek Sensor Ultrasonik Arduino

Aplikasi Bagaimana HC-SR04 Digunakan
Robot penghindar rintangan Mendeteksi objek di sekitar dan membantu robot mengubah arah.
Sensor jarak parkir Mengukur jarak antara kendaraan dan rintangan.
Deteksi level cairan Mengukur jarak dari sensor ke permukaan cairan tanpa kontak.
Tempat sampah pintar Mendeteksi tangan atau benda di dekatnya dan memicu pembukaan tutup otomatis.

Ringkasan

Untuk menggunakan sensor ultrasonik HC-SR04 dengan Arduino, sambungkan VCC ke 5V, GND ke GND, TRIG ke pin output digital, dan ECHO ke pin input digital. Kirim pulsa pemicu 10us, baca durasi gema dengan pulseIn(), dan hitung jarak dengan rumus waktu penerbangan.

HC-SR04 tidak mahal, mudah digunakan, dan cocok untuk banyak proyek pengukuran jarak Arduino. Untuk hasil terbaik, perhatikan permukaan target, sudut pengukuran, zona buta, daya stabil, penanganan batas waktu, dan efek suhu.

Pertanyaan Yang Sering Diajukan Tentang Sensor Ultrasonik Arduino HC-SR04

Bagaimana cara kerja sensor ultrasonik HC-SR04 dengan Arduino?

Arduino mengirimkan pulsa 10us ke pin TRIG. HC-SR04 memancarkan delapan pulsa ultrasonik 40kHz dan menyetel pin ECHO tinggi hingga suara yang dipantulkan kembali. Arduino mengukur waktu pulsa ini dan menghitung jarak.

Apa rumus jarak untuk proyek Arduino HC-SR04?

Rumusnya adalah jarak = durasi × ​​kecepatan suara / 2. Dalam sentimeter, rumus umum Arduino adalah jarakCm = durasi × ​​0,0343 / 2, dimana durasi diukur dalam mikrodetik.

Mengapa hasil sensor ultrasonik kita bagi 2?

Waktu gema yang diukur adalah waktu bolak-balik dari sensor ke objek dan kembali ke sensor. Membaginya dengan 2 menghasilkan jarak satu arah antara sensor dan objek.

Pin Arduino mana yang harus saya gunakan untuk TRIG dan ECHO?

Anda dapat menggunakan sebagian besar pin digital Arduino. Dalam banyak contoh, TRIG terhubung ke pin digital 9 dan ECHO terhubung ke pin digital 10. Kode harus cocok dengan pin yang digunakan pada kabel Anda.

Mengapa sensor ultrasonik HC-SR04 saya mengembalikan nilai nol atau acak?

Penyebab umum termasuk kabel longgar, daya 5V tidak stabil, nomor pin TRIG atau ECHO salah, tidak ada objek dalam jangkauan, permukaan target miring, bahan lembut, kepala sensor tersumbat, atau tidak ada batas waktu dalam fungsi pulseIn().

Apa zona buta pada sensor ultrasonik HC-SR04?

Zona buta adalah jarak minimum dimana modul tidak dapat mengukur dengan andal. Untuk HC-SR04, zona buta biasanya sekitar 2cm. Objek yang lebih dekat dari ini dapat menghasilkan pembacaan yang tidak stabil.

Bisakah HC-SR04 mengukur ketinggian air dengan Arduino?

Ya, HC-SR04 dapat digunakan untuk proyek ketinggian air non-kontak sederhana jika sensor terlindung dari kelembapan dan dipasang di atas permukaan cairan. Untuk tangki lembab, luar ruangan, atau industri, disarankan menggunakan sensor ultrasonik tahan air.

Bagaimana saya bisa membuat pembacaan sensor ultrasonik Arduino lebih stabil?

Gunakan catu daya yang stabil, jaga agar sensor tetap tegak lurus terhadap target, hindari permukaan lunak atau miring, tambahkan batas waktu pulseIn, lakukan beberapa pembacaan, gunakan pemfilteran median, dan beri jarak sekitar 60ms antar pengukuran.

Daftar Isi