PEMANFAATAN PING))
TMULTRASONIC DISTANCE SENSOR DENGAN MENGGUNAKAN
BOARD ARDUINO UNO REV 3 BERBASIS MIKROKONTROLER ATMEGA328 UNTUK MENGETAHUI LETAK
BENDA DALAM APLIKASI SONAR/RADAR
Riky Fitriadi (NIM : 23213061)
1,Dr. Iyas Munawar ST. MT.
2A
bstrak – Perkembangan teknologi elektronika terutama dibidang mikrokontroler terjadi sangat pesat. Telah banyak penerapan dan pemanfaatan mikrokontroler yang berguna dalam kehidupan sehari-hari maupun dalam penelitian di laboratorium. Pada tugas besar ini digunakan Arduino Uno sebagai platform yang berbasis mikrokontroler ATMega328 sebagai pengukur jarak sensor untuk mengetahui jarak suatu benda dengan keakuratan yang tinggi.Metode yang digunakan adalah dengan memanfaatkan fungsi (Timer/Counter) yang sudah ada dalam mikrokontroler. Mikrokontroler ATMEL ATmega328 memiliki kecepatan pembangkit frekuensi hingga 20 MHz, kemampuan pencacah 16-bit, serta dengan menggunakan bahasa C sebagai pemrogramannya. Dengan platform
Arduino Uno Rev 3 maka mikrokontroler ATmega328 ini dapat deprogram dengan software Arduino IDE yang mana lebih sederhana dan mudah karena telah didukung oleh
libraries dan komunitas pendukung yang banyak.
Hasil penelitian ini akan didapatkan pengukuran jarak benda dari sensor gelombang ultrasonic dengan board Arduino Uno Rev 3 berbasis mikrokontroler ATMega328. Frekuensi sensor Ping))) ini berada pada frekuensi gelombang ultrasonic yang besarnya diatas 20 KHz (frekuensi kerja Ping))) Parallax di 40 KHz). (Sumber: Datasheet PING)))TM Ultrasonic Distance Sensor, 2006) Kata kunci : ATmega328, Arduino, Sensor ultrasonik, Mikrokontroler.
I. PENDAHULUAN
1.1 Latar Belakang
Aplikasi radar sangat diperlukan dalam kehidupan sehari-hari. Terlebih dalam bidang transportasi yang mana sistem radar/sonar ini biasanya digunakan di kapal-kapal sebagai penunjuk atau pemberitahu apakah ada obstacle atau penghalang dari jalur kapal yang akan dilewati.
Bisa dibayangkan apabila sebuah kapal tidak mengetahui apa yang ada di depannya tau di sekitar radius kapal sehingga hal tersebut dapat meyebabkan kecelakaan kapal dan akibat-akibat buruk lainnya.
Pada tugas besar ini digunakan sensor ultrasonic yang digunakan untuk mengukur jarak, board Arduino Uno Rev 3 berbasi mikrokontroler ATmega328 produk dari ATMEL, dan perangkat lunak yang digunakan adalah Arduino IDE yang menggunakan bahasa pemrograman berbasis C dengan libraries yang mempermudah dalam membuat program yang rumit dan Processing sebagai tampilan akhir (GUI) dari aplikasi sonar/radar yang akan dirancang.
1
Mahasiswa Jurusan Teknik Elektro ITB 2 Dosen Jurusan Teknik Elektro ITB
1.2 Tujuan
Tujuan yang hendak dicapai pada tugas besar ini, yaitu : 1. Membuat perangkat keras dan lunak untuk
pengukur jarak dengan sensor ultrasonic menggunakan Arduino Uno Rev 3 berbasis mikrokontroler ATmega328.
2. Memudahkan kita untuk mengetahui ada atau tidaknya halangan di depan kita sehingga dapat terhindar dari tubrukan.
1.3 Pembatasan Masalah
Dalam tugas besar ini, sistem yang akan dibuat dibatasi pada hal-hal sebagai berikut :
1. Perangkat keras yang digunakan adalah Board
Arduino Uno Rev 3 berbasis
mikrokontrolerATmega328
2. Sensor yang digunakan adalah PING)))TM Ultrasonic Distance Sensor
3. Tidak membahas tentang cara dan hasil kompilasi dari perangkat lunak Arduino IDE dan Processing
II. KAJIAN PUSTAKA
2.1 Sensor Ultrasonik
Sensor merupakan “indera” bagi sebuah sistem. Sensor memperoleh datadari lingkungan berupa besaran mekanis dan menampilkannya kembali dalam bentuk besaran listrik. Salah satu jenis sensor yang banyak digunakan saat ini dalah sensor ultrasonic.
Gelombang ultrosonik dapat didefinisikan sebagai gelombang suara yang memiliki frekuensi diatas 20 KHz. Ultrasonik dalam aplikasinya dapat dihasilkan menggunakan PZT (piezoelectric) material yang berfungsi sebagai transducer, dimana ketika material ini diberikan tegangan akan bergetar, yang menghasilkan gelombang ultrasonic (sebagai transmitter). Dan sebaliknya jika transducer ultrasonic sebagai receiver maka akan mngubah gelombang ultrasonic menjadi besaran listrik. Gambar 2.1 menunjukkan prinsip kerja dari Ping))) sensor ultrasonic.
Secara umum, berdasarkan cara pengiriman dan penerimaan gelombang ultrasonik, sensor ultrasonic dibedakan menjadi 2 macam, yaitu :
1. Sensor ultrasonik dengan pantulan
Hasil pengukuran sensor ini ditentukan oleh waktu dan amplitudo yang ditempuh gelombang ultrasonik tersebut. Sensor ini biasanya digunakan untuk mengukur jarak suatu benda, seperti yang diperlihatkan pada Gambar 2.1.
2. Sensor ultrasonik dengan perambatan
Hasil pengukuran sensor ini ditentukan oleh kecepatan perambatan, pembelokan atau pembiasan arah gelombang, dan besarnya penguatan perambatan gelombang ultrasonik, karena sensor ini banyak digunakan untuk pengukuran laju aliran, baik zat cair maupun gas. Prinsip kerja sensor ini dapat dilihat pada Gambar 2.2.
Gambar 2.2 Prinsip kerja sensor ultrasonik pengukur laju aliran
2.2
Tinjauan umum perangkat keras
2.2.1 Arduino Uno Rev 3
Board
Arduino merupakan platform prototipe open-source elektronik yang mudah digunakan (fleksibel) baik dari perangkat keras maupun perangkat lunaknya. Perangkat kerasnya (hardware) memiliki prosesor ATMEL AVR ATmega328. Arduino memiliki input yang dapat menerima dari berbagai sensor dan outputnya sebagai pengendali seperti lampu, motor dan aktuator lainnya. Arduino mikrokontroler diprogram menggunakan bahasa Arduino yang berbasis bahasa C yang disederhanakan dengan bantuan pustaka-pustaka (libraries) dan dalam lingkup pengembang berdasarkan processing. Arduino dapat bekerja mandiri atau juga dapat berkomunikasi dengan perangkat keras lain seperti komputer. Berikut beberapa kelebihan dari Arduino :
Hardware dan softwarenya open source Fasilitas chip yang cukup lengkap
Proses upload / download program tidak memerlukan chip programmer
Ukuran board kecil
Koneksi menggunakan port USB Bahasa pemrograman yang mudah Libraries gratis
Pengembangan aplikasi lebih mudah
Komunitas open source yang saling mendukung Selain itu Arduino Uno Rev 3 juga memiliki spesifikasi sebagai berikut :
Mikrokontroler ATmega328
Operasi daya 5V
Input tegangan (disarankan) 7-12 V
Input tegangan (batas) 6-20 V
Digital I/O berjumlah 14 pin (dengan 6 pin memberikan output PWM)
Analog input berjumlah 6 pin
Flash memori 32 KB (ATmega328) yang 0.5 KB digunakan untuk bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock speed 15 MHz
2.2.2 Mikrokontroler ATmega328
Mikrokontroler ATmega328 merupakan mikrokontroler berbasis RISC (Reduced Instruction Set Computing) 8 bit, sehingga semua instruksi dikemas dalam kode 16 bit (16 bit word) dan sebagian besar instruksi dieksekusi dalam sebuah siklus clock.
AVR merupakan chip mikrokontroler yang diproduksi oleh ATMEL, yang secara umum dapat dikelompokkan ke dalam 4 kelas yakni ATtiny, ATmega, AT90Sxx dan AT86RFxx.
Perbedaannya yang terdapat pada masing-masing kelas adalah kapasitas memori, periperal, dan fungsinya. Dalam hal ini ATmega328 dapat beroperasi pada kecepatan maksimal 20 MHz serta memiliki pilihan mode sleep untuk menghemat penggunaan daya listrik. Memiliki kapasitas SRAM 2 KB, EEPROM 1 KB, Flash memori 32 KB. Dengan fasilitas yang lengkap tersebut menjadikan ATmega328 sebagai mikrokontroler yang berdaya guna.
Gambar 2.3 Diagram pin mikrokontroler AVR ATmega328 tipe PDIP
2.2.3 Sensor PING))) Parallax
Sensor Ping merupakan sensor jarak ultrasonik buatan Parallax. Sensor ini bekerja pada frekuensi 40 KHz dan hanya memiliki 3 jalur pin, yaitu jalur sinyal (SIG), jalur VCC 5V dan jalur ground. Sensor ping mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40 KHz) selama 200 μs, kemudian mendeteksi pantulannya. (Budiharto, 2008)
Spesifikasi sensor Ping adalah sebagai berikut : a. Kisaran pengukuran 3 cm – 3 m
b. Input trigger-positive TTL pulse, minimal 2 μs, tipikal 5 μs
c. Echo hold off 750 μs dari fall of trigger pulse d. Waktu tunda untuk pengukuran selanjutnya 200 μs e. Indikator LED untuk aktifitas sensor
2.3
Tinjauan umum perangkat lunak
2.3.1 Bahasa C
[4]Bahasa C merupakan bahasa tingkat menengah yang memiliki kemampuan diatas bahasa assembly, serta memiliki kemudahan seperti bahasa tingkat tinggi lainnya. Bahasa ini digunakan untuk mengatur kerja dari mikrokontroler ATmega328. Bahasa C yang digunakan ini hampir semuanya sesuai dengan standar dari ANSI (American National Standards Institute) dengan penambahan berapa fitur untuk menyesuaikan dengan board Arduino Uno Rev 3 dan sistem mikrokontrolernya sendiri. Program compiler C yang digunakan pada tugas besar ini adalah Arduino IDE yang dapat diunduh secara gratis di www.arduino.cc.
2.3.2 Software Arduino IDE (
Integrated
Development Ebvironment
)
Arduino IDE merupakan suatu perangkat lunak yang digunakan untuk melakukan aktifitas download/upload program yang dikhususkan untuk board Arduino Uno Rev 3 yang mana software ini berbasis bahasa C yang disederhanakan dan dipermudah dengan libraries. Berikut merupakan tampilan dari software Arduino IDE.
Gambar 2.5 Tampilan muka software Arduino IDE
2.3.3 Software Processing 2
Dalam tugas besar ini digunakan sebuah software yang digunakan untuk menapilkan grafik hasil dari pembacaan sensor ultrasonik. Untuk tugas besar ini pula penulis menggunakan software Processing-2.1.1 yang mana dapat langsung menerima input dari board Arduino Uno Rev 3 melalui kabel USB. Input serial dari pembacaan sensor ultrasonik akan di upload ke software Processing yang nantinya data serial tersebut akan di tampilkan mejadi bentuk grafik agar lebih user friendly.
Software ini awalnya diciptakan untuk melayani keperluan sketsa perangkat lunak dan untuk mengajarkan dasar-dasar pemrograman komputer dalam konteks visual. Pengolahan berkembang menjadi alat bantu bagi para profesional. Saat ini ada puluhan ribu mahasiswa, seniman, desainer, peneliti, dan penggemar yang menggunakan Processing untuk sekedar belajar, prototipe dan juga untuk keperluan industri visual.
Kelebihan dari software ini adalah open-source, interaktif karena dapat menampilkan output dalam bentuk 2D, 3D dan pdf, dapat beroperasi dibeberapa operating
sistem seperti Windows, Mac, dan Linux, dan yang paling penting adalah software ini didukung dengan libraries sehingga mempermudah kita untuk melakukan pemrograman.
Gambar 2.6 Tampilan muka software Processing-2.1.1
III.
PERANCANGAN
3.1
Perancangan Perangkat Keras
Diagram blok sistem secara keseluruhan pada perancangan alat ini dapat dilihat pada Gambar 3.1.
Gambar 3.1 Diagram blok sistem
3.1.1 Rangkaian Sensor Ultrasonik
Sensor yang digunakan pada tugas besar ini merupakan sebuah sensor ultrasonik buatan Parallax (Sensor PING Ultrasonic Distance Finder). Rangkaian lengkap dari sensor ditunjukkan pada Gambar 3.2.
Gambar 3.2 Sensor PING Ultrasonik Distance Finder Sensor ini secara khusus didesain untuk dapat mengukur jarak sebuah benda padat (solid). Range jarak yang mampu diukur oleh sensor PING adalah 3 cm sampai 300 cm. Sensor PING mendeteksi jarak objek dengan cara memancarkan gelombang ultrasonik (40 KHz) selama waktu pemancaran kemudian mendeteksi pantulannya. Gambar 3.3 menunjukka timing diagram dari sensor PING.
Gambar 3.3 Sensor PING Ultrasonik Tange Finder timing diagram
Sensor PING memancarkan gelombang ultrasonik dengan pulsa trigger dari mikrokontroler sebagai pengendali. Lebar pulsa high (tIN) akan sesuai dengan lama waktu tempuh gelombang ultrasonik untuk 2 kali jarak ukur dengan objek seperti ditunjukkan Gambar 3.4. Maka jarak yang diukur dapat dirumuskan sebagai berikut :
Gambar 3.4 Ilustrasi cara kerja sensor PING
3.2
Perancangan Perangkat Lunak
3.2.1 Program Utama
Bagian merupakan bagian utama dimana compiler akan melakukan inisialisasi dan pemanggilan fungsi-fungsi lain. Seperti pada Bahasa C yang biasa digunakan, fungsi void loop() merupakan dungsi istimewa. Hal ini karena fungsi ini merupakan titik awal dan titik akhir eksekusi program. Diagram alir (flowchart) program utama ditunjukkan pada Gambar 3.5.
Gambar 3.5 Diagram alir program utama
IV.
HASIL PENELITIAN
Pada bab pengujian dan analisa alat ini dilakukan pengujian pada sistem dengan melakukan pengukuran terhadap jarak dan hasilnya akan dibandingkan melalui pengukuran dengan menggunakan alat ukur biasa (meteran).
Pada bab pengujian dan analisa ini dilakukan pengujian terhadap pengukuran jarak benda dari arah depan sensor. Setelah itu akan dilakukan sweeping dari sudut 0 – 180 derajat yang nantinya data tersebut langsung dikirimkan ke program tampilan GUI Processing 2.1.1 melalui komunikasi data serial USB.
4.1
Pengukuran Jarak Dari Arah Depan Sensor
Pada pengujian ini, besarnya jarak yang terukur pada sensor akan di tampilkan pada layar LCD. Kemudian hasil dari pengukuran ini dibandingkan dengan hasil pengukuran dengan meteran yang diukur horizontal ke arah depan sensor. Hasil pengukuran jarak dari arah depan ditunjukkan pada tabel 4.1.Tabel 4.1 Hasil pengujian dengan alat ukur
Jarak terukur pada meteran Jarak terukur pada LCD Selisih Jarak Kesalahan (%) 1 3.06 2.06 28.89 2 2.87 0.87 12.20 3 3.38 0.38 5.33 4 4.31 0.31 4.35 5 5.25 0.25 3.51 8 8.46 0.46 6.45 10 9.87 0.13 1.82 13 13.25 0.25 3.51 15 15.13 0.13 1.82 18 18.22 0.22 3.09 21 21.06 0.06 0.84 25 25.15 0.15 2.10 28 27.57 0.43 6.03 29 28.56 0.44 6.17 30 29.01 0.99 13.88
Jika data dari tabel hasil pengukuran di atas di tampilkan dalam bentuk grafik maka akan nampak sebagai berikut :
4.2
Pengukuran Jarak Tampilan Ke Processing
Untuk pengukuran jarak ultrasonik ini akan sweeping dari sudut 0 – 180 derajat dan kembali lagi ke 0 derajat serta berulang terus-menerus dan hasilnya akan ditampilkan dalam bentuk visual grafik. Sensor ultrasonik akan mendeteksi keberadaan benda yang ada didepan dengan radius 3 – 300 cm selama sweeping. Adapun tampilan visual dari pengujian ini terlihat pada Gambar 4.2 sebagai berikut :Gambar 4.2 Tampilan aplikasi radar dengan sensor ultrasonik PING
V.
PENUTUP
5.1
Kesimpulan
1. Pada pengujian pengukuran jarak dari arah depan horizontal pada sensor dibandingkan dengan jarak yang terukur pada meteran, pada jarak lebih kecil dari 3 cm layar LCD menampilan jarak yang relatif mendekati 3 cm. 2. Eksekusi program atau jumlah looping pada
Arduino board dan toleransi dari harga suatu komponen sangat berpengaruh dalam pengukuran jarak pada sensor ultrasonik
5.1
Saran
Dari hasil perancangan dan pembuatan alat serta pengujian yang telah dilakukan dapat diberikan saran bahwa sistem ini dapat diaplikasikan kedalam sistem yang lebih kompleks, sehingga didapat suatu sistem yang handal.
DAFTAR PUSTAKA
[1] Aldrin S., Sumardi, Setiawan I, Makalah Seminar Tugas Akhir : Pemanfaatan PING)))TM Ultrasonic Distance Sensor dengan Menggunakan Mikrokontroler ATMega8515 Untuk Mengetahui Letak Benda Pada Penderita Cacat Tunanetra, Universitas Diponegoro, Semarang.
[2] Wollard, Barry, Elektronika Praktis, Pradnya Paramitha, Jakarta, 1988.
[3] Kleitz, William, Digital Electronics, a Practical Approach, Fifth Edition, Prentice Hall International, Inc., New Jersey, 1999.
[4] Malvino, A. P., Prinsip-prinsip Elektronik, Edisi kedua, Erlangga, Jakarta, 1999.
[5] Kadir, A., Pemrograman Dasar Turbo C untuk IBM PC, ANDI Offset, Yogyakarta, 1997.
[6] ---, 8-bit AVR Microcontroller instruction set,
http://www.atmel.com, 2005.
[7] ---, Instruction Set, http://www.arduino.cc
[8] ---, PING)))TM Ultrasonic Distance Sensor User Manual,