Thursday, July 28, 2016

Membaca Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 dengan Arduino uno

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

Jarak Sensor Ultrasonic ditampilkan ke LCD 16X2 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.

2 comments:

Jimmy Sullivan said...

Itu kenapa keluaran frekuensi pada sensor ultrasonik 40khz yaa mas?
Tlng penjelasannya...
Makasih sebelumnya 😊

To Share said...

cek di datasheet nya mas ini link nya
http://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

Post a Comment

Silakan dikomentari

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Hot Sonakshi Sinha, Car Price in India