Gambar diatas ialah bentuk dari sensor HC-SR04, sensor ini merupakan salah satu jenis sensor ultrasonic digital, yang umumnya dipakai sebagai sensor jarak. Bila kitaperhatikan, disana terdapat 2 benda yang menyerupai dengan speaker kecil, benda tersebut berfungsi sebagai pemancar dan peserta bunyi ultrasonic. Speaker kecil pada bab 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 sanggup 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 sanggup dilihat pada tabel berikut
Bunyi sanggup 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 sanggup 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 ketika bunyi dari trigger mengenai sebuah benda, maka benda tersebut akan memantulkan kembali bunyi tersebut, yang kemudian akan diterima oleh echo. Ilustrasinya menyerupai pada Gambar berikut:
Ilustrasi cara kerja HC-SR04
Cepat rambat bunyi sanggup diselesaikan dengan memakai rumus yang dibentuk oleh van beek dan moll, rumus tersebut yaitu:
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 menyerupai pada Gambar dibawah

Kemudian upload jadwal dibawah ini melalui Arduino IDE
Pembahasan program.
Untuk mulai memakai sensor, maka pin trigger harus di matikan terlebih dahulu, tujuannya ialah biar bunyi yang dikirimkan tidak tercampur dengan bunyi sebelumnya, oleh alasannya itu pada jadwal diatas diberikan perintah digitalWrite(trigPin, LOW); kemudian diberi jeda selama 2 Microseconds, sehabis itu barulah trigger dihidupkan.
Echo berfungsi untuk membaca bunyi yang dipantulkan, oleh alasannya itu diberikan perintah PulseIn(), yang berfungsi untuk membaca pulse (HIGH atau LOW) pada pin echo. Selanjutnya untuk membaca jarak, dipakai rumus sebagai
Cepat rambat bunyi sanggup diselesaikan dengan memakai rumus yang dibentuk 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 menyerupai pada Gambar dibawah

Kemudian upload jadwal dibawah ini melalui Arduino IDE
Pembahasan program.
Untuk mulai memakai sensor, maka pin trigger harus di matikan terlebih dahulu, tujuannya ialah biar bunyi yang dikirimkan tidak tercampur dengan bunyi sebelumnya, oleh alasannya itu pada jadwal diatas diberikan perintah digitalWrite(trigPin, LOW); kemudian diberi jeda selama 2 Microseconds, sehabis itu barulah trigger dihidupkan.
Echo berfungsi untuk membaca bunyi yang dipantulkan, oleh alasannya itu diberikan perintah PulseIn(), yang berfungsi untuk membaca pulse (HIGH atau LOW) pada pin echo. Selanjutnya untuk membaca jarak, dipakai rumus sebagai
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 menyerupai pada Gambar dibawah

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