Read more
Membaca Jarak Sensor Ultrasonic ditampilkan ke LCD dengan Arduino
• Prinsip kerja sensor ultrasonik
Sensor Ultrasonik dapat berfungsi sebagai pemancar maupun penerima gelombang ultrasonik. Sensor yang ada di pasaran berbentuk silinder dengan warna silver.
Satu paket sensor ultrasonik terdiri dari 2 sensor. Dikemas dalam satu board. Satu sensor sebagai pemancar dan satu sensor lagi sebagai penerima.

Sensor Ultrasonik SRF04.
Ada beberapa macam sensor ultrasonik.ping sensor,srf04 srf 08,srf 05 dan sebagainya Tipe SRF04 salah satunya, yang akan kita pakai pada aplikasi ini. Kemampuan (range) ukur jarak antara 3 cm sd 400 cm. lebih dari cukup untuk mengukur tinggi orang tertinggi didunia sekalipun pada tahun tahun ini. mungkin berbeda jika sensor ini mau dipakai mengukur ketinggian kaum Ad.
Mari kita perhatikan. Ada 4 pin/kaki pada sensor SRF04.
Berikut keterangannya :
- Pin Trig (Triger) >> sebagai pin/kaki untuk memicu (mentrigger) pemancaran ngelombang ultrasonik. Cukup dengan membuat logika “HIGH – LOW” maka sensor akan memancarkan gelombang ultrasonik.
- Pin Echo >> sebagai pin/kaki untuk mendeteksi ultrasonik, apakah sudah diterima atau belum. Selama gelombang ultrasonik belum diterima, maka logika pin ECHO
akan “LOW”. Setelah gelombang ultrasonik diterima maka pin ECHO berlogika “HIGH”.
- Pin Vcc >> sebagai pin koneksi ke power supply + 5 Vdc. Dapat juga dihubungkan langsung ke pin Vcc mikrokontroler.
- Pin Gnd (Ground) >> adalah pin koneksi ke power supply Ground. Dapat juga dihubungkan ke pin Gnd mikrokontroler.
Prinsip dasar dari sensor ultrasonik SRF04 dapat kita jelaskan dengan mulai memperhatikan gambar berikut :
Timing diagram (diagram waktu) merupakan gambaran sinyal (HIGH & LOW) yang terjadi pada masing – masing pin (Trig & Echo) berdasarkan waktu.
Gambarnya kita potong satu persatu ya.. Kita mulai dari bagian atas. Bagian sinyal pin Trig.

Pin Trig berfungsi sebagai pemicu (trigger). Pin ini harus diberi sinyal “HIGH” kemudian “LOW”. Siapa yang memberinya ? Ya tentu saja mikrokontroler. Berapa lama ? Seperti pada gambar yaitu minimal 10 µs (micro seconds).
Begitu mendapat trigger, sensor ultrasonik (bagian pemancar) akan memancarkan gelombang ultrasonik sebanyak 8 siklus dengan frekuensi 40 Khz. Gelombang ultrasonik akan terus merambat, bergerak dengan kecepatan 344 m/s.

Nah, selama gelombang ultrasonik masih merambat (belum mengenai penghalang/dinding), logika pin Echo adalah “HIGH”.

Begitu ultrasonik mengenai penghalang/dinding, sebagian gelombang akan diteruskan ke media yang ditabrak, sebagian lagi memantul dan kembali menuju arah sensor. Pada saat ultrasonik diterima kembali oleh sensor, maka otomatis pin ECHO akan berubah logikanya menjadi “LOW”.

Gimana, sudah mulai ada gambaran ? OK, next ! Lebar pulsa atau “lamanya” pin ECHO berlogika “HIGH” = waktu tempuh ultrasonik.

