pengukuran-jarak-dengan-sensor-ultrasonic-hc-sr04

Pengukuran Jarak Dengan Sensor Ultrasonic HC-SR04

SFE Electronics 0 Comments 23-February-2019 03:04:21

I. Introduction

hcsr04_tutorial

Sensor Ultrasonik atau sonar sensor adalah sensor yang menggunakan suara ultrasonik untuk mendeteksi objek yang ada di hadapannya dan dapat digunakan untuk mendeteksi jarak. Cara kerjanya adalah, sensor tersebut akan mengeluarkan gelombang ultrasonik sebesar 40000Hz, jika dalam jalur penyebaran gelombang ultrasonik tersebut terdapat sebuah benda atau objek maka, signal tersebut akan memantuk balik ke modul. Dengan mempertimbangkan waktu dan kecepatan dari suara tersebut maka kita akan dapat menentukan jarak.

Spesifikasi HC-SR04

Tegangan 5 VDC
Arus 15mA
Frekuensi 40Hz
Jarak Maksimum 4m
Jarak Minimum 2cm
Sudut Pengukuran 15 degree
Trigger Input Signal 10uS TTL pulse
Echo Output Signal  

II. Hardware And Software

Hardware

  • Arduino Uno
  • Sensor Ultrasonic HC-SR04
  • Mini Breadboard
  • Male to Female Kabel Jumper
  • LCD 16x2

Software

  • Arduino IDE
  • NewPing library

III. Skematik

Koneksi Pin

Arduino   LCD
4 ----- D7
5 ----- D6
6 ----- D5
7 ----- D4
11 ----- RS
12 ----- E

 

Arduino   HC-SR04
2 ----- Trig
3 ----- Echo

IV. Source Code


/*
 * Tutorial Pengukuran Jarak
 * Dengan Sensor Ultrasonic HC-SR04
 */

#include <NewPing.h> 
#include <Wire.h> 
#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,7,6,5,4);
#define PIN_TRIGGER 2
#define PIN_ECHO 3
#define JARAK_MAKSIMUM 400

NewPing sonar(PIN_TRIGGER, PIN_ECHO, JARAK_MAKSIMUM);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  lcd.begin(16,2);
  
}

void loop() {
  // put your main code here, to run repeatedly:
  float jarak = sonar.ping_cm();

  // Menampilkan data ke serial monitor
  Serial.print(jarak);
  Serial.println(" cm");

  // Menampilkan data ke LCD
  lcd.clear();
 
  if(jarak >= 400 || jarak <= 2){
    lcd.setCursor(0, 0);
    lcd.print("Out Of Range");
  }else{
    lcd.setCursor(0, 0);
    lcd.print("Jarak:");
    lcd.setCursor(6, 0);
    lcd.print(jarak);
    lcd.print(" cm");
  }
  delay(500);
}