UAS




APLIKASI SENSOR ULTRASONIK
( ROBOT ANTI PENGHALANG )


1. Pendahuluan [kembali]

      Robot dilengkapi dengan alat penginderaan. Indera  robot ini terletak pada sensor, misalnya Sensor Cahaya/LDR yang mendeteksi cahaya, Sensor UV untuk mendeteksi keberadaan api (biasa dipakai pada robot pemadam api), atau Sensor Ultrasonik yang digunakan sebagai sensor untuk mendeteksi jarak dari sensor ke objek didepannya.



      Sensor Ultrasonik merupakan sensor yang bekerja dengan cara memancarkan suatu gelombang dan kemudian menghitung waktu pantulan gelombang tersebut. 

Gelombang Ultrasonik bekerja pada frekuensi mulai dari 20 kHz hingga sekitar 20 MHz. Frekuensi kerja yang digunakan dalam gelombang ultrasonik bervariasi tergantung pada medium yang dilalui, mulai dari kerapatan rendah pada fasa gas, cair hingga padat. Secara matematis gelombang ultrasonik dapat dirumuskan sebagai s = v.t/2
dimana s adalah jarak dalam satuan meter, 
v adalah kecepatan suara yaitu 344 m/detik dan t adalah waktu tempuh dalam satuan detik. 
      Ketika gelombang ultrasonik menumbuk suatu penghalang maka sebagian gelombang tersebut akan dipantulkan dan sebagian yang lain akan diteruskan.Gelombang yang diserap akan dihitung oleh komparator dan diteruskan menjadi bilangan binary. 
Secara umum, Sensor Ultrasonik digunakan untuk menghitung jarak dari suatu objek yang berada didepan sensor tersebut. Sehingga dengan fungsinya tersebut, Sensor Ultrasonik biasa digunakan pada perangkat yang membutuhkan perhitungan jarak.


2. Teori Komponen [kembali]


Arduini Uno
      Arduino UNO adalah sebuah board mikrokontroler yang didasarkan pada ATmega328. Arduino UNO mempunyai 14 pin digital input/output (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah ICSP header, dan sebuat tombol reset. Arduino UNO memuat semua yang dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
      
      Arduino Uno berbeda dari semua board Arduino sebelumnya, Arduino UNO tidak menggunakan chip driver FTDI USB-to-serial. Sebaliknya, fitur-fitur Atmega16U2 (Atmega8U2 sampai ke versi R2) diprogram sebagai sebuah pengubah USB ke serial. Revisi 2 dari board Arduino Uno mempunyai sebuah resistor yang menarik garis 8U2 HWB ke ground, yang membuatnya lebih mudah untuk diletakkan ke dalam DFU mode.
Revisi 3 dari board Arduino UNO memiliki fitur-fitur baru sebagai berikut :
1.) Pertama adalah pinout: ada penambahan pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, IOREF yang memungkinkan shield untuk beradaptasi dengan tegangan yang disediakan dari papan / board. Di masa depan, shield akan kompatibel dengan kedua papan yang menggunakan AVR, yang beroperasi dengan 5V dan dengan Arduino yang beroperasi 3.3V. Kedua adalah pin tidak terhubung, yang dicadangkan untuk tujuan masa depan. 
2.) Reset sirkuit yang sangat kuat.
3.) Atmega16U2 menggantikan Atmega8U2


"Uno" dalam bahasa Italia berarti satu, alasan diberi nama tersebut adalah untuk menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari Arduino, dan akan terus berkembang.

