Pengukur jarak dengan Arduino dan Sensor Ultrasonik.

Aplikasi Arduino level sederhana ini kita buat dengan sensor ultrasonic, ya Arduino dan sensor ultrasonik. Hasilnya berupa alat yang mampu mengukur jarak sebuah object tanpa memakai alat ukur seperti penggaris atau meteran. Aplikasi Arduino ini termasuk dasar, adapun pengembangannya sangat banyak, diantaranya teman – teman dapat membuat alat pengukur level cairan dengan sensor ultrasonik, pengukur tinggi badan otomatis atau proyek yang lain. Jika teman – teman masih awal belajar Arduino silakan baca artikel berikut ini “Belajar Arduino untuk Pemula“.

Kenalan dulu ya dengan sensor ultrasonik. Sebenarnya ada banyak tipe sensornya tetapi pada aplikasi Arduino dan sensor ultrasonik ini kita ambil yang murah dan mudah diperoleh saja yaitu model SRF-04. Sensor ultrasonik yang terdiri dari 2 transducer ultrasonic : transmitter (pengirim) dan receiver (penerima) dengan kemampuan pengukuran 3 sampai 300 cm.

Mari kita perhatikan. Ada 4 pin/kaki pada sensor ultrasonik SRF04.

Berikut keterangannya :

  • Pin Trig (Triger) à sebagai pin/kaki untuk memicu (men-trigger) pemancaran gelombang ultrasonik. Cukup dengan membuat logika “HIGH – LOW” maka sensor akan memancarkan gelombang ultrasonik.
  • Pin Echo à sebagai pin/kaki untuk mendeteksi ultrasonik yang memantul (echo) kembali, apakah sudah diterima atau belum. Selama gelombang ultrasonik belum diterima, maka logika pin ECHO akan “HIGH”. Setelah gelombang ultrasonik diterima maka pin ECHO berlogika “LOW”.
  • Pin Vcc à sebagai pin koneksi ke power supply + 5 Vdc. Dapat juga dihubungkan langsung ke pin 5V Arduino.
  • Pin Gnd (Ground) à adalah pin koneksi ke power supply Ground. Dapat juga dihubungkan ke pin Gnd Arduino.

Prinsip dasar dari sensor ultrasonik SRF04 dapat kita jelaskan dengan mulai memperhatikan gambar berikut :

Timing diagram (diagram waktu) merupakan gambaran sinyal (HIGH & LOW) yang terjadi pada masing – masing pin (Trig & Echo) berdasarkan waktu.

Gambarnya kita potong satu persatu ya.. Kita mulai dari bagian atas. Bagian sinyal pin Trig.

Pin Trig berfungsi sebagai pemicu (trigger). Pin ini harus diberi sinyal “HIGH” kemudian “LOW”. Siapa yang memberinya ? Ya tentu saja Arduino. Berapa lama ? Seperti pada gambar yaitu minimal 10 µs (micro seconds).

Begitu mendapat trigger, sensor ultrasonik (bagian pemancar) akan memancarkan gelombang ultrasonik sebanyak 8 siklus dengan frekuensi 40 Khz. Gelombang ultrasonik akan terus merambat, bergerak dengan kecepatan 344 m/s.

Nah, selama gelombang ultrasonik masih merambat (belum mengenai penghalang/dinding), logika pin Echo adalah “HIGH”.

Begitu ultrasonik mengenai penghalang/dinding, sebagian gelombang akan diteruskan ke media yang ditabrak, sebagian lagi memantul dan kembali menuju arah sensor. Pada saat ultrasonik diterima kembali oleh sensor, maka otomatis pin ECHO akan berubah logikanya menjadi “LOW”.

Bagimana, sudah mulai ada gambaran ? OK, next ! Lebar pulsa atau “lamanya” pin ECHO berlogika “HIGH” = waktu tempuh ultrasonik.

Sekarang sudah paham kan ? Baik, kita perjelas :

  • Ketika gelombang ultrasonik memancar (transmit/pergi) maka logika pin Echo = 1.
  • Selama gelombang ultrasonik masih merambat (belum memantul kembali) logika pin Echo = 1.
  • Setelan gelombang ultrasonik memantul dan kembali trus terdeteksi oleh sensor penerima, maka pin ECHO = 0.

