Selasa, 28 Januari 2014

Alat Pengukur Jarak Benda dengan Tampilan LCD



Dorumalita, Dwi Setiawan, Thomas Tri Wibowo
  Program Studi Teknik Elektronika Jurusan Teknik Elektro
Politeknik Negeri Semarang
Jln. Prof Sudarto, SH Tembalang Semarang 50239 INDONESIA

AbstractIn this Arduino Project with the tittle "Alat Pengukur Jarak Benda dengan Tampilan LCD" using ultrasonic sensor as an input and LCD display as an output. This tools can be used for measuring a distance of something from the sensor and also to measure height of something. For data prossesing, using Microcontroler Arduino Uno. In the experiments, this tools can measure the distance or height until 400cm with unit step of 1 cm.
KeywordsArduino , LCD Display, Distance,Ultrasonic
 
IntisariDalam Proyek Arduino yang dibuat dengan judul “Alat Pengukur Jarak Benda dengan Tampilan LCD” menggunakan sensor ultrasonik sebagai masukan dan displai LCD sebagai keluaran. Alat dapat digunakan untuk mengetahui jarak suatu benda dari sensor dan dapat pula mengukur ketinggian dari suatu benda. Untuk pemrosesan data digunakan mikrokontoler Arduino Uno. Dalam pengujian yang dilakukan, alat dapat mengukur hingga jarak atau ketinggian hingga 400cm dengan ketelitian 1 cm.

Kata KunciArduino, Displai LCD, Jarak, Ultrasonik.


I.      PENDAHULUAN
1.1 Latar Belakang
Pengukuran tinggi dari suatu benda umumnya menggunakan penggaris atau alat ukur lain yang sejenis. Namun alat alat ukur tersebut mempunyai beberapa kekurangan. Semisal untuk mengukur jarak yang sangat dekat, kadang kala alat alat ukur tadi tidak presisi dalam mengukur. Pun untuk jarak yang amat jauh, kadang kala alat ukur yang digunakan tidak dapat mencakup ukuran yang terlalu panjang. Kadang suatu alat ukur panjang tidak dapat mencakup semua rentang ukuran yang ada. Maka dari itu dibutuhkan suatu alat ukur panjang yang dapat mencakup banyak rentang ukuran yang ada.

1.2 Dasar Teori
Arduino Uno
Arduino Uno adalah board Arduino revisi terbaru yang merupakan penerus dari Arduino Duemilanove. Sama dengan board sebelumnya, Duemilanove[2],
Uno merupakan board mikrokontroler yang berdasarkan pada ATmega328 (datasheet).Berikut ini ringkasan spesifikasi dari Uno (dalam bahasa Inggris untuk kesamaan persepsi)[1]:
Microcontroller
ATmega328
Operating Voltage
5V
Input Voltage (recommended)
7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins
14 (of which 6
provide PWM
 output)
Analog Input Pins
6
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
Flash Memory


32 KB
(ATmega328)
of which 0.5 KB
used by bootloader
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Clock Speed
16 MHz

Perbedaan mendasar antara Uno dan Duemilanove adalah tidak lagi digunakannya chip FTDI (USB-to-Serial driver) dan sebagai gantinya menggunakan ATmega8U2 yang diprogram untuk berfungsi sebagai konverter USB-to-serial. Perubahan ini cukup membantu dalam instalasi software Arduino, terutama bagi anda yang memakai sistem operasi Windows, karena tidak perlu meng-instal driver FTDI untuk menghubungkan board Arduino Uno dengan Windows.
Secara fisik, tampilan board Arduino Uno ini sangat menyenangkan untuk dilihat. Seperti terlihat pada tampak depan dan belakang dari Uno pada gambar berikut:

