Cara menggunakan sensor HC-SR04


Gambar diatas adalah bentuk dari sensor HC-SR04, sensor ini merupakan salah satu jenis sensor ultrasonic digital, yang umumnya digunakan sebagai sensor jarak. Bila kitaperhatikan, disana terdapat 2 benda yang mirip dengan speaker kecil, benda tersebut berfungsi sebagai pemancar dan penerima bunyi ultrasonic. Speaker kecil pada bagian kiri berfungsi sebagai transmitter/pemancar yang mengeluarkan bunyi, biasa disebut dengan trigger. Pada sisi sebelah kanan berfungsi sebagai Receiver/penerima bunyi, biasa disebut echo.
Bunyi dapat merambat melalui udara, zat padat dan zat cair. Cepat rambat bunyi pada zat padat lebih cepat dibandingkan dengan zat cair dan gas. Untuk lebih jelasnya dapat dilihat pada tabel berikut

Medium
Cepat rambat bunyi (m/s)
Udara (0°C)
331
Udara (15°C)
340
Air (25°C)
1490
Air Laut (25°C)
1530
Alumunium (20°C)
5100
Tembaga (20°C)
3560
Besi (20°C)
5130

Sumber: blog.ruangguru.com/cepat-rambat-bunyi
Pada saat suara dari trigger mengenai sebuah benda, maka benda tersebut akan memantulkan kembali suara tersebut, yang kemudian akan diterima oleh echo. Ilustrasinya seperti pada Gambar berikut:

Ilustrasi cara kerja HC-SR04
Cepat rambat bunyi dapat diselesaikan dengan menggunakan rumus yang dibuat oleh van beek dan moll, rumus tersebut yaitu:
V= s/t
Dimana
V = Kecepatan (m/s).
s = jarak (m)
t = waktu (s)
Selanjutnya kita akan mencoba menerapkan rumus ini untuk memprogram Arduino, untuk itu rangkailah terlebih dahulu sensor HC-SR04 dan Arduino seperti pada Gambar dibawah

Kemudian upload program dibawah ini melalui Arduino IDE


Pembahasan program.
Untuk mulai menggunakan sensor, maka pin trigger harus di matikan terlebih dahulu, tujuannya adalah supaya bunyi yang dikirimkan tidak tercampur dengan bunyi sebelumnya, oleh karena itu pada program diatas diberikan perintah digitalWrite(trigPin, LOW); kemudian diberi jeda selama 2 Microseconds, setelah itu barulah trigger dihidupkan.
Echo berfungsi untuk membaca suara yang dipantulkan, oleh karena itu diberikan perintah PulseIn(), yang berfungsi untuk membaca pulse (HIGH atau LOW) pada pin echo. Selanjutnya untuk membaca jarak, digunakan rumus sebagai berikut;
jarak = (duration*0.034)/2;  atau sama dengan s=v.t/2
Dimana:
duration (t) adalah waktu yang dibutuhkan untuk menangkap suara yang dipantulkan.
0.034 (v) didapat dari cepat rambat suara di udara(15°C) yang sudah dijelakan pada tabel diatas. Karena satuan waktu yang digunakan dalam program adalah Microseconds, maka dilakukan perhitungan 340/10000 = 0.034, hal ini karena 1 seconds = 10000 Microseconds.
Kemudian hasilnya dibagi 2, karena suara akan dikirimkan kemudian dipantulkan kembali (Pulang pergi :D ), sehigga harus dibagi 2.

Comments