Kecepatan (cepat rambat) gelombang ultrasonik di udara = 344 m/s (meter per-detik). Artinya untuk menempuh jarak 344 m dibutuhkan waktu 1 detik. Atau untuk menempuh jarak 1 m butuh waktu 1/344 s atau 0,0029 s. Jika menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s = 0,000029 s (29 µs).

Nah karena gelombang ultrasonik melakukan perjalanan pergi – pulang (pancar – terima) sehingga waktu yang dibutuhkan menjadi 2x. Hal ini berpengaruh pada perhitungan jaraknya. Waktu tempuh menjadi 2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29 µs x 2 = 58 µs.

Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm dibutuhkan waktu 58 µs. Dengan kata lain, untuk menghitung jarak tempuh = waktu tempuh/58 (cm).
Contoh :
Waktu yang tercatat mulai dari ultrasonik dipancarkan sampai diterima adalah 5800 µs. Maka jarak yang terukur = 5800/58 = 100 cm.

Sekarang kita kembali ke Arduino dan sensor ultrasonik. Kita akan langsung praktek membuat pengukur jarak dengan Arduino dan sensor ultrasonik. Siapkan komponen – komponennya.

  • Arduino UNO
  • Sensor ultrasonic HC-SR04
  • Breadboard
  • Kabel konektor

Kemudian buat rangkaian Arduino dan sensor ultrasonik, seperti gambar berikut :

rangkaian arduino ultrasonik

Kita perhatikan sensor ultrasonik HC-SR04 hanya memerlukan 4 koneksi dengan Arduino UNO :

  • VCC — pin 5V (Arduino)
  • Gnd — pin GND (Arduino)
  • TRIG  –> pin 2 (Arduino)
  • ECHO –> pin 3 (Arduino)

Buka Arduino IDE, ketik program Arduino untuk pengukur jarak dengan ultrasonik.

Kalau sudah, simpan (save) kemudian upload ke board Arduino UNO. Hasilnya tampil di serial monitor. Dari menu Tools -> Serial Monitor, seting baudrate 9600. Lihat hasilnya.

Coba atur jarak antara sensor ultrasonic dengan obyek yang diukur kemudian amati hasilnya.

Kita lihat sebentar programnya. Pada baris pertama program berupa pendefinisian untuk pin sensor ultrasonik (TRIG dan ECHO) yang terhubung ke Arduino UNO. Hal ini tidak prinsip, hanya untuk mempermudah pembacaan program yang kita buat saja.

Pada fungsi Setup() diisi dengan seting baudrate serial komunikasi dan juga seting pin (pinMode) pada masing – masing pin Arduino yang terhubung ke sensor Ultrasonik. Untuk pin yang terhubung ke TRIG maka di-set sebagai pin OUTPUT dan pin yang terhubung dengan ECHO dibuat sebagai pin INPUT.

Berikutnya proses perhitungan jarak dengan mengikuti mekanisme sensor ultrasonik HC-SR04.

Pertama pin TRIG dibuat “HIGH” selama 10 micro second kemudian “LOW”, ini untuk perintah (TRIGGER) agar sensor ultrasonic memancarkan gelombang ultrasonic.

Kemudian pin ECHO dipantau kondisi logikanya, sambil “menghitung waktu”. Selama pin ECHO berlogika “HIGH” berarti pantulan gelombang ultrasonic belum diterima. Nah ketika pantulan sudah diterima maka kondisi ECHO menjadi “LOW” dan pada saat tersebut proses “menghitung waktu” berhenti sehingga diperoleh perhitungan waktunya yang masuk pada variable “echotime”. Langkah berikutnya adalah menghitung (konversi) ke jarak. Masih memakai rumus standard S=V*t. Jarak= kecepatan x waktu. Hanya saja waktu di-program-nya micro second dan kecepatan m/s (340 m/s) sehingga kita konversi ke cm/s sehingga programnya menjadi :

range1= 0.0001*((float)echotime*340.0)/2.0;

kenapa dibagi 2 ? betul.. karena waktunya merupakan waktu pancar – terima (pergi – pulang) sehingga jarak yang terukur menjadi 2x, jarak sebenarnya tinggal dibagi 2.

Alhamdulillah sudah selesai pembahasan kita kali ini aplikasi Arduino dan sensor ultrasonic untuk mengukur jarak. Semoga bermanfaat.

3 thoughts on “Pengukur jarak dengan Arduino dan Sensor Ultrasonik.

Leave a Reply

Your email address will not be published. Required fields are marked *