Paham ? Baik, kita perjelas :
- Ketika gel.ultrasonik memancar (pergi) maka logika pin Echo = 1.
- Selama gel.ultrasonik masih merambat (belum kembali) logika pin Echo = 1.
- Setelah gel.ultrasonik memantul dan kembali trus terdeteksi oleh sensor penerima, maka pin ECHO = 0.
Jelas ?
Selesai...
Selanjutnya tinggal kita panggil guru matematika kita dulu waktu SMP untuk ngajari cara ngitungnya. Yups betul, jarak tempuhnya yang akan dihitung sehingga kita tahu berapa jarak antara sensor ultrasonik dengan dinding yang diukur.
Nih resepnya :
Kecepatan (cepat rambat) gelombang ultrasonik di udara = 344 m/s (meter per-detik).
Artinya untuk menempuh jarak 344 m dibutuhkan waktu1 detik.
Atau untuk menempuh jarak 1 m butuh waktu 1/344 s atau 0,0029 s.
Jika menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s = 0,000029 s (29 µs).
Nah karena gelombang ultrasonik melakukan perjalanan pergi – pulang (pancar – terima) sehingga waktu yang dibutuhkan menjadi 2x. Hal ini berpengaruh pada perhitungan jaraknya. Waktu tempuh menjadi 2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29 µs x 2 = 58 µs.
Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm dibutuhkan waktu 58 µs. Dengan kata lain, dibutuhkan waktu 58 µs. Dengan kata lain, untuk menghitung jarak tempuh = waktu tempuh/58 (cm). tempuh = waktu tempuh/58 (dalam satuan cm).
Rangkaian Membaca Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 dengan Arduino
Sketch Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dan LCD dengan Arduino
/*
* VVC +5V
* GND ground
* TRIG digital pin 12
* ECHO digital pin 11
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4,5, 6, 7);
const int TRIG_PIN = 12;// pin triger sensor ultrasonic di koneksikan ke pin 12 pada arduino
const int ECHO_PIN = 11;// pin echo sensor ultrasonic di koneksikan ke pin 11 pada arduino
void setup() {
// initialize serial communication:
Serial.begin(9600);
pinMode(TRIG_PIN,OUTPUT);
pinMode(ECHO_PIN,INPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Arduino VS Sensor");
lcd.setCursor(0, 1);
lcd.print("Ultrasonic ");
delay(3000);
}
void loop()
{
long duration, distanceCm;
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN,HIGH);
// convert the time into a distance
// 340 m/s--> dalam satu detik jarak tempuh adalah 340 meter,
//1/10 detik untuk 34 meter,
//1/100 detik (10 /1000 detik (baca 10 mili detik))untuk 3,4 meter
// 1/1000 detik baca 1 mili detik untuk jarak 0,34 meter (34cm)
// jadi untuk menempuh jarak 1 cm --> (1/100 meter) diperlukan waktu sebanyak :
//29.1 ųs/cm
distanceCm = duration / 29.41 / 2 ;
if (distanceCm <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distanceCm);
Serial.println("CM");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jarak");
lcd.setCursor(0, 1);
lcd.print(distanceCm);
lcd.print(" Cm ");
}
delay(1000);
}
Catatan upload sketch ke arduino maka data jarak hasil pembacaan sensor ultrasonic akan ditampilkan LCD yang terpasang di arduino uno, jika anda buka serial monitor pada software arduino, jarak juga akan ditampilkan ke serial monitor karenan ada nya sketch :
Serial.print(distanceCm);
Serial.println("CM");
Selamat Belajar
NB : jika LCD blank,silakan atur contrast LCD dengan memutar trimport (varibale resistor) untuk mendapatkan display yang bagus.
• Prinsip kerja sensor ultrasonik
Sensor Ultrasonik dapat berfungsi sebagai pemancar maupun penerima gelombang ultrasonik. Sensor yang ada di pasaran berbentuk silinder dengan warna silver.

Satu paket sensor ultrasonik terdiri dari 2 sensor. Dikemas dalam satu board. Satu sensor sebagai pemancar dan satu sensor lagi sebagai penerima.

Sensor Ultrasonik SRF04.
Ada beberapa macam sensor ultrasonik.ping sensor,srf04 srf 08,srf 05 dan sebagainya Tipe SRF04 salah satunya, yang akan kita pakai pada aplikasi ini. Kemampuan (range) ukur jarak antara 3 cm sd 400 cm. lebih dari cukup untuk mengukur tinggi orang tertinggi didunia sekalipun pada tahun tahun ini. mungkin berbeda jika sensor ini mau dipakai mengukur ketinggian kaum Ad.
Mari kita perhatikan. Ada 4 pin/kaki pada sensor SRF04.
Berikut keterangannya :
- Pin Trig (Triger) >> sebagai pin/kaki untuk memicu (mentrigger) pemancaran ngelombang ultrasonik. Cukup dengan membuat logika “HIGH – LOW” maka sensor akan memancarkan gelombang ultrasonik.
- Pin Echo >> sebagai pin/kaki untuk mendeteksi ultrasonik, apakah sudah diterima atau belum. Selama gelombang ultrasonik belum diterima, maka logika pin ECHO
akan “LOW”. Setelah gelombang ultrasonik diterima maka pin ECHO berlogika “HIGH”.
- Pin Vcc >> sebagai pin koneksi ke power supply + 5 Vdc. Dapat juga dihubungkan langsung ke pin Vcc mikrokontroler.
- Pin Gnd (Ground) >> adalah pin koneksi ke power supply Ground. Dapat juga dihubungkan ke pin Gnd mikrokontroler.
Prinsip dasar dari sensor ultrasonik SRF04 dapat kita jelaskan dengan mulai memperhatikan gambar berikut :
Timing diagram (diagram waktu) merupakan gambaran sinyal (HIGH & LOW) yang terjadi pada masing – masing pin (Trig & Echo) berdasarkan waktu.
Gambarnya kita potong satu persatu ya.. Kita mulai dari bagian atas. Bagian sinyal pin Trig.

Pin Trig berfungsi sebagai pemicu (trigger). Pin ini harus diberi sinyal “HIGH” kemudian “LOW”. Siapa yang memberinya ? Ya tentu saja mikrokontroler. Berapa lama ? Seperti pada gambar yaitu minimal 10 µs (micro seconds).
Begitu mendapat trigger, sensor ultrasonik (bagian pemancar) akan memancarkan gelombang ultrasonik sebanyak 8 siklus dengan frekuensi 40 Khz. Gelombang ultrasonik akan terus merambat, bergerak dengan kecepatan 344 m/s.

Nah, selama gelombang ultrasonik masih merambat (belum mengenai penghalang/dinding), logika pin Echo adalah “HIGH”.

Begitu ultrasonik mengenai penghalang/dinding, sebagian gelombang akan diteruskan ke media yang ditabrak, sebagian lagi memantul dan kembali menuju arah sensor. Pada saat ultrasonik diterima kembali oleh sensor, maka otomatis pin ECHO akan berubah logikanya menjadi “LOW”.

Gimana, sudah mulai ada gambaran ? OK, next ! Lebar pulsa atau “lamanya” pin ECHO berlogika “HIGH” = waktu tempuh ultrasonik.

Paham ? Baik, kita perjelas :
- Ketika gel.ultrasonik memancar (pergi) maka logika pin Echo = 1.
- Selama gel.ultrasonik masih merambat (belum kembali) logika pin Echo = 1.
- Setelah gel.ultrasonik memantul dan kembali trus terdeteksi oleh sensor penerima, maka pin ECHO = 0.
Jelas ?
Selesai...
Selanjutnya tinggal kita panggil guru matematika kita dulu waktu SMP untuk ngajari cara ngitungnya. Yups betul, jarak tempuhnya yang akan dihitung sehingga kita tahu berapa jarak antara sensor ultrasonik dengan dinding yang diukur.
Nih resepnya :
Kecepatan (cepat rambat) gelombang ultrasonik di udara = 344 m/s (meter per-detik).
Artinya untuk menempuh jarak 344 m dibutuhkan waktu1 detik.
Atau untuk menempuh jarak 1 m butuh waktu 1/344 s atau 0,0029 s.
Jika menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s = 0,000029 s (29 µs).
Nah karena gelombang ultrasonik melakukan perjalanan pergi – pulang (pancar – terima) sehingga waktu yang dibutuhkan menjadi 2x. Hal ini berpengaruh pada perhitungan jaraknya. Waktu tempuh menjadi 2x, sehingga untuk menempuh jarak 1 cm diperlukan waktu 29 µs x 2 = 58 µs.
Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm Ingat ya, ini kesimpulannya ! untuk menempuh jarak 1 cm dibutuhkan waktu 58 µs. Dengan kata lain, dibutuhkan waktu 58 µs. Dengan kata lain, untuk menghitung jarak tempuh = waktu tempuh/58 (cm). tempuh = waktu tempuh/58 (dalam satuan cm).
Rangkaian Membaca Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 dengan Arduino
![]() |
Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 dengan Arduino |
Sketch Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dan LCD dengan Arduino
/*
* VVC +5V
* GND ground
* TRIG digital pin 12
* ECHO digital pin 11
*/
#include <LiquidCrystal.h>
LiquidCrystal lcd(2, 3, 4,5, 6, 7);
const int TRIG_PIN = 12;// pin triger sensor ultrasonic di koneksikan ke pin 12 pada arduino
const int ECHO_PIN = 11;// pin echo sensor ultrasonic di koneksikan ke pin 11 pada arduino
void setup() {
// initialize serial communication:
Serial.begin(9600);
pinMode(TRIG_PIN,OUTPUT);
pinMode(ECHO_PIN,INPUT);
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Arduino VS Sensor");
lcd.setCursor(0, 1);
lcd.print("Ultrasonic ");
delay(3000);
}
void loop()
{
long duration, distanceCm;
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN,HIGH);
// convert the time into a distance
// 340 m/s--> dalam satu detik jarak tempuh adalah 340 meter,
//1/10 detik untuk 34 meter,
//1/100 detik (10 /1000 detik (baca 10 mili detik))untuk 3,4 meter
// 1/1000 detik baca 1 mili detik untuk jarak 0,34 meter (34cm)
// jadi untuk menempuh jarak 1 cm --> (1/100 meter) diperlukan waktu sebanyak :
//29.1 ųs/cm
distanceCm = duration / 29.41 / 2 ;
if (distanceCm <= 0){
Serial.println("Out of range");
}
else {
Serial.print(distanceCm);
Serial.println("CM");
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Jarak");
lcd.setCursor(0, 1);
lcd.print(distanceCm);
lcd.print(" Cm ");
}
delay(1000);
}
Catatan upload sketch ke arduino maka data jarak hasil pembacaan sensor ultrasonic akan ditampilkan LCD yang terpasang di arduino uno, jika anda buka serial monitor pada software arduino, jarak juga akan ditampilkan ke serial monitor karenan ada nya sketch :
Serial.print(distanceCm);
Serial.println("CM");
Selamat Belajar
NB : jika LCD blank,silakan atur contrast LCD dengan memutar trimport (varibale resistor) untuk mendapatkan display yang bagus.
10 Reviews
Itu kenapa keluaran frekuensi pada sensor ultrasonik 40khz yaa mas?
ReplyDeleteTlng penjelasannya...
Makasih sebelumnya 😊
cek di datasheet nya mas ini link nya
Deletehttp://www.micropik.com/PDF/HCSR04.pdf
cek halaman pertama
Ultrasonic Ranging Module HC - SR04
Product features:
Ultrasonic ranging module HC - SR04 provides 2cm -
400cm non-contact
measurement function, the ranging accuracy can reac
h to 3mm. The modules
includes ultrasonic transmitters, receiver and cont
rol circuit. The basic principle
of work:
(1) Using IO trigger for at least 10us high level signal,
(2) The Module automatically sends eight 40 kHz and detect whether there is a pulse signal back.
(3) IF the signal back, through high level , time of high output IO duration is the time from sending ultrasonic to returning.
Test distance = (high level time×velocity of sound (340M/S) / 2
ko jadi 29.1? msh tdk mengerti
ReplyDeleteduration = pulseIn(ECHO_PIN,HIGH); hasilnya waktu dalam mikro detik
DeleteJika gelombang ultrasonic menempuh jarak 1 cm ( 1 cm = 0,01 m) maka butuh waktu 0,01 x 0,0029 s = 0,000029 s (29 µs).
waktu sebenar nya untuk tiap 1 cm = 0.00002906976744186
dibulatkan menjadi 29.1 mikro detik
Saya mw tanya pak... Klw untuk membaca dan mengukur jarak berbanding terbalik,contoh nya (mengukur tinggi badan!!). rumus nya apa pak??? bs ga d tambahkan dengan kodingan d atas
ReplyDeletesensor diletakkan semisal di ketinggian 200 cm ,nanti nya tinggi = 200cm- jarak terbaca
Deletedirumus atas itu distance 29.41/2 kenapa kok di bagi 2!?
ReplyDeletejarak yang ditempuh adalah jarak dari mulai sinyal ultrasonic dikirim sampai sinyal diterima kembali oleh sensor artinya jarak nya adalah jarak titik mulai sampai titik tujuan , ditambah dari titik tujuan ke titik mulai, makanya harus dibagi 2
DeleteSelamat sore pak.
ReplyDeleteSaya sdg membuat project kran otomatis pakai sensor ultrasonic. Dengan jarak <=40cm sensor mengaktifkan selenoid valve dan sekaligus diberi text berjalan pada lcd.
Masalahnya. Pembacaan sensor jadi lelet, karena menunggu text berjalan. Dan kalau delay di percepat, text berjalan jadi kencang dan susah dibaca.
Mohon bantuannya pak. 😊
assamualaikum, saya menggunakan sensor ultrasonik tipe us-100.jadi saya membuat Tugas akhir saya sebagai menghitung waktu benda lewat rencana nya sensor ultrasonik ini mau di letak kan di atas conveyer ,agar membaca waktu barang yang berjalan di atas conveyer dari awal sampai akhir, saya tidak tau coding nya ,apa lagi membuat nya ,bisa bantu saya membuat coding nya ,terimakasih
ReplyDeleteSilakan dikomentari