Kamis, 09 Maret 2017

Tutorial Belajar Arduino Part 14: Sensor Ultrasonik

Gelombang ultrasonik merupakan gelombang yang umum digunakan untuk radar untuk mendeteksi keberadaan suatu benda dengan memperkirakan jarak antara sensor dan benda tersebut. Dalam ebook ini, kita akan mempelajarinya dengan salah satu sensor ultrasonik HC-SR04 sebab sensor ini juga relatif terjangkau untuk pembelajaran. Bentuk fisik dari sensor ini tampak seperti gambar Sensor ultrasonik HC-SR04


Sekilas tentang Sensor Ultrasonik
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik).
Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumba-lumba. Bunyi ultrasonik bisa merambat melalui zat padat, cair dan gas. Reflektivitas bunyi ultrasonik di permukaan zat padat hampir sama dengan reflektivitas bunyi ultrasonik di permukaan zat cair. Akan tetapi, gelombang bunyi ultrasonik akan diserap oleh tekstil dan busa.

Berikut ini adalah beberapa aplikasi dari gelombang ultrasonik:
-            Dalam bidang kesehatan, gelombang ultrasonik bisa digunakan untuk melihat organ-organ dalam tubuh manusia seperti untuk mendeteksi tumor, liver, otak dan menghancurkan batu ginjal. Gelombang ultrasonik juga dimanfaatkan pada alat USG (ultrasonografi) yang biasa digunakan oleh dokter kandungan.
-            Dalam bidang industri, gelombang ultrasonik digunakan untuk mendeteksi keretakan pada logam, meratakan campuran besi dan timah, meratakan campuran susu agar homogen, mensterilkan makanan yang diawetkan dalam kaleng, dan membersihkan benda benda yang sangat halus. Gelombang ultrasonik juga bisa digunakan untuk mendeteksi keberadaan mineral maupun minyak bumi yang tersimpan di dalam perut bumi.
-            Dalam bidang pertahanan, gelombang ultrasonik digunakan sebagai radar atau navigasi, di darat maupun di dalam air. Gelombang ultrasonik digunakan oleh kapal pemburu untuk mengetahui keberadaan kapal selam, dipasang pada kapal selam untuk mengetahui keberadaan kapal yang berada di atas permukaan air, mengukur kedalaman palung laut, mendeteksi ranjau, dan menentukan puosisi sekelompok ikan.


Cara Kerja Sensor Ultrasonik


Gambar Cara kerja sensor ultrasonik

Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang disebut dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan menghasilkan gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator

diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan gelombang ultrasonik menuju suatu area atau suatu target. Setelah gelombang menyentuh permukaan target, maka target akan memantulkan kembali gelombang tersebut. Gelombang pantulan dari target akan ditangkap oleh sensor, kemudian sensor menghitung selisih antara waktu pengiriman gelombang dan waktu gelombang pantul.

Karena kecepatan bunyi adalah 340 m/s, maka rumus untuk mencari jarak berdasarkan ultrasonik adalah :



dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul), dan t adalah selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika gelombang pantul diterima receiver.

HC-SR04 merupakan sensor ultrasonik siap pakai, satu alat yang berfungsi sebagai pengirim, penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur jarak benda dari 2cm - 4m dengan akurasi 3mm. Dengan demikian, untuk menghitung jarak yang hanya maksimal 4 m maka rumus di atas harus dimodifikasi atau disesuaikan satuannya. Mikrokontroller bisa bekerja pada order mikrosekon (1s = 1.000.000 ps) dan satuan jarak bisa kita ubah ke satuan cm (1m = 100 cm). Oleh sebab itu, rumus di atas bisa diupdate menjadi:



Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc untuk listrik positif dan Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari sensor dan pin Echo untuk menangkap sinyal pantul dari benda.
Cara menggunakan alat ini yaitu:
-            Ketika kita memberikan tegangan positif pada pin Trigger selama 10pS, maka sensor akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz
-            Selanjutnya, sinyal akan diterima pada pin Echo
-            Untuk mengukur jarak benda yang memantulkan sinyal tersebut, selisih waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut
-            Rumus untuk menghitung jaraknya adalah S = (0.034 *t) / 2 cm.
-            Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04
-             
Gambar Timing HC-SR04



Rangkaian Sensor Jarak dengan HC-SR04
 Rangkaian Sensor jarak dengan HC-SR04

Buatlah rangkaian seperti Rangkaian
1.        VCC pada HC-SR04 dihubungkan ke +5V pada board Arduino
2.        GND disambungkan ke GND
3.        Pin Trig (Trigger) disambungkan ke pin 10 pada board Arduino
4.        Pin Echo disambungkan ke pin 9 pada board Arduino

Program Sensor Jarak

// Sketch Program sensor jarak
// pin 9 trigger
// pin 10 echo
const int pTrig = 9;
const int pEcho = 10;
void setup() {
 Serial.begin(9600);
 pinMode(pTrig, OUTPUT);
 pinMode(pEcho, INPUT);
}
long durasi = 0;
void loop() {
 // trigger selama 10us
 digitalWrite(pTrig, HIGH);
 delayMicroseconds(10);
 digitalWrite(pTrig, LOW);
 durasi = pulseIn(pEcho, HIGH);
 Serial.print("Durasi: ");
 Serial.print(durasi);
 Serial.print(", Jarak: ");
 Serial.println((durasi *0.034)/2);
 delay(1000);
}

Program pada Sketch Program sensor jarak akan mengaktifkan pin Trigger selama 10ps, kemudian akan menunggu hingga pin Echo bernilai HIGH. Perhatikan pada baris
durasi = pulseIn(pEcho, HIGH);

Fungsi pulseIn() akan memerintahkan sistem untuk menunggu hingga pin Echo bernilai HIGH. Lama proses menunggu akan dianggap sebagai durasi pengiriman + penerimaan sinyal echo yang dipantulkan oleh benda.
Sedikit penjelasan tentang fungsi pulseIn(), fungsi ini standarnya memiliki 3 parameter, 2 parameter Pin dan Value dan 1 parameter Timeout sebagai parameter tambahan:

pulseIn(Pin, Value); 
pulseIn(Pin, Value, Timeout);

Pada parameter Value, kita bisa memasukkan HIGH atau LOW, jadi Arduino akan menunggu hingga kondisi tersebut dipenuhi. Sedangkan Timeout digunakan ketika dalam waktu tertentu kondisi belum juga terpenuhi. Begitulah dasar dari pembuatan sensor jarak dengan sensor ultrasonik HC-SR04.



2 komentar: