• Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
Minggu, Juni 29, 2025
mikroavr.com
No Result
View All Result
  • Login
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
  • Arduino
    • Sensor
    • program Arduino
  • Project
  • Produk
  • IOT
No Result
View All Result
mikroavr
No Result
View All Result
Home Arduino

Membaca Sensor Jarak Ultrasonik HC-SR04 dengan Arduino

Jimmi Sitepu by Jimmi Sitepu
Oktober 6, 2020
0 0
0
sensor ultrasonic hc-sr04 arduino

sensor ultrasonic hc-sr04 arduino

22
SHARES
29.5k
VIEWS
Share on FacebookShare on Twitter

Sensor Jarak Ultrasonik

Bagaimana Ultrasonik Bekerja?

Sensor Ultrasonik ini memancar kan gelombang suara dengan frequensi 40.000Hz melalui udara, ketika gelombang suara terkena suatu objek maka gelombang suara tersebut akan kembali ke sensor, atau bagian penerima sensor tersebut. Untuk waktu perjalanan gelombang suara dan kecepatan gelombang nya, maka kita dapat hitung jarak antara sensor dengan objek yang terkena. Untuk Cara kerja nya bisa teman-teman lihat di video buatan luar ini.

Sensor Ultrasonic memiliki 4 Pin atau kaki, yaitu kaki ground, VCC, Trig dan Echo. Ground di hubungkan ke GND Arduino atau gnd power supply kemudian VCC kita hubungkan ke +5v dari Pin Arduino dalam kasus kita ini. Untuk konfigurasi PIN Arduino dengan PIN sensor ultrasonic, teman teman bisa lihat table sederhana di bawah ini.

READ ALSO

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

PIN ArduinoPIN HC-SR04
GNDGND
+5VVCC
D2Echo
D3Trig

Untuk menghasilkan Sinyal ultrasound kita harus setting pin trigger dalam kondisi high selama 10uS. Maka Ultrasound akan mengirim sinyal sebanyak 8 bit dengan kecepatan suara di udara dan sinyal kembali akan di terima oleh pin Echo. Pin Echo akan  mengelurkan output waktu dalam micro seconds waktu perjalanan dari ultrasound ini.

Pada gambar di atas misalkan kita jarak sensor dengan objek adalah 10cm, kemudian pin Triger di trigger sehingga memancarkan sinyal ultrasound. Dari nilai kecepatan suara kita akan mendapakan waktu ( T) selama perjalanan sinyal. Jarak Aktual adalah T ( Waktu ) x V(sound)/2.

S = T ( Waktu ) x V(sound)/2. 

Spesifikasi Sensor HC-SR04

Agar sensor dapat beroprasi dengan baik dan benar, ada baik nya kita lihat spesifikasi sensor ultrasonic ini, Berikut adalah spesifikasi sensor ultrasonic nya,

Electrical ParametersHC-SR04 UltrasonicModule 
Operating Voltage DC-5V
Operating Current15mA
Operating Frequency 40KHZ
FarthestRange 4m
Nearest Range 2cm
Measuring Angle 15Degree
InputTrigger Signal10usTTLpulse
OutputEcho SignalOutputTTLlevel signal,proportional withrange
Dimensions 45*20*15mm

di atas kita lihat bahwa jarak terjauh dari sensor adalah 4m, tau 400cm, tapi setelah kami uji sendiri, sensor hanya mampu menempuh jarak lebih dari 3m saja, mungkin karena original dan tidak origanl dari suatu sensor.

Setelah kita dapat persamaan di atas dan spesifikasi dari sensor ini, bagaiamana kah coding Arduino nya untuk membaca sensor Ultrasonic tipe HC-SR04 ini? yuk kita coba

Coding Ultrasonic

Data jarak ultrasonic akan kita tampilkan di LCD 16×2, namun teman-teman coba perhatikan, kita menggunakan LCD I2C auto scan, jadi teman-teman pastikan sudah membaca tutorial, bagaimana cara menggunakan library autoscan LCD i2C, cukup tekan link di bawah ini,

Tutorial auto scan LCD i2C

Pada program ini PIN Trig akan di dirubah dari kondisi LOW menjadi High dan di tahan selama 2 uS ( micro seconds) kemudian di rubah menjadi kondisi High dan ditahan selama 10uS. Setelah itu di kembalikan kondisi Low pada PIN Trigger nya. Setelah itu PIN echo akan mengeluarkan sinyal seperti penjelasan di atas dan akan di baca oleh pin 3. Pembacaan nya menggunakan fungsi pulseIN. Sementara pulseIn adalah suatu fungsi untuk membaca pulsa.

Apakah tertarik ingin belajar Arduino dari modul belajar arduino buatan mikroavr? cukup clik tombol merah di bawah ini,

modul belajar arduino

Bagaiaman kah program nya? Berikut program nya,

#include <Wire.h> 
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(16, 2);
 