Gbr. 1 Tampak atas Arduino
Gbr. 2 Tampak bawah Arduino Uno
Saking bagusnya, mungkin akan ada beberapa orang yang enggan menggunakan Uno ini pada proyek elektronik yang permanen. Kecuali proyek elektronik tersebut menggunakan tempat yang transparan sehingga bisa tetap memamerkan keindahan Uno-nya  Untuk proyek elektronik yang permanen (sudah final) mungkin bisa juga dipertimbangkan untuk menggunakan standalone Arduino.
Dimensi fisik Uno tetap sama dengan Duemilanove. Masih tetap juga menggunakan pin header dengan penempatan yang sama, untuk menjaga kompatibilitas dengan board shield yang ada. Ada yang menyayangkan hal ini, karena sebenarnya penempatan pin header pada Arduino memiliki kesalahan, yaitu tidak menggunakan jarak 0.100″ antara lubang pin header.
Di pasaran, Uno biasanya dijual dengan menyertakan kabel USB dan klip batere 9V (dengan jack DC). Ada juga yang menyertakan DVD yang berisi Software, Dokumentasi dan Video Tutorial, sehingga tidak perlu repot men-download lewat internet. Untuk harga, Uno sudah bisa didapat pada kisaran 279 ribu rupiah. Bagi anda yang membeli pada distributor resmi, harga tersebut sudah termasuk garansi selama 1 tahun (untuk pemakaian normal sesuai peruntukkan tentunya).
Sensor Ultrasonik
Sensor ultrasonik merupakan sensor yang bekerja dengan cara memancarkan suatu gelombang dan kemudian menghitung waktu pantulan gelombang tersebut[3].
Lihat gambar dibawah :
Gbr. 3 Penggambaran sistem ultrasonic

Gelombang ultrasonik bekerja pada frekuensi mulai 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 berikut
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 sebagian diserap dan sebagian yang lain akan diteruskan.
Gelombang yang diserap akan dihitung oleh komparator dan diteruskan menjadi bilangan biner.

PARALAX
Paralax ultrasonic biasa digunakan pada robot - robot kecil dan mesin industri. dapat mengukur jarak dari 3 cm sampai 300 cm.

Gbr. 4 Sensor Ultrasonic Paralax

    Pada dasanya, Ping))) terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah mikropon ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara mikropon ultrasonik berfungsi untuk mendeteksi pantulan suaranya.
  Pada modul Ping))) terdapat 3 pin yang digunakan untuk jalur power supply (+5V), ground dan signal. Pin signal dapat langsung dihubungkan dengan mikrokontroler tanpa tambahan komponen apapun. Ping))) mendeteksi objek dengan cara mengirimkan suara ultrasonik dan kemudian “mendengarkan” pantulan suara tersebut. Ping))) hanya akan mengirimkan suara ultrasonik ketika ada pulsa trigger dari mikrokontroler (Pulsa high selama 5uS).
  Suara ultrasonik dengan frekuensi sebesar 40KHz akan dipancarkan selama 200uS. Suara ini akan merambat di udara dengan kecepatan 344.424m/detik (atau 1cm setiap 29.034uS), mengenai objek untuk kemudian terpantul kembali ke Ping))).
    Selama menunggu pantulan, Ping))) akan menghasilkan sebuah pulsa. Pulsa iniakan berhenti (low) ketika suara pantulan terdeteksi oleh Ping))). Oleh karena itulah lebar pulsa tersebut dapat merepresentasikan jarak antara Ping))) dengan objek. Selanjutnya mikrokontroler cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam bentuk jarak dengan perhitungan sebagai berikut
Jarak = (Lebar Pulsa/29.034uS) /2 (dalam cm)
atau
Jarak = (Lebar Pulsa x 0.034442) /2 (dalam cm)
Karena 1/29.034 = 0.34442
Displai LCD
Penampil kristal cair (Inggris: liquid crystal display; LCD) adalah suatu jenis media tampilan yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan di berbagai bidang misalnya dalam alat alat elektronik seperti televisi, kalkulator ataupun layar komputer. Kini LCD mendominasi jenis tampilan untuk komputer meja maupun notebook karena membutuhkan daya listrik yang rendah, bentuknya tipis, mengeluarkan sedikit panas, dan memiliki resolusi tinggi.[4]
Pada LCD berwarna semacam monitor, terdapat banyak sekali titik cahaya (piksel) yang terdiri dari satu buah kristal cair sebagai sebuah titik cahaya. Walau disebut sebagai titik cahaya, kristal cair ini tidak memancarkan cahaya sendiri. Sumber cahaya di dalam sebuah perangkat LCD adalah lampu neon berwarna putih di bagian belakang susunan kristal cair.
Titik cahaya yang jumlahnya puluhan ribu bahkan jutaan inilah yang membentuk tampilan citra. Kutub kristal cair yang dilewati arus listrik akan berubah karena pengaruh polarisasi medan magnetik yang timbul dan oleh karenanya akan hanya membiarkan beberapa warna diteruskan sedangkan warna lainnya tersaring.
Gbr. 5 LCD display 4 x 16

