Cara Menggunakan Sensor Ultrasonik HC-SR04 dengan Arduino

mili Ampere
27 Januari 2020 12:25
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Sensor Ultrasonik HC-SR04 bisa dibilang sensor jarak yang paling populer di kalangan pengguna arduino. Hal ini dikarenakan sensor ini cukup mudah digunakan, akurat dan harganya murah.

arduino dan sensor HCSR04
arduino dan sensor HCSR04

Sensor ini bekerja dengan cara memancarakan gelombang ultrasonik lewat transmitternya. Jika kemudian gelombang tersebut mengenai sebuah halangan makan gelombang tersebut akan terpancar balik dan mengenai bagian receiver/penerima.

Dengan memanfaatkan pengetahuan kita tentang kecepatan suara, maka kita bisa mendapatkan nilai jarak berdasarkan waktu tempuh yang dibutuhkan dari gelombang mulai dipancarkan sampai kembali lagi ke receiver.

Seperti yang kita dapatkan pada fisika waktu SMP, cara mendapatkan nilai jarak adalah :

S = v x t

Dengan kecepatan suara yang sudah kita ketahui nilainya dan waktu yang kita dapatkan dari waktu tempuh pada saat transmitter mengirimkan gelombang dan gelombang kembali ke receiver. Namun, jarak yang hendak kita cari adalah jarak sensor ke sebuah benda penghalang. Maka waktu tempuh yang kita pakai harusnya dibagi 2.

S = v x t / 2

Jika kita menggunakan 340m/s sebagai kecepatan suara maka kita mendapatkan rumus :

S = 340 x t / 2 (jarak dalam meter dan dalam detik)

Jika kita menginginkan jarak dalam satuan cm maka kita bisa tahu bahwa untuk menempuh jarak 1m dibutuhkan waktu 1/340 atau 0,00294 detik, dan untuk jarak 1cm dibutuhkan waktu 0,0000294 detik. Kebetulan arduino mempunyai kemampuan untuk menghitung selisih waktu dengan satuan mikro detik sehingga untuk menempuh 1 cm waktu yang dibutuhkan adalah 29,4 mikro detik.

Dengan penjelasan di atas maka bisa kita turunkan rumus baru untuk mendapatkan jarak dalam satuan cm yaitu:

S = t/29,4/2

Jadi jika kamu penasaran mendapatkan banyak program di internet mengapa begitu semoga penjelasan di atas cukup mewakili ya.

Pengkabelan Rangkaian/Wiring

arduino dengan sensor ultrasonik HC-SR04

Program/Coding

/*-------------PROGRAM UJICOBA SENSOR ULTRASONIK----------
   diambil dari https://breakrow.com/mili-ampere
*/

const int trig = 8;
const int ech = 9;
void setup() {
  pinMode(trig, OUTPUT);
  pinMode(ech, INPUT);
  Serial.begin(9600);
}
void loop() {
  digitalWrite(trig, LOW);
  delayMicroseconds(2);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);
  long timeRequied = pulseIn(ech, HIGH); //waktu tempuh
  int distance = (timeRequied / 2) / 29.4; //hitung jarak
  Serial.print(distance);
  Serial.println(" cm");
  delay(1000);
}

Jika kamu belum paham dari program di atas, pulseIn merupakan fungsi arduino yang bisa menghitung lama waktu semenjak fungsi tersebut dipanggil sampai pin yang dimaksud berubah kondisi logikanya.

Dalam contoh di atas pin ech merupakan pin 9 dan fungsi tersebut menghitung lama waktu sampai pin tersebut berubah menjadi HIGH.

Berikut screenshot hasil pengukuran dari sensor tersebut:

Serial monitor HCSR04

PC


  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •