Anda membutuhkan sensor jarak / detektor halangan untuk proyek robotika Anda? Kami menjual modul sensor jarak ultrasonik HC-SR04 Ultrasonic Range Sensor dengan harga murah untuk membantu Anda membangun robot idaman Anda!

Sensor jarak ini menggunakan sonar (gelombang ultrasonik) untuk menentukan jarak dari benda yang berada di depannya, cara kerjanya mirip seperti cara navigasi lumba-lumba atau kelelawar. Sistem sonar ini juga yang digunakan oleh kapal survei untuk memetakan dasar laut.

HC-SR04 memiliki kinerja yang baik dalam mendeteksi jarak, dengan tingkat akurasi yang tinggi serta deteksi yang stabil. Penggunaannya pun sangat mudah, misalnya pada Arduino cukup hubungkan keluaran dari modul sensor ini dengan pin masukan digital dari papan pengembang ini. Hitung waktu antara saat pengiriman signal dengan saat signal pantulan diterima, bagi dengan dua kali kecepatan suara, maka jarak yang terdeteksi akan segera didapatkan.

Spesifikasi Sensor HC-SR04

Pertanyaan yang Sering Diajukan / F.A.Q.

Q: apa bedanya modul HC-SR04 dengan US-020?
A: walaupun fungsinya mirip, pada aplikasinya banyak pengguna melaporkan bahwa HC-SR04 lebih presisi dan stabil dalam melaporkan deteksi jarak dibanding US-020. Secara spesifikasi US-020 memang memiliki jangkauan deteksi lebih jauh namun pada prakteknya tidak demikian, bahkan pada deteksi di jarak lebih dari 1m US-020 kehilangan presisinya sementara HC-SR04 masih bekerja dengan baik. Silakan baca hasil diskusi tentang HC-SR04 v.s. US-020 di forum komunitas Arduino berikut ini.

Q: apa bedanya modul HC-SR04 dengan sensor ultrasonik SRF05?
Secara parameter operasional keduanya mirip, bedanya SRF05 mempunyai moda operasi tambahan di mana pendeteksian dapat dilakukan dengan 1 pin saja (pin trigger and echo dalam koneksi tunggal). Selain itu SRF05 memiliki jarak deteksi yang lebih jauh, akurat hingga 4 meter. Silakan baca artikel perbandingan HC-SR04 dengan SRF05.

Q: apa bedanya modul HC-SR04 dengan sensor jarak berbasis inframerah?
A: Cara kerja HC-SR04 menggunakan sonar (gelombang suara pada frekuensi ultrasonik) yang tidak terpengaruh dengan cahaya sekitar, berbeda dengan sensor yang menggunakan gelombang inframerah di mana pancaran cahaya dapat dengan mudah terganggu (interferensi gelombang) oleh radiasi inframerah dari berbagai sumber

Berikut diagram waktu dari penggunaan sensor ini:


Bangkitkan pulsa pendek sepanjang 10µS sebagi sinyal pemicu ke pin picu masukan dari modul ini untuk mulai pendeteksian (catat waktu saat ini), HC-SR04 akan memancarkan 8 siklus gelombang ultrasonik pada frekuensi 40 kHz. Saat gelombang suara ini menabrak objek (benda atau dinding di depannya), gelombang akan dipantulkan balik dan diterima oleh detektor yang kemudian membangkitkan sinyal deteksi di pin keluaran modul. Lama selang waktu antara pengiriman signal hingga pendeteksian sinyal pantulan adalah waktu yang ditempuh gelombang suara, yaitu sepanjang dua kali jarak antara sensor dan objek yang terdeteksi karena signal berjalan pulang-pergi. Dengan mengetahui selang waktu ini dan kecepatan rambat suara di udara (340 meter/detik pada udara kering, atau 3,4x108µs), jarak dapat dihitung sesuai rumus jarak = kecepatan x waktu.

Rumus matematika yang disederhanakan untuk menghitung jarak tersebut dalam sentimeter adalah lama selang waktu dalam mikrodetik (sepersejuta detik) dibagi 58,2.

Berikut contoh diagram koneksi antara Arduino Uno dengan modul sensor jarak ultrasonik HC-SR04:



Berikut ini adalah contoh sketsa Arduino (kode program Arduino) yang menggunakan sensor ini sebagai pengukur jarak benda di depan sensor, sesuai dengan pin-pin yang dihubungkan pada contoh gambar di atas (ini contoh sederhana, akan lebih akurat bila signal pengirim dikirimkan dengan manipulasi port secara langsung dan signal deteksi / echo disambungkan ke pin yang dapat berfungsi sebagai interupsi eksternal menggunakan ISR):

/*
HC-SR04 Ping distance sensor:
VCC to arduino 5v
GND to arduino GND
Echo to Arduino pin 7
Trig to Arduino pin 8

*/

#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
#define LEDPin 13 // Onboard LED

intmaximumRange = 200; // Maximum range needed
intminimumRange = 0; // Minimum range needed
longduration, distance; // Duration used to calculate distance

voidsetup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
}

voidloop() {
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

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

digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);

//Calculate the distance (in cm) based on the speed of sound.
distance = duration/58.2;

if(distance >= maximumRange || distance <= minimumRange){
/* Send a negative number to computer and Turn LED ON
to indicate "out of range" */
Serial.println("-1");
digitalWrite(LEDPin, HIGH);
}
else{
/* Send the distance to the computer using Serial protocol, and
turn LED OFF to indicate successful reading. */
Serial.println(distance);
digitalWrite(LEDPin, LOW);
}

//Delay 65ms before next reading
delay(65);
}