Tutorial : Mengukur Jarak Menggunakan Arduino Uno dan Ultrasonic Sensor

Tutorial : Mengukur Jarak Menggunakan Arduino Uno dan Ultrasonic Sensor

Tutorial berikut mempelajari:

  1. Cara kerja Ultrasonic Sensor
  2. Mengukur jarak suato obyek menggunakan Sensor Ultrasonic HC-SR04
  3. Filter noise hasil pengukuran jaral Sensor Ultrasonic

Kebutuhan Hardware:

  1. Arduino Uno + Usb Kabel
  2. Sensor Ultrasonic
  3. 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");
}