Sensor HC-SR04
Sensor HC-SR04 adalah sensor pengukur jarak berbasis gelobang ultrasonik. Prinsip kerja sensor ini mirip dengan radar ultrasonik di pancarkan kemudian diterima balik oleh receiver ultrasonik. Jarak antara waktu pancar dan waktu terima adalah representasi dari jarak objek.
Spesifikasi Sensor HC-SR04 :
1.)  Jangkauan deteksi kisaran 2 - 400 cm
2.)  Sudut deteksi terbaik adalah 15 derajat
3.)  Tegangan kerja 5V DC
4.)  Resolusi 1 cm
5.)  Frekuensi Ultrasonik 40 kHz
6.)  Dapat dihubungkan langsing ke kaki mikrokontroller
Sensor HC-SR04 menggunakan 4 pin, yaitu :
1.)  VCC : sebagai masukan aliran listrik
2.)  Trigger : untuk trigger keluarnya sinyal dari sensor
3.)  Echo : untuk menangkap sinyal pantul dari benda
4.)  Ground : sebagai keluaran aliran listrik

LED
LED (Light Emitting Diode) LED adalah komponen elektronika yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED merupakan keluarga Dioda yang terbuat dari bahan semikonduktor. Cara kerjanya pun hampir sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif (P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya apabila dialiri tegangan maju (bias forward) dari Anoda menuju ke Katoda. 

LCD
LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal-alat elektronik seperti televisi, kalkulator, atau pun layar komputer. Pada postingan aplikasi LCD yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat.

Berikut ini karakteristik dari LCD 16x2 :
1. Terdiri dari 16 karakter dan 2 baris.
2. Mempunyai 192 karakter tersimpan.
3. Terdapat karakter generator terprogram.
4. Dapat diamati dengan mode 4-bit dan 8-bit.
5. Dilengkapi dengan back light.



3. Rangkaian Simulasi [kembali]

Prinsip Kerja :
Rangkaian ini menggunakan Arduino Uno sebagai otak dari rangkaian dengan Sensor HC-SR04 sebagai input, dan LCD + LED sebagai output, dimana Sensor HC-SR04 terhubung ke PORT A, LCD terhubung ke pin 13-8, dan LED terhubung ke pin 7-3. Pertama untuk menjalankan simulasi, klik tombol PLAY. Kemudian, untuk memulai operasi maka ditekan tombol RESET. Setelah itu, apabila jarak objek lebih dari 1 m, maka pada LCD akan tampil kalimat "Jarak objek = lebih dari 1 m", dan LED bergeser dari kiri ke kanan. Lalu apabila jarak objek kurang dari 1 m, maka pada LCD akan tampil kalimat "Jarak objek = kurang dari 1 m", dan semua LED akan berkedip-kedip. 

4. Flowchart [kembali]

5. Listing Program [kembali]

#include <LiquidCrystal.h>            //mengaktifkan library LCD
LiquidCrystal lcd(13,12,11,10,9,8);   //menyatakan port yang digunakan untuk mengaktifkan LCD
int led[] = {7,6,5,4,3};     //menyatakan penggunaan pin 3-7 pada Arduino dengan variabel LED dalam bentuk array

const int pingPin = A1;      //menyatakan variabel Trigger untuk pin A1 pada Arduino
const int echoPin = A0;      //menyatakan variabel Echo untuk pin A0 pada Arduino

void setup()          //semua kode yang disini akan dibaca sekali
{
  lcd.begin(16, 2);               //menyatakan posisi kalimat pada LCD
  lcd.print ("Jarak objek =");    //menampilkan kalimat "Jarak objek =" pada LCD
    for (int i=0;i<=5;i++)        //melakukan perulangan yang dimulai dari 0 dengan nilai batas kecil dari 5, INCREASE
  {
    pinMode (led[i], OUTPUT);     //menyatakan pin-pin Arduino yang digunakan sebagai OUTPUT
    pinMode (7, OUTPUT);          //menyatakan pin 7 pada Arduino digunakan sebagai OUTPUT
    pinMode (6, OUTPUT);          //menyatakan pin 6 pada Arduino digunakan sebagai OUTPUT
    pinMode (5, OUTPUT);          //menyatakan pin 5 pada Arduino digunakan sebagai OUTPUT
    pinMode (4, OUTPUT);          //menyatakan pin 4 pada Arduino digunakan sebagai OUTPUT
    pinMode (3, OUTPUT);          //menyatakan pin 3 pada Arduino digunakan sebagai OUTPUT
  }
}
void loop()       //semua kode yang ada disini akan dibaca berulang kali (terus menerus)
{
   long duration, cm;
      pinMode(pingPin, OUTPUT);     //menyatakan pin Arduino yang digunakan sebagai OUTPUT   
      digitalWrite(pingPin, LOW);   //memberikan 0V (Mati) kepada pin Trigger
      delayMicroseconds(2);         //memberikan delay sebesar 2ms
      digitalWrite(pingPin, HIGH);  //memberikan 5V (Nyala) kepada pin Trigger
      delayMicroseconds(10);        //memberikan delay sebesar 10ms
      digitalWrite(pingPin, LOW);   //memberikan 0V (Mati) kepada pin Trigger
      pinMode(echoPin, INPUT);      //menyatakan pin Arduino yang digunakan sebagai INPUT
      duration = pulseIn(echoPin, HIGH);
   cm = microsecondsToCentimeters(duration);

if (cm >=100)      //kondisi if, dimana nilai cm besar sama dengan 100
  {
    for(int e=5;e>=0;e--)           //melakukan perulangan yang dimulai dari 5 dengan nilai batas besar dari 0, DECREASE
      {
       digitalWrite(led[e],HIGH);   //memberikan 5V (Nyala) kepada pin-pin LED
       delay(50);                   //memberi waktu delay selama 50 ms (0,05 s)
       digitalWrite(led[e],LOW);    //memberikan 0V (Mati) kepada pin-pin LED
       delay(50);                   //memberi waktu delay selama 50 ms (0,05 s)
      }
   lcd.setCursor (0, 1);         //menyatakan posisi kursor pada LCD
   lcd.print ("lebih dari 1 m"); //menampilkan kalimat "lebih dari 1 m" pada LCD 
  } 
if (cm <=100)   //kondisi if, dimana nilai cm kecil sama dengan 100
  {
       digitalWrite(7,HIGH);  //memberikan 5V (Nyala) kepada LED pada pin 7 dari Arduino
       digitalWrite(6,HIGH);  //memberikan 5V (Nyala) kepada LED pada pin 6 dari Arduino
       digitalWrite(5,HIGH);  //memberikan 5V (Nyala) kepada LED pada pin 5 dari Arduino
       digitalWrite(4,HIGH);  //memberikan 5V (Nyala) kepada LED pada pin 4 dari Arduino
       digitalWrite(3,HIGH);  //memberikan 5V (Nyala) kepada LED pada pin 3 dari Arduino
       delay(50);             //memberi waktu delay selama 50 ms (0,05 s)    
       digitalWrite(7,LOW);   //memberikan 0V (Mati) kepada LED pada pin 7 dari Arduino
       digitalWrite(6,LOW);   //memberikan 0V (Mati) kepada LED pada pin 6 dari Arduino
       digitalWrite(5,LOW);   //memberikan 0V (Mati) kepada LED pada pin 5 dari Arduino
       digitalWrite(4,LOW);   //memberikan 0V (Mati) kepada LED pada pin 4 dari Arduino
       digitalWrite(3,LOW);   //memberikan 0V (Mati) kepada LED pada pin 3 dari Arduino 
       delay(50);             //memberi waktu delay selama 50 ms (0,05 s) 
    lcd.setCursor (0, 1);     //menyatakan posisi kursor pada LCD
    lcd.print ("kurang dari 1 m");  //menampilkan kalimat "kurang dari 1 m" pada LCD
  }
}
long microsecondsToCentimeters(long microseconds)
{
  return microseconds / 29 / 2;
}      //akhir program

6. Video [kembali]



7. Kondisi [kembali]

Apabila jarak objek lebih dari 1 m, maka pada LCD akan tampil kalimat "Jarak objek = lebih dari 1 m", dan LED bergeser dari kiri ke kanan. Kemudian, apabila jarak objek kurang dari 1 m, maka pada LCD akan tampil kalimat "Jarak objek = kurang dari 1 m", dan semua LED akan berkedip-kedip.


8. Link Download [kembali]

File HTML - Download
File Program - Download
File Proteus - Download
Library Sensor Ultrasonik - Download
Video Rangaian - Download

Software

1.) Proteus 7                      (Download)
2.) Arduino                        (Download)

