Tutorial Menggunakan Sensor Ultrasonik HC-SR04 dengan Arduino
Halo kawan, setelah beberapa waktu lalu kita membahas tutorial Arduino tentang cara menggunakan sensor LM35, kali ini kita akan membahas tutorial Arduino yang tidak kalah penting bagi pemula, yakni cara menggunakan sensor ultrasonik HC-SR04 (sensor jarak) dengan Arduino.
Ilustrasi cara kerja sensor ultrasonik (sumber: www.maxbotix.com) |
Sensor Ultrasonik HC-SR04 adalah sensor yang digunakan untuk mengukur jarak suatu objek berdasarkan prinsip kerja suara (ultrasonik). Sensor Ultrasonik HC-SR04 bekerja dengan cara mengirimkan suara (ultrasonik) dari Transceiver menuju objek yang berada di depannya, kemudian suara tersebut akan dipantulkan oleh objek kembali ke arah sensor dan diterima oleh Receiver.
Perhitungan jarak berdasarkan waktu pada sensor HC-SR04 |
Waktu yang dibutuhkan dari mulai suara ditembakkan hingga kembali diterima digunakan sebagai parameter untuk menentukan jarak antara objek terhadap sensor. Untuk menghitung jarak yang tepat antara objek dan sensor, kita dapat menggunakan rumus fisika berikut: Jarak = (Waktu yang dibutuhkan suara untuk terpantul kembali ke sensor / 2) x Kelajuan suara (343 m/s).
Kecepatan suara berdasarkan suhu dalam °C (sumber: www.wikipedia.com) |
Angka 343 m/s merupakan kelajuan suara di udara pada temperatur kamar (20°C). Sehingga, dengan mengetahui waktu yang dibutuhkan suara untuk terpantul kembali ke sensor, kita dapat dengan mudah menghitung jarak antara objek dan sensor.
Penerapan sensor ultrasonik sebagai pendeteksi obstacle (sumber: www.bosch-mobility-solutions.com) |
Sensor Ultrasonik HC-SR04 kompatibel dengan Arduino, sehingga sangat sering digunakan di dalam proyek-proyek Arduino sederhana maupun menengah. Contohnya, kita dapat membuat sebuah sistem parkir otomatis yang dapat menghitung jarak antara mobil dengan tembok atau garis batas parkir.
Atau, kita juga dapat membuat sebuah robot yang dapat menghindari obstakel di depannya dengan menggunakan sensor ultrasonik HC-SR04. Selain itu, sensor ultrasonik HC-SR04 juga dapat digunakan untuk membuat sebuah sistem keamanan yang dapat mendeteksi keberadaan orang di sekitar sensor.
Selain HC-SR04, terdapat juga beberapa jenis sensor ultrasonik lain seperti HC-SR05 dan JSN-SR04T yang juga banyak digunakan dalam proyek Arduino. Masing-masing memiliki kelebihan dan kekurangan yang perlu dipertimbangkan sebelum memutuskan untuk menggunakannya. Namun secara umum, semua jenis sensor ultrasonik tersebut memiliki prinsip kerja yang sama, yaitu mengukur jarak dengan menggunakan suara ultrasonik.
Pada artikel ini, kita akan membahas tuntas cara menggunakan sensor ultrasonik HC-SR04 dengan Arduino disertai dengan contoh kode program.
Ayok kita gas!
Spesifikasi Sensor Ultrasonik HC-SR04
Berikut adalah spesifikasi dari sensor ultrasonik HC-SR04 yang dikutip dari salah satu laman electroschematics.com.
- Working Voltage: DC 5V
- Working Current: 15mA
- Working Frequency: 40Hz
- Max Range: 4m
- Min Range: 2cm
- Measuring Angle: 15 degree
- Trigger Input Signal: 10µS TTL pulse
- Echo Output Signal Input TTL lever signal and the range in proportion
- Dimension 45 * 20 * 15mm
Komponen dan alat yang dibutuhkan
- Sensor Ultrasonik HC-SR04.
- Arduino Uno (jenis lain juga bisa).
- Breadboard (opsional).
- Beberapa kabel.
Rangkaian Skematik HC-SR04 Arduino
Rangkaian Skematik HC-SR04 dengan Arduino Uno |
Kode Program HC-SR04 Arduino
#include <NewPing.h> // Library sensor PING
#define TRIGGER_PIN 7 // Pin trigger HC-SR04
#define ECHO_PIN 6 // Pin echo HC-SR04
#define MAX_DISTANCE 200 // Jarak maksimum yang dapat diukur, maks 400 cm
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Inisialisasi sensor
void setup()
{
Serial.begin(9600); // Memulai komunikasi serial
Serial.println("https://mahirelektro.com"); // Mencetak teks pada serial monitor
delay(500); // Memberi jeda selama 500 milidetik
}
void loop()
{
delay(50); // Memberi jeda selama 50 milidetik setiap PING
Serial.print("Jarak = "); // Mencetak teks pada serial monitor
Serial.print(sonar.ping_cm()); // Mencetak jarak yang diukur oleh sensor (dalam cm)
Serial.println("cm"); // Mencetak teks pada serial monitor
}
Program di atas merupakan contoh kode sederhana untuk mengukur jarak menggunakan sensor ultrasonik HC-SR04 dengan Arduino. Pada program tersebut, terdapat beberapa tahap yang dilakukan yaitu:
- Menyertakan library NewPing yang diperlukan untuk mengakses fungsi-fungsi yang dibutuhkan untuk mengirim dan menerima sinyal ultrasonik.
- Mendefinisikan pin trigger dan pin echo pada Arduino serta jarak maksimum yang dapat diukur oleh sensor.
- Inisialisasi sensor dengan menggunakan fungsi NewPing dengan parameter pin trigger, pin echo, dan jarak maksimum.
- Memulai komunikasi serial dengan menggunakan fungsi Serial.begin().
- Dalam loop() terdapat perintah delay selama 50 milidetik untuk setiap iterasi agar tidak terlalu sering mengirim sinyal ultrasonik. Kemudian mencetak teks "Jarak = " pada serial monitor. Selanjutnya, mengirim sinyal ultrasonik dengan menggunakan fungsi sonar.ping_cm() dan mencetak hasilnya pada serial monitor.
Langkah-langkah
- Pastikan kawan-kawan sudah mengunduh dan memasang library NewPing. (Link di akhir artikel)
- Kode program di atas silakan disalin dan tempel di Arduino IDE.
- Pilih jenis board yang kawan pakai (di sini saya menggunakan board Arduino Uno).
- Pilih port dimana Arduino terhubung.
- Compile.
- Jika tidak ada kesalahan kawan bisa upload.
- Buka serial monitor, set baud rate ke 9600.
- Jika kawan benar melakukannya, maka hasil yang keluar di serial monitor setidaknya seperti gambar di bawah ini.
Hasil yang muncul pada serial monitor |
Download Library
Artikel Tentang Sensor Ultrasonik HC-SR04
Berikut adalah beberapa artikel yang membahas tentang sensor ultrasonik HC-SR04.
- Cara Kerja Sensor Ultrasonik dan Aplikasinya Dalam Kehidupan
- Tutorial Menampilkan Pembacaan Sensor HC-SR04 Pada LCD
- Menggunakan Sensor HC-SR04 Tanpa Library Pada Arduino
- Tutorial Menggunakan Sensor Ultrasonik pada Arduino
Penutup
Oke jadi itulah tutorial mengakses dan menggunakan Sensor Ultrasonik HC-SR04 menggunakan Arduino. Semoga artikel ini bermanfaat, di artikel berikutnya kita akan mencoba menampilkan hasil pembacaan HC-SR04 ke sebuah LCD 16x2. Sampai jumpa!
Gabung dalam percakapan