Thursday, July 28, 2016

Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dengan Arduino

Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor 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 Serial Monitor dengan Arduino
Rangkaian Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dengan Arduino
Rangkaian Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dengan Arduino

Sketch Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dengan Arduino
/*

    * VVC  +5V
    * GND  ground
    * TRIG digital pin 12
     * ECHO digital pin 11
*/

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);
  //
}

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");
 
  }
  delay(1000);
}

Catatan upload sketch ke arduino  lalu buka serial monitor dengan baudrate 9600, maka data jarak hasil pembacaan sensor ultrasonic akan ditampilkan ke serial monitor dalam format jarak di ikuti karakter CM dan di akhiri karakter enter.










Related Posts

Membaca Jarak Sensor Ultrasonic ditampilkan ke Serial Monitor dengan Arduino
4/ 5
Oleh

Silakan dikomentari