Sensor Ultrasonik dan Aplikasinya

Pengertian Sensor Ultrasonik

       Sensor Ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai Sensor Ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik).

Cara Kerja Sensor Ultrasonik

          Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
  • Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
  • Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan oleh benda tersebut.
  • Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan rumus :  S = 340.t/2
                             Gambar Cara Kerja Sensor Ultrasonik
Gambar cara kerja sensor ultrasonik dengan transmitter dan receiver (atas), sensor ultrasonik dengan single sensor yang berfungsi sebagai transmitter dan receiver sekaligus

Aplikasi Sensor Ultrasonik

  • Bidang Kesehatan : Untuk melihat organ-organ dalam tubuh manusia seperti untuk mendeteksi tumor, liver, otak dan menghancurkan batu ginjal yaitu pada alat USG (ultrasonografi)
  • Bidang Industri : Untuk mendeteksi keretakan pada logam, meratakan campuran besi dan timah, meratakan campuran susu agar homogen, mensterilkan makanan yang diawetkan dalam kaleng, dan membersihkan benda benda yang sangat halus. 
  • Bidang Pertahanan : Sebagai radar atau navigasi, di darat maupun di dalam air, mengukur kedalaman palung laut, mendeteksi ranjau, dan menentukan posisi sekelompok ikan. 

