Cara Menggunakan Ultrasonic Sensor dengan Arduino

Oke sobat netizen kali ini saya akan membagikan bagaimana cara menggunakan Modul Ultrasonic Sensor HC-SR04.

Sensor ini banyak sekali kegunaanya bisa untuk project Penggaris Digital, Tong Sampah Otomatis, Mengukur ketinggian air, Membuat Radar, Pendeteksi Hambatan atau Object dan masih banyak lagi project yang bisa kita buat menggunakan Ultrasonic Sensor ini dan kali ini saya akan menjelaskan dasar penggunaananya di Artikel Kali ini.

Bentuk Sensor

Spesifikasi :

  • Supply Tegangan :+5V DC
  • Arus Kerja : 15mA
  • Perkiraan Jarak Efektif : 2cm – 400 cm
  • Resolusi : 0.3 cm
  • Dimensi Modul : 45mm x 20mm x 15mm

Pin Sensor

PIN FUNGSI
VCC 5 Volt DC
TRIG INPUT
ECHO OUTPUT
GND GND

Prinsip Kerja Ultrasonic Sensor

Seperti gambar di atas prinsip kerja ultrasonic sensor ini adalah sinar ultrasonic dipancarkan melalui Trigger, Sinyal yang dipancarkan tersebut kemudian akan merambat sebagai sinyal / gelombang bunyi dengan kecepatan bunyi yang berkisar 340 m/s.

Setelah sinyal mendapati object di depannya maka sinyal akan mengirim kembali gelombang ultrasonic ke Echo, Jadi pada dasarnya Gelombang terpancar melalui Trigger lalu diterima kembali oleh Echo saat ada object terdekteksi di depanya.

Sekarang mari kita praktekan bagaimana mengukur jarak menggunakan Sensor ini. Pertama – tama sobat rangkai dulu Sensor dan Arduinonya Seperti gambar di bawah ini.

Rangkaian Pengukur Jarak (Penggaris Digital)

Pada contoh di atas saya menggunakan Arduino Nano, Namun apabila sobat tidak mempunyai Arduino Nano sobat bisa gunakan Arduino yang lainya. Petunjuk Rangkaian :

Ultrasonic Sensor —–> Arduino Nano

Pin VCC Sensor Ultrasonic —–> Pin 5V Arduino Nano

Pin Trig Sensor Ultrasonic —–> Pin D7 Arduino Nano

Pin Echo Sensor Ultrasonic —–> Pin D6 Arduino Nano

Pin GND Sensor Ultrasonic —–> Pin GND Arduino Nano

Setelah selesai Merangkai selanjutnya sobat masukan coding di bawah ini :

#define echoPin 6 //Echo Pin
#define trigPin 7 //Trigger Pin
 
long durasi, jarak; //waktu untuk kalkulasi jarak
 