const byte Echo = 2;//kaki ultrasonik
const byte Trig = 3;//kaki ultrasonik
long duration;
int distance; 
int jarak;
String line1, line2;
unsigned long old_time;
 
void setup() {
   lcd.autoAddress();
   lcd.begin();
   pinMode(Echo, INPUT);
   pinMode(Trig, OUTPUT);
}
 
void loop() {
   if( millis() - old_time >= 250 ){
    get_data();
    old_time = millis();
   }
}
void baca_sensor(int trigPin, int echoPin){
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin,LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034/2; 
}
void get_data(){
  baca_sensor(Trig,Echo);
  jarak = distance;
  line1 = "Ukur Jarak";
  line2 = String("Jarak: ") + jarak + (" cm");
  lcd.clear();
  lcd.setCursor(0,0);
  lcd.print(line1);
  lcd.setCursor(0,1);
  lcd.print(line2);
}

nah, bagaimana teman-teman? Mudah bukan membaca jarak dengan Sensor Ultrasonik? Yuk sekarang kita sederhanakan lagi program di atas, agar program nya bisa di kembangkan mengguanakan sensor ultrasonik yang lebih banyak, namun dengan coding yang lebih ringkas dan tidak berulang ulang.


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(16, 2);

const byte Echo = 2;//kaki ultrasonik
const byte Trig = 3;//kaki ultrasonik

const byte Echo2 = 4;//kaki ultrasonik
const byte Trig2 = 5;//kaki ultrasonik


String str_jarak, str_jarak2;
unsigned long old_time;

void setup() {
  lcd.autoAddress();
  lcd.begin();
  pinMode(Echo, INPUT);
  pinMode(Trig, OUTPUT);
  pinMode(Echo2, INPUT);
  pinMode(Trig2, OUTPUT);
}

void loop() {
  if ( millis() - old_time >= 250 ) {
    str_jarak = String(baca_sensor(Echo, Trig)) + " Cm";
    str_jarak2 = String(baca_sensor(Echo2, Trig2)) + " Cm";

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print(str_jarak);
    lcd.setCursor(0, 1);
    lcd.print(str_jarak2);
    old_time = millis();
  }
}

int baca_sensor(int trigPin, int echoPin) {
  long duration;
  int distance;
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2;
  return distance;
}

Sekarang coba lihat program di atas, jadi lebih mudah, program hanya tambah beberapa line, padahal ada dua sensor Ultrasonik yang di tambahkan pada Arduino nya. Semoga tulisan ini bermanfaat bagi teman-teman

Thanks

Tags: sensor jaraksensor pingultrasonik
Share22Tweet
Previous Post

74hc595 Arduino Untuk LCD 16×2 dan 20×4 – Program dan Rangkaian

Next Post

Fungsi digitalWrite pada Arduino, Contoh Rangkaian dan Program nya

Jimmi Sitepu

Jimmi Sitepu

Hobbyist Embedded System, Robotic, IOT and write all about them. So we have nice quote "Learning and Sharing"

Related Posts

sensor URM14 Arduino
ESP32

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega
Arduino

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32
Arduino

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino
Arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022
solder i2c arduino lcd
Arduino

Tutorial Program Arduino Lcd i2c dan Library nya

Februari 24, 2022
tft lcd arduino shield
Arduino

Tutorial Mudah TFT lcd Arduino untuk Membuat Jam Digital

Februari 24, 2022
Next Post
fungsi digitalWrite

Fungsi digitalWrite pada Arduino, Contoh Rangkaian dan Program nya

program led berjalan

Program Led Berjalan Dengan CodeVision AVR Atmega16/32

Please login to join discussion

Tulisan Terbaru

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
Mendapatkan Waktu Akurat dengan NTP GPS

Mendapatkan Waktu Akurat dengan NTP GPS

Mei 8, 2022
Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

Custome GPS Logger Arduino dengan Akeses Internet SIM7600 4G

April 14, 2022
Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Tutorial Menggunakan Weather Station DFRobot SEN0186 dengan Arduino ESP32

Maret 9, 2022
ethernet arduino

Arduino Ethernet Tutorial, Project dengan Arduino Uno dan Mega

Februari 24, 2022

Browse by Category

  • Arduino
  • Ebook
  • ESP32
  • IOT
  • jasa
  • Komponen
  • PCB
  • Produk
  • program Arduino
  • Project
  • Rangkaian
  • Sensor
  • Tips
  • Uncategorized

Recent News

sensor URM14 Arduino

Membaca Sensor URM14 RS485 dengan ESP32 Arduino

Juli 7, 2022
4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

4G GSM Modul Arduino SIM7600 Cocok Untuk ESP32, STM32 atau Arduino Mega

Juni 13, 2022
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.

Welcome Back!

Sign In with Google
OR

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

No Result
View All Result
  • About US
  • Blog
  • MIKROAVR

© 2020 mikroavr.com - Learning and sharing.