Mengukur Jarak Dengan Sensor Ultrasonik HC-SR04

Jarak dapat diukur dengan menggunakan sensor ultrasonic, salah satu modul sensor ultrasonic yang umum di pasaran adalah HC-SR04 sebagaimana ditunjukkan di Gambar 1. Sensor ini dapat mendeteksi objek yang berjarak 2 cm hingga 400 cm, dengan tingkat presisi sebesar 0,3 cm

Sensor Ultrasonik HC-SR04
Gambar 1 : Sensor Ultrasonik HC-SR04

Sensor ultrasonic adalah sensor yang bekerja atas dasar gelombang suara. Mula-mula, gelombang suara dipantulkan oleh suatu bagian pengirim yang dinamakan Trigger. kemudian, gelombang suara pantulan akan ditangkap oleh bagian penerima yang dinamakan Echo. Waktu yang diperlukan dari saat gelombang suara dikirim hingga diterima kembali dapat digunakan untuk menghitung jarak antara pengirim objek yang memantulkan suara.

Empat pin yang tersedia di modul HC-SR04 sebagai berikut :

Pin Keterangan
Pin 1 Vcc (dihubungkan ke tegangan +5V)
Pin 2 Trig (untuk mengirim gelombang suara)
Pin 3 Echo (untuk menerima pantulan gelombang suara)
Pin 4 Gnd (dihubungkan ke ground)

Jarak antara sensor dan objek yang memantulkan gelombang suara dihitung dengan menggunakan rumus berikut :

Jarak = Kecepatan Suara * T / 2

Dalam hal ini, T adalah waktu tempuh dari saat sinyal ultrasonic dipancarkan hingga kembali. Perlu diketahui, kecepatan suara adalah 343 m/detik.

Prinsip pengiriman sinyal oleh Trig dan penerimaan oleh Echo adalah seperti berikut :

  • Trig harus dalam keadaan HIGH paling tidak selam 10 mikrodetik
  • Modul ultrasonic pun akan mengirim gelombang kotak dengan frekuensi 40 KHz
  • Gelombang yang dikirim tersebut akan dipantau dengan sendirinya oleh modul ultrasonic. Dalam hal ini, waktu yang digunakan dari saat pengiriman sinyal hingga diterima balik adalah T. pada waktu itulah pin Echo akan berada dalam keadaan HIGH. Nah, waktu T ini dapat diperloleh dengan memberikan perintah di Arduino.
T = pulseIn (echoPin, HIGH);
  • Karena T telah diperloleh, jarak dihitung dengan menggunakan :

Jarak = Kecepatan Suara * T / 2

Pembagi 2 diperlukan karena T adalah waktu yang diperlukan untuk menempuh dari sensor ke objek dan dari objek ke sensor. Mengingat kecepatan suara sebesar 343 m/detik atau sama dengan 34300 cm/detik, sedangkan T yang dihasilkan oleh Arduino dalam satuan mikrodetik. Oleh karena itu, jarak dalam satuan cm adalah:

Jarak = 0.0343 * T / 2 cm

Perhitungan jarak menggunakan sensor ultrasonik
Gambar 2 : Perhitungan jarak menggunakan sensor ultrasonik

Penyusunan rangkaian dapat dilihat di Gambar 3. Implementasi pengujian ditunjukkan di Gambar 4.

Rangkaian untuk menguji sensor ultrasonik
Gambar 3 : Rangkaian untuk menguji sensor ultrasonik
Pengujian untuk mengukur jarak
Gambar 4 : Pengujian untuk mengukur jarak

Sketch yang digunakan untuk mengukur jarak :

/*
* Mengukur Jarak Dengan Sensor Ultrasonik HC-SR04
*
* by Nasrullah,
* www.Letskeeplearning.NET
*
*/

const int trigPin = 9;
const int echoPin = 10;

long duration;
int distance;

void setup() {

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}

void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance= duration*0.0343/2;

Serial.print("Jarak: ");
Serial.print(distance);
Serial.println(" cm");
}

Source Code :

Berikut penjelasan dari sketch di atas,

const int trigPin = 9;
const int echoPin = 10;

Digunakan untuk menyatakan pin yang dihubungkan dengan pin Trig dan Echo milik sensor.

Di setup(), mode untuk pin trigPin dan echoPin diatur melalui:

pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);

Pemberian isyarat ke pin Trig selama 10 mikrodetik dilakukan melalui:

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

Perintah di atas membuat sensor ultrasonic bekerja untuk mengukur jarak objek yang berada di depannya. Selanjutnya, pengukuran waktu dari pengiriman gelombang suara hingga diterima di pin Echo dilakukan melalui perintah :

duration = pulseIn(echoPin, HIGH);

Pengukuran jarak dilakukan melalui perintah:

distance= duration*0.0343/2;

Langkah selanjutnya adalah verifikasi, compile serta upload sketch ke Arduino, bagi teman-teman yang belum memahami bagaimana cara verifikasi, compile serta upload sketch ke Arduino, bisa baca di sini.

Jika tidak ada kesalahan apapun di sketch, maka sketch bisa di-upload ke papan Arduino.

Totorial ini juga disediakan dalam bentuk video, sehingga teman-teman dapat dengan mudah mengikutinya

Don’t forget to Subscribe jika tutorial ini bermanfaat

Semoga bermanfaat…

Ayo terus belajar!