Tutorial : Mengukur Jarak Menggunakan Arduino Uno dan Ultrasonic Sensor
Tutorial berikut mempelajari:
- Cara kerja Ultrasonic Sensor
- Mengukur jarak suato obyek menggunakan Sensor Ultrasonic HC-SR04
- Filter noise hasil pengukuran jaral Sensor Ultrasonic
Kebutuhan Hardware:
- Arduino Uno + Usb Kabel
- Sensor Ultrasonic
- Kabel Jumper Dupont
SENSOR ULTRASONIC
Sensor Ultrasonic HC-SR04 digunakan untuk mengukur jarak suatu benda menggunakan gelombang ultrasonic

Pinout
Sensor Ultrasonic HC-SR04 memiliki 4 pin sebagai berikut:
- VCC pin, perlu dihubungkan ke VCC 5Vdc
- GND pin, perlu dihubungkan ke GND 0Vdc
- TRIG pin, Input: menerima signal atau pulsa sebagai kontrol dari Arduino
- ECHO pin, Output: mengirim sebuah sinyal atau pulsa ke Arduino. Arduino mengukur durasi dari pulsa untuk dikalkulasi menjadi jarak
Cara kerja
- Mikrokontroler menrimkan sebuah pulsa 10 mikrodetik ke sensor pin TRIG
- Secara otomatis sensor ultrasonic memancarkan gelombang ultrasonic
- Gelombang mengenai penghalang, gelombang berbalik ke sensor
- Ultrasonic sensor mendeteksi gelombang balik dan mengukur waktu tempuh gelombang tersebut
- Sensor ultrasonic menghasilkan sebuah pulsa pada pin ECHO lama pulsa adalah berbanding lurus dengan waktu tempuh gelombang ultrasonic
- Mikrokontroler menghitung lama pulsa ECHO dan mengkalkulasi jarak antara sensor dan benda
Mengukur Jarak
- Waktu tempuh dari gelombang ultrasonic adalah lama pulsa dalam mikrodetik (uS)
- Kecepatan geombang ultrasonc = kecepatan suara = 340 m/s = 0.034 cm/uS
- Jadi jarak tempuh gelombang ultrasonic = kecepatan x waktu tempuh = 0.034 x lama pulsa
- Jarak antara sensor dengan benda : jarak tempuh / 2 = 0.017 x lama pulsa
DIAGRAM

Code:
#define echoPin 2 // hubungkan pin D2 Arduino ke pin Echo HC-SR04 #define trigPin 3 //hubungkan pin D3 Arduino ke pin Trig of HC-SR04 long duration; // variable untuk waktu tempuh gelombang int distance; // variable pengukuran jarak void setup() { pinMode(trigPin, OUTPUT); // Set trigPin sebagai OUTOUT pinMode(echoPin, INPUT); // Set echoPin sebagai INPUT Serial.begin(9600); // // Serial Communication Serial.println("Ultrasonic Sensor HC-SR04 Test"); // print hasil ke Serial Monitor Serial.println("with Arduino UNO R3"); } void loop() { // Clear trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); // Set trigPin HIGH (ACTIVE) selama 10 microseconds digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // baca echoPin, return adalah waktu tempuh dalam mikro detik duration = pulseIn(echoPin, HIGH); // kalkulasi jarak distance = duration * 0.034 / 2; // kecepatan gelombang / 2 // tampilkan jara pada Serial Monitor Serial.print("Distance: "); Serial.print(distance); Serial.println(" cm"); }