Gambar Aplikasi Sensor Ultrasonik untuk kapal selam


Sensor Ultrasonik HC-SR04

Gambar Sensor ultrasonik hc-sr04
 Gambar sensor ultrasonik HC-SR04

          Sensor HC-SR04 adalah sensor pengukur jarak berbasis gelobang ultrasonik. Prinsip kerja sensor ini mirip dengan radar ultrasonik di pancarkan kemudian diterima balik oleh receiver ultrasonik. Jarak antara waktu pancar dan waktu terima adalah representasi dari jarak objek.

Spesifikasi Sensor HC-SR04
1. Jangkauan deteksi kisaran 2 - 400 cm
2. Sudut deteksi terbaik adalah 15 derajat
3. Tegangan kerja 5V DC
4. Resolusi 1 cm
5. Frekuensi Ultrasonik 40 kHz
6. Dapat dihubungkan langsing ke kaki mikrokontroler

Sensor HC-SR04 menggunakan 4 pin, yaitu :
  • VCC     : sebagai masukan aliran listrik
  • Trigger : untuk trigger keluarnya sinyal dari sensor
  • Echo     : untuk menangkap sinyal pantul dari benda
  • Ground : sebagai keluaran aliran listrik

Rangkaian Sensor Ultrasonik

Piezoelektrik
Piezoelektrik berfungsi untuk mengubah energi listrik menjadi energi mekanik.

Transmitter
Transmitter adalah sebuah alat yang berfungsi sebagai pemancar gelombang ultrasonik dengan frekuensi tertentu (misal, sebesar 40 kHz) yang dibangkitkan dari sebuah osilator.
Gambar Rangkaian Sensor Ultrasonik - Transmitter 
Gambar rangkaian dasar dari transmitter ultrasonik
Receiver
Receiver terdiri dari transduser ultrasonik menggunakan bahan piezoelektrik, yang berfungsi sebagai penerima gelombang pantulan yang berasal dari transmitter.
Gambar Rangkaian Sensor Ultrasonik - Receiver 
Gambar rangkaian dasar receiver sensor ultrasonik

Gambar Rangkaian dengan Proteus




Download :
   1. HTML (disini)   
   2. Rangkaian dan Program Sensor Ultrasonik (disini)

UTS

Soal UTS nomor 7

Buatlah rangkaian aplikasi sensor/tranduser berikut :
      a.   Sensor warna dan
      b.   Ultrasonic