II.   DiAGRAM BLOK DAN DIAGRAM ALIR


 




Gbr.6 Diagram Blok Alat

Gbr7. Diagram alir

III. CARA KERJA
Secara sederhana, cara kerja dari alat yang dibuat adalah sebagai berikut:
Ketika dihidupkan, displai LCD akan menampilkan beberapa karakter termasuk nama dari tiap anggota kelompok baru berlanjut ke program utama. Sensor ultrasonik akan memancarkan gelombang ultrasonic dan akan menumbuk permukaan benda, lalu kembali lagi ke sensor. Waktu dari mengirim dan mengembalikan gelombang itulah yang digunakan untuk mengukur jarak dari suatu benda. Kemudian pada displai LCD akan menampilkan berapa jarak ataupun ketinggian dari suatu benda dalam satuan cm.

IV. PROGRAM PADA ARDUINO
Berikut lampiran program yang digunakan pada alat yang dibuat:
#include <LiquidCrystal.h>



byte senyum[8] = {
//bit bit untuk membuat karakter senyum
  0b00000,
  0b00000,
  0b01010,
  0b00000,
  0b00000,
  0b10001,
  0b01110,
  0b00000
};

LiquidCrystal lcd(7,6,5,4,3,2);
//inisialisasi pin untuk lcd
int triger=8;                        
//inisialisasi output dari ultrasonic di pin 8
int echo=9;                          
//inisialisasi input ultrasonic di pin 9
int jarak,time_srf;                  
//inisialisasi jarak dan waktu
int thomas[7]={’t’,’h’,’o’,’m’,’a’,’s’,’ ’};   
//inisialisasi array nama kelompok
int dwi[4]={'d','w','i',' '};
int dodo[5]={'d','o','d','o',' '};

/*Program Tampilan Awal */
void setup()
{

lcd.createChar(2, senyum);         
//menampilkan karakter senyum baru
lcd.begin(16,4);                 
  //mencetak karakter ke lcd
lcd.cursor();                      
//menghidupkan cursor
 
pinMode(triger, OUTPUT);           
//mengatur triger sebagai luaran
pinMode(echo, INPUT);             
 //mengatur echo sebagai masukan
 
  awal();
}


void awal()
{
lcd.setCursor(4,0);                   
//mengatur cursor di baris paling atas
lcd.print("KELOMPOK 6");              
//mencetak KELOMPOK 6 ke lcd
thomas_nama();                        
//memanggil perintah cetak nama
dwi_nama();                           
dodo_nama();                          

delay(2000);                        //jeda
lcd.clear();                           //membersihkan layar
lcd.noCursor();                    //menghilangkan kursor
}
/*perintah cetak nama */
void thomas_nama()
{
lcd.setCursor(0,1);                
//meletakkan kursor di awal baris
  for(int a=0;a<7;a++){           //
lcd.write(thomas[a]);           
 //mencetak nama thomas
  delay(500);                         //jeda
  }
lcd.write(2);                      
 //mencetak karakter senyum
}

void dwi_nama()
{
lcd.setCursor(0,2);               
//meletakkan kursor di awal baris
  for(int a=0;a<4;a++){             
  lcd.write(dwi[a]);                 //mencetak nama dwi
  delay(500);                        //jeda
  }
lcd.write(2);                     
 //mencetak karakter senyum
}