void setup() {
Serial.begin (9600); //mnemulai koneksi serial

//deklarasi pin sebagai Input dan Output
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
 
void loop() {

digitalWrite(trigPin, LOW);delayMicroseconds(2);   //Set Posisi Triger Off
digitalWrite(trigPin, HIGH);delayMicroseconds(10); //Set Posisi Trigger On
digitalWrite(trigPin, LOW);                       //Set Posisi Trigger Off 
durasi = pulseIn(echoPin, HIGH);                  // Menghitung Gelombang yang masuk ke Echo dan menyimpan di dalam Variabel Durasi
 
//perhitungan untuk dijadikan jarak
jarak = (durasi/2) / 29.1; 
 
Serial.print(jarak);
Serial.println(" Cm");
 
//waktu tunda 5 detik
delay(5000);
}

Kalau sobat sudah mengupload coding di atas ke Arduino selanjutnya sobat buka Serial Monitor untuk mengetahui berapa jarak benda yang ada di depan Ultrasonic Sensor ini, Akan tampil seperti gambar di bawah ini

Perlu sobat ketahui jarak efektif pengukuran digital Sensor ini adalah berkisar 200Cm – 400Cm lebih dari jarak itu sensor tidak dapat melakukan pengukuran.

Nah mungkin sobat sedikit bingung di bagian code jarak = (durasi/2) / 29.1 Dapat saya jelaskan bahwa Rumus Mengukur Jarak adalah :

S = 343.t / 2

S = Jarak yang ditempuh gelombang terhadap object pantul

t = selisih waktu antara Pemancar Gelombang (Trig) ke penerima gelombang ultrasonik (Echo)

Oke disini saya jelaskan supaya bisa dipahami oleh sobat sekalian Kenapa angka di atas 343 dan kenapa harus dibagi 2. Oke langsung saja

Kecepatan Gelombang Suara adalah 343 m/s —-> 0.0343 cm/ μS —–> 1/29.1 cm/ μS

Masih bingung kenapa bisa dapet 1/29.1 ?, Oke kita belajar matematika dasar.

Nah setelah itu Gelombang akan dibagi 2 karena gelombang keluar (Trig) ditambah dengan gelombang masuk atau gelombang pantul (Echo) barulah nantinya Serial Monitor akan menampilkan berapa jarak benda yang ada di depan Sensor.

Baca Juga : Membuat Kran Cuci Tangan Otomatis dengan Arduino

Sekarang setelah kita mengetahui cara mengukur jarak kita akan membuat percobaan untuk mengukur jarak object di depan sensor dan apabila object tersebut berjarak kurang lebih 5 Cm maka Buzzer akan berbunyi.

Rangkaian Penggaris Digital dengan Indikator

Petunjuk Rangkaian :

Ultrasonic Sensor —–> Arduino Nano

Pin VCC Sensor Ultrasonic —–> Pin 5V Arduino Nano

Pin Trig Sensor Ultrasonic —–> Pin D7 Arduino Nano

Pin Echo Sensor Ultrasonic —–> Pin D6 Arduino Nano

Pin GND Sensor Ultrasonic —–> Pin GND Arduino Nano

Buzzer —–> Arduino Nano

Pin VCC (+) Buzzer —–> Pin D3 Arduino Nano

Pin GND (-) Buzzer —–> Pin Gnd Arduino Nano

LED —–> Arduino Nano

Pin VCC (+) LED 1 —–> Pin D4 Arduino Nano

Pin VCC (+) LED 2 —–> Pin D5 Arduino Nano

Pin GND (-) LED 1 & LED 2 —–> Pin Gnd Arduino Nano

Setelah sobat merangkai seperti gambar di atas sekarang sobat masukan coding seperti di bawah ini :

#define echoPin 6 //Echo Pin
#define trigPin 7 //Trigger Pin
#define Buzz 3 //Pin Buzzer
#define Led1 4 // Pin Led1
#define Led2 5 // Pin Led 2
 
long durasi, jarak; //waktu untuk kalkulasi jarak
 
void setup() {
Serial.begin (9600); //mnemulai koneksi serial

//deklarasi pin sebagai Input dan Output
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Buzz,OUTPUT);
pinMode(Led1,OUTPUT);
pinMode(Led2,OUTPUT);

digitalWrite(Led2,LOW);
digitalWrite(Led1,LOW);
digitalWrite(Buzz,LOW); 
}
 
void loop() {

int jarakMaksimum = 5;
int jarakMenengah = 50;

digitalWrite(trigPin, LOW);delayMicroseconds(2);    //Set Posisi Triger Off
digitalWrite(trigPin, HIGH);delayMicroseconds(10);  //Set Posisi Trigger On
digitalWrite(trigPin, LOW);                         //Set Posisi Trigger Off Kembali
durasi = pulseIn(echoPin, HIGH);                    // Menghitung Gelombang yang masuk ke Echo dan menyimpan di dalam Variabel Durasi
 
//perhitungan untuk dijadikan jarak
jarak = (durasi/2) / 29.1; 
 
Serial.print(jarak);
Serial.println(" Cm");

if (jarak >= jarakMenengah)  
{
  digitalWrite(Led1,LOW);
  digitalWrite(Buzz,LOW);
  digitalWrite(Led2,HIGH); 
} else if(jarak >=jarakMaksimum){
  digitalWrite(Led2,HIGH);
  digitalWrite(Led1,HIGH);
  digitalWrite(Buzz,LOW); 
}else if (jarak <= jarakMaksimum){
  digitalWrite(Led2,HIGH);
  digitalWrite(Led1,HIGH);
  digitalWrite(Buzz,HIGH); 
}
  
//waktu tunda 50 milidetik
delay(50);
}

Rangkaian di atas ini sangat cocok di aplikasiakan pada Sistem Parkir Rumah agar saat mobil mundur gak ketabrak dan untuk Hasil dari rangkaian di atas sobat bisa melihatnya melalui Video di bawah ini.

Mungkin Sekian dulu yang bisa saya bagikan mengenai Ultrasonic Sensor ini apabila ada pertanyaan bisa langsung saja ditulis di kolom komentar.

Bagikan Postingan ini :

Putu Artha

Seorang Laki- Laki yang senang berbagi ilmu seputar Informasi Teknologi dan Elektronika Serta pengalaman yang pernah saya lakukan

Leave a Reply