Jurnal Mekatronika Riky Fitriadi Nim_23213061

Embed Size (px)

Citation preview

PEMANFAATAN PING))TM ULTRASONIC DISTANCE SENSOR DENGAN MENGGUNAKANBOARD ARDUINO UNO REV 3 BERBASIS MIKROKONTROLER ATMEGA328 UNTUK MENGETAHUI LETAK BENDA DALAM APLIKASI SONAR/RADARRiky Fitriadi (NIM : 23213061)1 ,Dr. Iyas Munawar ST. MT.2

Abstrak 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.PENDAHULUAN1.1Latar BelakangAplikasi 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 ITB2Dosen Jurusan Teknik Elektro ITB1.2TujuanTujuan 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.3Pembatasan MasalahDalam 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 mikrokontrolerATmega3282. Sensor yang digunakan adalah PING)))TM Ultrasonic Distance Sensor3. Tidak membahas tentang cara dan hasil kompilasi dari perangkat lunak Arduino IDE dan Processing

II.KAJIAN PUSTAKA2.1Sensor UltrasonikSensor 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.

Gambar 2.1 Prinsip kerja sensor jarak ultrasonik

Secara umum, berdasarkan cara pengiriman dan penerimaan gelombang ultrasonik, sensor ultrasonic dibedakan menjadi 2 macam, yaitu :1. Sensor ultrasonik dengan pantulanHasil 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 perambatanHasil 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.2Tinjauan umum perangkat keras2.2.1Arduino Uno Rev 3 BoardArduino 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.2Mikrokontroler ATmega328Mikrokontroler 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.3Sensor PING))) ParallaxSensor 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 mb. Input trigger-positive TTL pulse, minimal 2 s, tipikal 5 sc. Echo hold off 750 s dari fall of trigger pulsed. Waktu tunda untuk pengukuran selanjutnya 200 se. Indikator LED untuk aktifitas sensor

Gambar 2.4 Sensor ultrasonik PING))) Parallax

2.3Tinjauan umum perangkat lunak2.3.1Bahasa 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.2Software 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.3Software Processing 2Dalam 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.PERANCANGAN3.1 Perancangan Perangkat KerasDiagram blok sistem secara keseluruhan pada perancangan alat ini dapat dilihat pada Gambar 3.1.

Gambar 3.1 Diagram blok sistem

3.1.1Rangkaian Sensor UltrasonikSensor 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 Lunak3.2.1Program UtamaBagian 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 utamaIV.HASIL PENELITIANPada 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.1Pengukuran Jarak Dari Arah Depan SensorPada 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 ukurJarak terukur pada meteranJarak terukur pada LCDSelisih JarakKesalahan(%)

13.062.0628.89

22.870.8712.20

33.380.385.33

44.310.314.35

55.250.253.51

88.460.466.45

109.870.131.82

1313.250.253.51

1515.130.131.82

1818.220.223.09

2121.060.060.84

2525.150.152.10

2827.570.436.03

2928.560.446.17

3029.010.9913.88

Jika data dari tabel hasil pengukuran di atas di tampilkan dalam bentuk grafik maka akan nampak sebagai berikut :

Gambar 4.1 Grafik hasil pengukuran jarak ultrasonik

4.2Pengukuran 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.PENUTUP5.1Kesimpulan1. 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.1SaranDari 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, http://www.parallax.com