void dodo_nama()
{
lcd.setCursor(3,3);             
//meletakkan kursor di kolom 4 baris 4
  for(int a=0;a<5;a++){            //
  lcd.write(dodo[a]);              //mencetak nama dodo
  delay(500);                      //jeda
  }  
lcd.write(2);                  
 //mencetak karakter senyum
}


/*Program pembaca jarak */
void baca_jarak()
{

digitalWrite(triger, LOW); 
 //memberi sebentar pulsa LOW ke pin untuk memastikan pulsa HIGH yang bersih               
  delayMicroseconds(2);
  digitalWrite(triger, HIGH);                 
  delayMicroseconds(10);
  digitalWrite(triger, LOW);                  
jarak = pulseIn(echo, HIGH); 
//pulsa HIGH (jarak) yang berupa waktu yang berasal dari penerima ke objek      
jarak = jarak /58;          
//rumus untuk mengolah jarak                               
  delay(50);                                   
}

/*Program penampil di LCD*/
void tampil_jarak()
{
baca_jarak();
lcd.clear();                      //mengosongkan lcd
delay(10);                        //jeda
lcd.setCursor(0,0);            
  //meletakkan kursor di awal baris
lcd.print(jarak);                 
lcd.setCursor(0,0);             
//meletakkan kursor di baris 1
lcd.print("Ketinggian");        
//mencetak kata Ketinggian
lcd.setCursor(0,1);             
//meletakkan kursor di baris 2
lcd.print("tinggi=");            //mencetak kata tinggi=
lcd.setCursor(7,1);            
 //meletakkan kursor di kolom 8 baris 2
lcd.print(jarak);                //mencetak nilai dari jarak
lcd.setCursor(11,1);           
 //meletakkan kursor di baris 2 koloom 12
lcd.print("cm");                 // mencetak kata cm
}

/*Program perulangan Utama*/
void loop(){

tampil_jarak();            
//memanggil perintah program penampil jarak    

V. PENAMPAKAN ALAT
Berikut beberapa gambar dari penampakan alat yang telah dibuat:

Gbr. 8 Sensor ultrasonik dan displai LCD


Gbr. 9 Tampilan awal pada LCD

Gbr. 10 Percobaan pengukuran ketinggian langit-langit ruangan

VI. KESIMPULAN
Pada proyekArduino yang dibuat dengan judul ”Alat Pengukur Jarak Benda” menggunakan sensor ultrasonik sebagai masukan dan displai LCD sebagai keluaran. Dalam percobaan yang dilakukan setelah alat dibuat, jarak yang dapat diukur dari 2 cm hingga 394 cm.

Referensi

8 komentar:

  1. Hallo, alat ini di jual gak ya? saya butuh 2 (dua) unit. tlg infokan harganya ke giangolwa@yahoo.com
    terima kasih

    BalasHapus
  2. Terima kasih atas perhatiannya
    maaf ini tugas kuliah mahasiswa berbentuk modul percobaan, belum dikemas kebutuhan di lapangan.

    BalasHapus
  3. maaf gan kalo boleh tau ini cara downloadnya bagaimana? baru pertama kali ini mau mencoba sistem ini

    BalasHapus
  4. Untuk saat ini belum ada fitur download yang bisa digunakan untuk mengunduh jurnal yang ada disini, ke depan akan ditambahkan fitur tersebut, terima kasih.

    BalasHapus
  5. Bang saya bisa minta kirimin skematik dan komponen apa saja yang dipake?
    Tolong kirim ke email saya ya,satrio_tkj@yahoo.co.id

    BalasHapus
  6. Yang sy tahu. Bahan bisa di beli di toko spare part elektronok
    Beli satu paket Pcb Arduino.. smoga membantu.

    BalasHapus
  7. Yang sy tahu. Bahan bisa di beli di toko spare part elektronok
    Beli satu paket Pcb Arduino.. smoga membantu.

    BalasHapus
  8. Gan boleh minta gambar schematic rangkaiannya gak

    BalasHapus