• 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.