Sistem navigasi pada robot pemadam api - USD Repository

  

TUGAS AKHIR

SISTEM NAVIGASI PADA ROBOT PEMADAM API

  Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Sarjana Teknik Pada

  Program Studi Teknik Elektro Fakultas Sains dan Teknologi Universitas Sanata Dharma

  Disusun oleh: WAHYU EDIFIKAR

  NIM : 065114022 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA

  

FINAL PROJECT

NAVIGATION SYSTEM ON THE FIRE FIGHTING

ROBOT

  Presented as a Partial Fulfillment of the Requirements for S1 Degree in Electrical Engineering Department, School of Science and Technology,

  Sanata Dharma University by: WAHYU EDIFIKAR

  Student Number : 065114022 ELECTRICAL ENGINEERING DEPARTMENT

  SCHOOL OF SCIENCE and TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA

PERNYATAAN KEASLIAN KARYA

  Saya menyatakan dengan sesungguhnya bahwa tugas akhir ini tidak memuat karya atau bagian dari orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

  Yogyakarta, 19 Januari 2012 Wahyu Edifikar

PERSEMBAHAN DAN MOTTO HIDUP

  Untuk Rabb – ku…Penguasa Segala Kerajaan, Allah SWT Semoga Engkau Memberkahi Segala Apa Yang Ku Lakukan Untuk Teladanku…Rasulullah Muhammad SAW Kunanti Syafa’atmu Di Yaumul Akhir Kelak

  Untuk Mamak dan Papa yang telah Mengorbankan Segalanya Doamu Selalu Ananda Pinta dalam Mengarungi Hidup Ini Adik – adik Kecilku Nita, Nini, dan Nina Yang Menjadi Penguatku Disaat Lemah

  Sahabat – sahabatku Tempat Tumpahnya Rasa dan Asa Berbagi cerita, diskusi, dan bertukar pikiran Untuk almamaterku…

  

“ Perjuangkan apa yang kau tuju…karena seorang Pemenang pantang meninggalkan

medan Juang “

“ syukur dan sabar adalah tapak kaki terbaik saat melangkah ”

  

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

  Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Wahyu Edifikar Nomor Mahasiswa : 065114022 Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

  Universitas Sanata Dharma karya ilmiah saya yang berjudul :

SISTEM NAVIGASI PADA ROBOT PEMADAM API

  Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan daya, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

  Demikian pernyataan ini saya buat dengan sebenarnya.

  Yogyakarta, 24 Januari 2012 (Wahyu Edifikar)

  

INTISARI

  Pada penelitian ini, penulis membahas tentang sistem navigasi robot dengan menggunakan sensor ultrasonik PING yang melacak dinding dalam menjelajah denah ruangan dalam aplikasi robot pemadam kebakaran. Robot dirancang menggunakan 8 buah sensor PING dibantu dengan sensor kompas. Dengan pengujian sensor melalui variasi dari jarak, sudut dan pemberian halangan akan menghasilkan kemampuan jelajah robot.

  Pengambilan dan pengolahan data menggunakan mikrokontroller ATmega32, dan data ditampilkan menggunakan LCD 16×2. Data yang diolah adalah hasil pembacaan sensor – sensor pada robot sehingga robot dapat menjelajah seluruh arena.

  Sensor Ultrasonik sebagai sensor utama robot berhasil dalam mengatasi halangan – halangan pada arena. Sensor kompas belum dapat bekerja sebagaimana mestinya dan butuh pengembangan lebih lanjut. Mekanik dan rangka robot menjadi perhatian pada penelitian ini untuk menghasilkan karya yang lebih baik.

  Kata Kunci: navigasi robot, sensor PING, ATmega32

  

ABSTRACT

  In this research, writer discuss about navigation system on robot with PING ultrasonic sensor to follow the wall around room model on firefighter robot application. Robot design with 8 pieces PING sensor helped with compass sensor. Sensor scanning test through a variation distance, angle, and obstacle will produce a robot with good explore ability.

  Taking and processing data using Atmega32 controller and data shown using LCD 16x2. Data proceed from scanning of sensors help robot explore area. Ultrasonic sensor as main robot sensor success made out pass obstacles in the arena. Compass sensor did not work yet and need more development next time. Mechanic and robot body be concern this research for produce better work next time.

  Keyword: robot navigation, PING sensor, ATmega32

KATA PENGANTAR

  Bismillahirabbil’alamien… Alhamdulillahirabbal’alamien…

  Segala puji bagi Allah Azza Wa Jalla, Dzat yang telah melimpahkan nikmat iman, islam dan ikhsan, sehingga penulis dapat menyelesaikan skripsi berjudul “Sistem Navigasi Pada Robot Pemadam Api”.

  Tersusunnya tugas akhir ini tidak lepas dari dukungan dan bantuan berbagai pihak. Untuk itu penulis mengucapkan terima kasih yang tidak terhingga kepada :

  1. Kedua orang tua dan adik – adikku yang tercinta atas dukungan semangat, doa dan kepercayaannya.

  2. Bapak Martanto, selaku pembimbing tugas akhir atas bimbingan, dukungan, saran dan kesabaran bagi penulis dalam menyelesaikan tugas akhir ini.

  3. Seluruh dosen dan laboran teknik elektro atas ilmu yang telah diberikan selama penulis menimba ilmu di Universitas Sanata Dharma.

  4. Bapak – bapak dan mas – mas security sanata dharma paingan yang selalu menemani ketika penulis bermalam di kampus.

  5. Seluruh karyawan sanata dharma yang terlibat langsung maupun tidak pada penulisan penelitian ini.

  6. Saudara – saudari ku di FKM BUDI UTAMA dan KAMUS BABEL, penulis mencintai kalian semua karena Allah SWT.

  7. Seluruh pihak yang tidak mungkin penulis sebutkan satu per satu yang telah membantu dalam bentuk apapun selama proses penulisan tugas akhir ini.

  Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir ini sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima Kasih

  Yogyakarta, 19 Januari 2012 Penulis

  

DAFTAR ISI

  10 2.1.5.

  22 3.1. Proses Kerja Sistem ......................................................................................

  20 BAB

III. RANCANGAN PENELITIAN .....................................................

  20 2.5. Driver Motor L298 [9] ..................................................................................

  19 2.4.1. Proses Penampilan Karakter di LCD ..............................................

  17 2.4. Piranti Penampil LCD 16*2 [8] ....................................................................

  17 2.3.2. I2C Interface .................................................................................................

  16 2.3.1. PWM Interface ...............................................................................

  14 2.3. Sensor Kompas Magnetik CMPS-03[7] .......................................................

  11 2.2. Sensor Ultrasonic PING[6] ..........................................................................

  I2C (Inter-Integerated Circuit) .......................................................

  9 2.1.4. PWM (Pulse Width Modulation).....................................................

  Halaman HALAMAN JUDUL ................................................................................................ i HALAMAN PERSETUJUAN .................................................................................. iii HALAMAN PENGESAHAN .................................................................................. iv PERNYATAAN KEASLIAN KARYA .................................................................... v HALAMAN PERSEMBAHAN DAN MOTTO HIDUP .......................................... vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ................................... vii

  6 2.1.3. Timer/Counter ................................................................................

  5 2.1.2. Interupsi ..........................................................................................

  4 2.1.1. Port I/O ...........................................................................................

  4 2.1. Microcontroller AVR ATMega32[4] ...........................................................

  3 BAB

II. DASAR TEORI ............................................................................

  2 1.4. Metodologi Penelitian ...................................................................................

  2 1.3. Batasan Masalah ...........................................................................................

  1 1.2. Tujuan dan Manfaat ......................................................................................

  1 1.1. Latar Belakang ..............................................................................................

  BAB

I. PENDAHULUAN .........................................................................

  INTISARI ............................................................................................................ viii ABSTRACT ............................................................................................................ ix KATA PENGANTAR............................................................................................... x DAFTAR ISI ............................................................................................................ xi DAFTAR GAMBAR................................................................................................. xiii DAFTAR TABEL ..................................................................................................... xv

  22

  3.3. Perancangan Sensor Kompas ........................................................................

  34 BAB IV. HASIL DAN PEMBAHASAN .....................................................

  48 LAMPIRAN ............................................................................................................

  47 DAFTAR PUSTAKA .............................................................................................

  46 BAB V. KESIMPULAN DAN SARAN .....................................................

  46 4.4. Kinerja Robot.................................................................................................

  45 4.3. Pengujian Sensor Kompas .............................................................................

  36 4.2. Pengujian Driver Motor DC ..........................................................................

  36 4.1. Pengujian Robot dan Sensor PING................................................................

  30 3.8. Spesifikasi Arena ..........................................................................................

  25 3.3.1. Hardware Sensor Kompas ..............................................................

  29 3.7.2. Pergerakan Robot ...........................................................................

  29 3.7.1. Body dan chassis Robot ..................................................................

  28 3.7. Perancangan Robot .......................................................................................

  27 3.6. Perancangan Minimum Sistem .....................................................................

  27 3.5. Perancangan Driver Motor DC .....................................................................

  25 3.4. Perancangan LCD .........................................................................................

  25 3.3.2. Software Sensor Kompas ...............................................................

  49

  

DAFTAR GAMBAR

  27 Gambar 3.9. Rangkaian Reset ................................................................................

  22 Gambar 3.2. Gambar PING ...................................................................................

  23 Gambar 3.3. Flow Chart Sensor Ultrasonik ...........................................................

  24 Gambar 3.4. Gambar Koneksi Sensor Kompas .....................................................

  25 Gambar 3.5. Program 12C Pembacaan data Kompas ............................................

  26 Gambar 3.6. Proses Kerja Sensor Kompas ............................................................

  26 Gambar 3.7. Diagram Blok ....................................................................................

  27 Gambar 3.8. Rangkaian Driver L298 .....................................................................

  28 Gambar 3.10. Rangkaian Minimum System ............................................................

  21 Gambar 2.19. Gambar Internal L298........................................................................

  28 Gambar 3.11. Model Robot .....................................................................................

  29 Gambar 3.12. Posisi Peletakan PING .......................................................................

  30 Gambar 3.13. Pergerakan Robot Keseluruhan .........................................................

  31 Gambar 3.14. Subrotine Menuju Ruangan ..............................................................

  32 Gambar 3.15. Subrotine Pengecekan Ruangan ........................................................

  33 Gambar 3.16. Subrotine Atur Posisi Start.................................................................

  34 Gambar 3.17. Arena .................................................................................................

  21 Gambar 3.1. Blok Diagram Sistem Navigasi Robot ..............................................

  19 Gambar 2.18. Konfigurasi Pin IC L298 ...................................................................

  Halaman Gambar 1.1. Blok Diagram Lengkap Robot Pemadam Api ..................................

  11 Gambar 2.8. Sinyal Start dan Stop pada jalur 12C ................................................

  3 Gambar 2.1. Konfigurasi Pin ATMega32 ..............................................................

  5 Gambar 2.2. Komponen Register MCUCR ...........................................................

  7 Gambar 2.3. Komponen Register MCUCSR .........................................................

  8 Gambar 2.4. Komponen Register GICR ................................................................

  8 Gambar 2.5. Komponen Register TCCRn .............................................................

  9 Gambar 2.6. Diagram Pewaktuan Fast PWM.........................................................

  10 Gambar 2.7. Contoh Implementasi Jalur 12C ........................................................

  12 Gambar 2.9. Transfer Bit pada Jalur 12C ..............................................................

  17 Gambar 2.17. Konfigurasi Pin LCD HD44780 .......................................................

  12 Gambar 2.10. Data (byte) Transfer pada Jalur 12C .................................................

  13 Gambar 2.11. Sinyal Alamat dan data .....................................................................

  14 Gambar 2.12. sensor Ultrasonik PING ....................................................................

  14 Gambar 2.13. prinsip Baca Sensor Ultrasonik PING ..............................................

  15 Gambar 2.14. Pulsa PING ........................................................................................

  16 Gambar 2.15. Fisik san Konfigurasi Pin CMPS03 ..................................................

  16 Gambar 2.16. 12C Communication Protocol ...........................................................

  35

Gambar 4.3. Gambar Data Furniture ........................................................................

  41 Gambar 4.4. Furniture terbaca baik terhadap PING .................................................

  42 Gambar 4.5. Gambar Data Gangguan Halangan Cermin ..........................................

  43 Gambar 4.6. Data Gangguan Halangan Sound damper.............................................

  44 Gambar 4.7. Suhu IC L298 Terukur..........................................................................

  46

  

DAFTAR TABEL

  Halaman Tabel 2.1. Vektor Reset dan Interupsi ...................................................................

  7 Tabel 2.2. Pengaturan Kondisi Interupsi ..............................................................

  8 Tabel 2.3. Konfigurasi Bit WGMn .......................................................................

  9 Tabel 2.4. Register CMPS03 dan Fungsinya .......................................................

  18 Tabel 4.1. Data Ping dalam Menjelajah Arena .....................................................

  38 Tabel 4.2. Garis Besar Aksi Robot Terhadap Arena .............................................

  40 Tabel 4.3 Pengujian terhadap driver motor DC ...................................................

  45

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

  Kelalaian manusia seringkali berakibat fatal pada keselamatan jiwa manusia itu sendiri. Kebakaran banyak terjadi disebabkan kurangnya kepedulian manusia terhadap lingkungan di sekitarnya. Titik api yang kecil bisa menjadi pemicu terjadinya kebakaran hebat, misalnya hubungan arus pendek pada instalasi rumah atau kantor[1]. Hal kecil seperti ini tidak disadari oleh manusia. Untuk mengurangi resiko yang disebabkan hal tersebut, manusia dapat dibantu oleh robot yang dapat mencari titik api.

  Perkembangan bidang robotika yang sangat cepat sudah merambah berbagai sisi kehidupan manusia. Perkembangan tersebut didukung oleh tersedianya perangkat keras (hardware) maupun perangkat lunak (software) yang semakin canggih dan meningkat kemampuannya. Perpaduan antara hardware dan software bisa membuat suatu sistem yang canggih yang tentunya lebih hemat dari segi biaya pembuatan maupun pemeliharaan. Kerusakan yang terjadi pada sistem dapat dicari dilacak dan diperbaiki melalui software dengan cara menghapus dan mengganti dengan software yang baru tanpa mengeluarkan biaya lagi.

  Munculnya berbagai macam sensor yang semakin canggih di dunia elektronika saat ini dapat menunjang manusia untuk mengembangkan software dan hardware dalam bidang robotika. Hal tersebut diharapkan bahwa dimasa yang akan datang dapat dibangun sebuah sistem yang sangat canggih dan tentunya akan sangat berguna dalam memudahkan pekerjaan manusia.

  Penelitian tentang robot pemadam api saat ini sangat gencar dilakukan, sebagai buktinya banyak diadakannya lomba – lomba robot untuk tingkat daerah, nasional, hingga tingkat internasional. Salah satunya adalah Kontes Robot Cerdas Indonesia (KRCI) yang salah satu divisi atau sub lombanya mengenai robot pemadam api[2]. Hal itu juga yang menjadi pemacu penulis untuk lebih mengembangkan tentang robot pemadam api.

  Robot pemadam api memiliki dua bagian sub-sistem vital, yaitu sub-sistem navigasi serta gerak robot dan sub-sistem pencari serta pengeksekusi pemadaman api[3]. Pada penelitian ini penulis hanya melakukan penelitian untuk sebuah sistem navigasi pada robot pemadam api agar dapat bergerak dan menjelajah seluruh lapangan secara otomatis tanpa remote dan kembali ketempat semula tanpa memadamkan titik api. Robot ini dilengkapi dengan dua buah sensor utama, yaitu sensor ultrasonik sebagai penjejak dinding atau objek penghalang dan sensor kompas sebagai penentu arah gerak robot.

  1.2 Tujuan dan Manfaat

  Tujuan penelitian ini adalah menghasilkan suatu sistem navigasi pada robot pemadam api otomatis yang memiliki kemampuan jelajah pada sebuah medan. Manfaat dari penelitian ini adalah didapat sebuah sistem jelajah pada robot dengan menggunakan sensor ultrasonik PING dan sensor kompas CMPS-03, dapat dikembangkan lagi untuk sistem yang lebih kompleks, serta dapat menjadi salah satu bahan referensi dalam pengembangan kreatifitas mahasiswa dalam bidang robotika.

  1.3 Batasan Masalah

  Penelitian ini hanya membahas tentang sistem navigasi robot otomatis menjelajah dalam satu mode jelajah dengan simulasi banyak halangan pada suatu area tanpa proses pemadaman api.

  Spesifikasi dalam penelitian ini adalah :

  a. Microcontroller keluarga AVR ATMega32 sebagai pusat operasi

  b. Sensor Ultrasonik PING sebagai pendeteksi objek sekitar robot

  c. Sensor kompas CMPS-03 sebagai pendeteksi arah gerak robot

  d. Robot bergerak dengan 2 motor dengan roda tank

  e. Kondisi lapangan disimulasikan dengan sebuah labirin berukuran 248cm x 248cm x 30cm dengan tambahan halangan berupa sound damper, cermin, dan furniture.

1.4 Metodologi Penelitian

  Metode yang digunakan dalam penelitian ini adalah mengumpulkan sejumlah referensi atau literatur dari perpustakaan, buku, internet dan sebagainya, kemudian menyusun perancangan hardware dan software lalu melakukan serangkaian percobaan dalam proses merealisasikan perancangan.

Gambar 1.1 Blok Diagram Lengkap Robot Pemadam Api

  Penelitian ini hanya terfokus pada sistem navigasi robot pemadam api dengan input berupa sensor ultrasonik dan sensor kompas yang akan diproses pada microcontroller dengan output berupa penggerak robot berupa motor dc.

  Sensor diuji secara terpisah terlebih dahulu kelayakannya sebelum dipasangkan pada tubuh robot. Pengujian kemampuan jelajah robot disimulasikan pada sebuah labirin.

  Hasil yang ingin dicapai dari penelitian ini adalah menghasilkan suatu sistem navigasi pada robot pemadam api yang mempunyai kemampuan menjelajah sebuah arena secara otomatis tanpa menggunakan remote.

BAB II DASAR TEORI Sistem navigasi robot pemadam api adalah perangkat navigasi yang digunakan untuk memandu robot pemadam api menjelajah sebuah area. Sebagai dasar penelitian ini, maka pada bab ini akan membahas :

  1. Microcontroller

  2. Sensor ultrasonik PING

  3. Sensor kompas CMPS-03

  4. Piranti penampil

  5. Driver motor

2.1 Microcontroller AVR ATMega32[4]

  

Microcontroller adalah suatu komponen semikonduktor yang di dalamnya sudah

terdapat suatu sistem mikroprosesor seperti : ALU, ROM, RAM, dan Port I/O.

Microcontroller AVR memiliki arsitektur RISC (Reduced Instruction Set Computing)

  8 bit. Chip AVR yang digunakan pada penelitian ini adalah ATMega32. Semua instruksi dikemas dalam kode 16 bit dan sebagian besar instruksi di eksekusi dalam satu siklus clock. Avr ATMega32 memiliki 32 register serbaguna dinamakan R0 – R31, 64 I/O register dan 2 kilo byte RAM, dengan susunan 32 register menempati alamat 0x0000 – 0x001F, kemudian dilanjutkan dengan 64 I/O yang dapat diakses langsung atau sebagai lokasi Data Space dengan alamat 0x0020-0x005F. Sedangkan pada 32 register serbaguna terdapat tiga pasang alamat berukuran 16 bit yang dinamakan X (R26-R27), Y(R28-R29) dan Z (R30-R31), register ini biasanya digunakan sebagai pointer (penunjuk) alamat.

  Fitur yang tersedia pada microcontroller ini sebagai berikut : a) Saluran IO sebanyak 32 buah, yaitu Port A, Port B, Port C dan Port D.

  b) ADC 10 bit sebanyak 8 saluran.

  c) Tiga buah Timer/Counter dengan kemampuan pembandingan yaitu Timer 0, Timer 1, Timer 2.

  d) Empat saluran PWM. e) CPU (Central Processing Unit) yang terdiri atas 32 buah register.

  f) SRAM sebesar 2 kilobyte.

  g) Flash memory 32 kilobyte.

  h) EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 1 kilobyte. i) Comparator analog. j) Unit interupsi internal dan eksternal. k) Port USART (Universal Syncronous and Asyncronous serial Receiver and Transmiter). l) Port SPI (Serial Periperal Interface).

2.1.1 Port I/O

  Microcontroller AVR ATMega32 dalam kemasan 40 pin-DIP (dual in-line

package) dapat dilihat pada gambar 2.1. AVR memiliki memori dan bus terpisah untuk

  program dan data (arsitektur Harvard) untuk mendapatkan kinerja yang maksimal dan bersifat paralel. Maksud bersifat paralel adalah sebuah instruksi sedang dikerjakan maka instruksi berikutnya diambil dari memori program.

Gambar 2.1. Konfigurasi Pin ATMega32

  Port A, Port B, Port C, Port D adalah suatu Port I/O 8-bit dua arah.

  Pada pin RESET, dibutuhkan sebuah rangkaian reset dimana diperlukan kapasitor. Waktu pengosongan kapasitor yang dapat dihitung dengan persamaan sebagai berikut :

  = × (2.1)

  Keterangan : T = waktu pengosongan R = nilai resistor C = nilai kapasitor

2.1.2 Interupsi

  Interupsi adalah kondisi yang membuat CPU berhenti dari rutinitas yang sedang dikerjakan (program utama) untuk mengerjakan program lain (program interupsi). Microcontroller ini memiliki 21 sumber interupsi yang ditunjukkan pada tabel 2.1.

  Untuk inisialisasi awal interupsi, perlu dituliskan terlebih dahulu vektor interupsi dari interupsi yang terdapat pada sistem. Vektor interupsi adalah nilai yang disimpan ke program counter pada saat terjadi interupsi sehingga program akan menuju ke alamat yang ditunjuk oleh program counter. Alamat dari tiap interupsi dapat dilihat pada tabel 2.1. Masing-masing alamat vektor memiliki alamat yang berdekatan, sehingga akan timbul masalah jika sebuah layanan interupsi yang panjang. Untuk menghindari hal ini maka ketika suatu interupsi aktif dan menunjuk pada vektor tertentu maka dari alamat vektor tersebut digunakan perintah agar memanggil fungsi yang terletak pada alamat yang lain. Setelah interupsi telah diinisialisasi, selanjutnya mengaktifkan bit I pada STATUS register (SREG) yang berarti mengaktifkan Global

  Interupsi.

  Microcontroller ini memiliki tiga buah interupsi eksternal (INT0, INT1, INT2).

  Pengaturan keadaan untuk INT0 dan INT1 yang menyebabkan terjadinya interupsi terdapat pada register MCUCR (MCU Control Register). Sedangkan untuk INT2 terdapat pada MCUCSR (MCU Control and Status Register).

  Fungsi tiap bit register MCUCR terdapat pada gambar 2.2 yaitu, ISC01 dan

  ISC00 merupakan bit untuk mengatur kondisi terjadi interupsi pada INT0, sedangkan

  ISC10 dan ISC11 untuk mengatur interupsi INT1. Tabel 2.2 memperlihatkan

Tabel 2.1. Vektor Reset dan InterupsiGambar 2.2. Komponen register MCUCRTabel 2.1. Vektor Reset dan InterupsiGambar 2.2. Komponen register MCUCRTabel 2.1. Vektor Reset dan InterupsiGambar 2.2. Komponen register MCUCRTabel 2.2. Pengaturan Kondisi InterupsiGambar 2.3 memperlihatkan konfigurasi bit register MCUCSR, jika ISC2 berlogika 0, maka transisi dari 1 ke 0 (falling edge) pada INT2 menyebabkan interupsi.

  Sebaliknya jika berlogika 1, maka transisi yang terjadi dari 0 ke 1 (rising edge).

  Selanjutnya interupsi diaktifkan dengan memberi logika 1 pada register GICR (Global Interrupt Control Register) untuk interupsi yang diinginkan, dengan susunan register seperti pada gambar 2.4.

Gambar 2.3. Komponen register MCUCSRGambar 2.4 Komponen register GICR

2.1.3 Timer/Counter

  Microcontroller ini menyediakan fasilitas pewaktuan yang diberi nama

Timer/Counter sebanyak tiga buah, yaitu Timer/Counter 0 dan 2 yang terdiri dari 8 bit

  dan Timer/Counter 1 yang terdiri dari 16 bit.

  Register yang digunakan oleh Timer/Counter adalah TCNTn sebagai register

  penyimpan nilai dari Timer/Counter. Register OCRn (Output Compare Register) merupakan register pembanding, jika nilai OCRn sama dengan TCNTn maka terjadi

  

Compare Match. Peristiwa ini dapat menyebabkan keluaran pulsa yang berulang-ulang

  pada pin OCn (Output Compare). Pengaturan Timer/Counter 0, Timer/Counter 1 dan

Timer/Counter 2 dilakukan melalui register TCCRn (Timer/Counter Control Register).

Konfigurasi dari register TCCRn dapat dilihat pada gambar 2.5.

Gambar 2.5. Komponen Register TCCRn

  FOCn (Force Output Compare) hanya aktif pada mode non-PWM, jika 1 maka akan memaksakan operasi compare match. FOCn tidak akan memicu terjadinya interupsi atau menolkan timer pada mode CTC. WGMn(1:0) (Waveform Generation

  

Mode) berfungsi untuk mengendalikan kenaikan dari pencacah pada register TCNTn,

  menentukan sumber dari nilai maksimal (top) dari pencacah dan tipe timer yang akan digunakan. Konfigurasi dari bit WGMn(1:0) dapat di lihat pada tabel 2.3.

  COMn (1:0) (Compare Match Output Mode) berfungsi mengendalikan pin OCn. Jika kedua bit tersebut bernilai 0, maka OCn berfungsi sebagai pin biasa, apabila salah satu bit bernilai 1, maka fungsi dari OCn bergantung pada pengaturan bit WGMn.

Tabel 2.3. Konfigurasi Bit WGMn Pada mode CTC (WGMn1=1 WGMn0= 0) cacahan selalu meningkat, ketika mencapai nilai maksimum akan kembali ke nol lagi. Dalam operasai normal flag

  timer/counter overflow (TVOn) akan aktif ketika terjadi overflow. Karena selalu 12

  mencacah naik, maka dapat digunakan sebagai pewaktu presisi. Cara kerja dari mode ini yaitu akan membandingkan antara OCRn sama dengan TCNTn, jika sama maka pencacahan timer dimulai dari awal lagi, persamaan perhitungan waktu tunda:

  = (2.2)

  Keterangan : f cpu = Kristal yang digunakan (Hz) Prescaler = Pembagi waktu presisi OCRn = Register pembanding pada OCRn

2.1.4 PWM (Pulse Width Modulation)

  Pulsa PWM adalah sederetan pulsa yang lebar pulsanya dapat diatur, karena lebar pulsa yang dihasilkan dapat diubah-ubah maka dapat difungsikan sebagai DAC (Digital Analog Conversion) dengan cara melewatkan keluaran tersebut pada sebuah rangkaian Shift and Hold. Fasilitas Timer/Counter dapat digunakan sebagai penghasil pulsa PWM.

  Pengaturan Timer/Counter 8 bit sebagai penghasil pulsa PWM dengan mode

  

Fast PWM dengan mengubah bit WGMn (1:0) pada mode 3. Diagram pewaktuan dari

mode ini dapat dilihat pada gambar 2.6. Mode ini mengacu pada satu kemiringan yang

  terjadi pada pewaktuan, pencacah akan mencacah dari nilai nol sampai 0xFF kemudian kembali dari awal lagi.

Gambar 2.6. Diagram Pewaktuan Fast PWM Pada mode Non-Inverting keluaran pembanding Pin OCn akan menjadi 0 jika nilai TCNTn sama dengan OCRn dan pin OCn akan menjadi 1 lagi setelah register TCNTn terjadi overflow.

  Flag timer/counter overflow (TOVn) akan aktif saat cacahan mencapai nilai

  maksimal, jika interupsi overflow diaktifkan, maka rutin penanganan interupsi dapat digunakan untuk mengubah nilai pembanding.

  Keluaran frekuensi PWM pada mode Fast PWM dihitung menggunakan persamaan :

  /

  = (2.3)

  . 256 Keterangan : = frekuensi PWM

  = frekuensi CPU

  /

  N = prescaler sumber clock

2.1.5 I2C (Inter-Integrated Circuit)[5] I2C (Inter-Integrated Circuit) merupakan jalur komunikasi serial multi-master.

  I2C tidak memerlukan address decoder dalam implementasi. I2C hanya membutuhkan dua jalur untuk berkomunikasi antar perangkat, yaitu SDA (Serial Data) dan SCL

  

(Serial Clock). SCL merupakan jalur yang digunakan untuk mensinkronisasi transfer

  data pada jalur I2C dan SDA merupakan jalur untuk data. Beberapa perangkat dapat terhubung ke dalam jalur I2C yang sama dimana SCL dan SDA terhubung ke semua perangkat tersebut, hanya ada satu perangkat yang mengontrol SCL yaitu perangkat

  

master. Jalur dari SCL dan SDA ini terhubung dengan resistor pull-up yang besar

  resistansinya tidak menjadi masalah (1K, 1.8K, 4.7K, 10K, 47K atau nilai diantara jangkauan tersebut).

Gambar 2.7. Contoh Implementasi Jalur I2C

  

Resistor pull-up membuat jalur SCL dan SDA menjadi open drain, yaitu kondisi

  perangkat hanya perlu memberikan output 0 (low) untuk membuat jalur menjadi LOW, dan dengan membiarkannya pull-up resistor sudah membuatnya HIGH.

  Umumnya hanya ada satu perangkat master pada jalur I2C dan satu atau beberapa perangkat slave. Perangkat master yang hanya dapat mengontrol jalur SCL yang berarti transfer data harus diinisialisasi terlebih dahulu oleh perangkat master melalui serangkaian pulsa clock (slave tidak bisa, tapi ada satu kasus yang disebut

  

clock streching). Tugas perangkat slave hanya merespon apa yang diminta master.

Slave dapat memberi data ke master dan menerima data dari master setelah server

  melakukan inisialisasi. Inisialisasi diawali dengan sinyal START (transisi high ke low pada jalur SDA dan kondisi high pada jalur SCL, lambang S pada gambar 2.8), lalu transfer data dan sinyal STOP (transisi low ke high pada jalur SDA dan kondisi high pada jalur SCL, lambang P pada gambar 2.8) untuk menandakan akhir transfer data.

Gambar 2.8. Sinyal START dan STOP pada Jalur I2C

  Banyaknya byte yang dapat dikirimkan dalam satu transfer data itu tidak ada aturannya. Jika transfer data yang ingin dilakukan sebesar 2 byte, maka pengiriman pertama adalah 1 byte dan setelah itu 1 byte. Setiap byte yang di transfer harus diikuti dengan bit Acknowledge (ACK) dari penerima, menandakan data berhasil diterima.

  

Byte yang dikirim dari pengirim diawali dari bit MSB. Saat bit dikirim, SCL di set ke

HIGH lalu ke LOW. Bit yang dikirim pada jalur SDA tersebut harus stabil saat periode

clock (SCL) HIGH. Kondisi HIGH atau LOW dari jalur data (SDA) hanya dapat

berubah saat kondisi sinyal SCL itu LOW.

Gambar 2.9. Transfer Bit pada Jalur I2C Setiap pulsa clock itu dihasilkan (di jalur SCL) untuk setiap bit (di jalur SDA) yang ditransfer. Jadi untuk pengiriman 8 bit akan ada 9 pulsa clock yang harus dihasilkan (1 lagi untuk bit ACK). Kronologi sebelum perangkat penerima memberikan sinyal ACK adalah sebagai berikut: saat pengirim selesai mengirimkan bit ke-8, pengirim melepaskan jalur SDA ke pull-up sehingga menjadi HIGH. Saat kondisi tersebut terjadi, penerima harus memberikan kondisi LOW ke SDA saat pulsa clock ke- 9 berada dalam kondisi HIGH.

Gambar 2.10. Data (byte) Transfer pada Jalur I2C

  Jika SDA tetap dalam kondisi HIGH saat pulsa clock ke-9, maka ini didefinisikan sebagai sinyal Not Acknowledge (NACK). Master dapat menghasilkan sinyal STOP untuk menyudahi transfer, atau mengulang sinyal START untuk memulai transfer data yang baru. Ada 5 kondisi yang menyebabkan NACK:

  1. Tidak adanya penerima dengan alamat yang diminta pada jalur, sehingga tidak ada perangkat yang merespon ACK.

  2. Penerima tidak dapat menerima atau mengirim karena sedang mengeksekusi fungsi lain dan tidak siap untuk memulai komunikasi dengan master.

  3. Pada saat transfer data, penerima mendapatkan data atau perintah yang tidak dimengerti oleh penerima.

  4. Pada saat transfer data, penerima tidak dapat menerima lagi byte data yang dikirimkan.

5. Penerima-master perlu memberi sinyal pengakhiran transfer data ke penerima.

  Semua perangkat (uC dan modul-modul) yang terhubung ke dalam jalur I2C yang sama dapat dialamati sebanyak 7 bit, artinya sebuah jalur I2C dengan pengalamatan 7 bit dapat menampung 128 perangkat. Data 1 byte (8 bit) yang akan pengalamatan 7 bit dapat menampung 128 perangkat. Data 1 byte (8 bit) yang akan pengalamatan 7 bit dapat menampung 128 perangkat. Data 1 byte (8 bit) yang akan tetap dikirim saat mengirimkan data alamat. Satu bit lagi digunakan untuk tetap dikirim saat mengirimkan data alamat. Satu bit lagi digunakan untuk tetap dikirim saat mengirimkan data alamat. Satu bit lagi digunakan untuk menginformasikan perangkat slave apakah master menulis (write) data ke slave atau menginformasikan perangkat slave apakah master menulis (write) data ke slave atau menginformasikan perangkat slave apakah master menulis (write) data ke slave atau membaca (read) data dari slave. Jika bit tersebut 0, maka master menulis data ke slave. membaca (read) data dari slave. Jika bit tersebut 0, maka master menulis data ke slave. membaca (read) data dari slave. Jika bit tersebut 0, maka master menulis data ke slave. Jika bit tersebut 1, maka master membaca data dari slave. Bit ini (untuk infomasi Jika bit tersebut 1, maka master membaca data dari slave. Bit ini (untuk infomasi Jika bit tersebut 1, maka master membaca data dari slave. Bit ini (untuk infomasi tulis/baca) merupakan LSB, sedangkan sisanya adalah data alamat 7 bit. tulis/baca) merupakan LSB, sedangkan sisanya adalah data alamat 7 bit. tulis/baca) merupakan LSB, sedangkan sisanya adalah data alamat 7 bit.

Gambar 2.11. Sinyal Alamat dan Data Gambar 2.11. Sinyal Alamat dan Data Gambar 2.11. Sinyal Alamat dan Data

2.2 Sensor Ultrasonik PING[6] Sensor Ultrasonik PING[6] Sensor Ultrasonik PING[6]

  2.2

  2.2

  Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan kemudian diterima kembali. kemudian diterima kembali. kemudian diterima kembali.

Gambar 2.12. Sensor Ultrasonik PING[6] Gambar 2.12. Sensor Ultrasonik PING[6] Gambar 2.12. Sensor Ultrasonik PING[6]

  PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran mempunyai variasi lebar 115 uS sampai 18,5 mS yang merepresentasikan jarak. Pada mempunyai variasi lebar 115 uS sampai 18,5 mS yang merepresentasikan jarak. Pada mempunyai variasi lebar 115 uS sampai 18,5 mS yang merepresentasikan jarak. Pada dasarnya, PING terdiri dari sebuah chip pembangkit sinyal 40KHz, sebuah speaker ultrasonik dan sebuah penerima ultrasonik. Speaker ultrasonik mengubah sinyal 40 KHz menjadi suara sementara penerima ultrasonik berfungsi untuk mendeteksi pantulan suaranya. Terdapat 3 pin yang digunakan untuk jalur power supply (+5V),

  

ground, dan signal. Pin signal dapat langsung dihubungkan dengan microcontroller

tanpa tambahan komponen apapun.

  Suara ultrasonik hanya akan dikirim jika ada pulsa trigger dari microcontroller (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. PING tidak dapat mendeteksi dengan baik objek yang permukaannya dapat menyerap suara, seperti busa atau sound damper lainnya. Pengukuran jarak juga akan terganggu jika permukaan objek tidak rata atau bergerigi dengan sudut tajam.

Gambar 2.13. Prinsip Baca Sensor Ultrasonik PING

  PING akan menghasilkan sebuah pulsa (gambar 2.9) high selama menunggu pantulan, dan kemudian akan low ketika suara pantulan terdeteksi. Selanjutnya

  

microcontroller cukup mengukur lebar pulsa tersebut dan mengkonversinya dalam

  bentuk jarak dengan perhitungan sebagai berikut : ( /29.034)

  ( (2.4)

  ) =

  2

Gambar 2.14. Pulsa PING Gambar 2.14. Pulsa PING Gambar 2.14. Pulsa PING

2.3 Sensor Kompas Magnetik CMPS03[7] Sensor Kompas Magnetik CMPS03[7] Sensor Kompas Magnetik CMPS03[7]

  2.3

  2.3

  CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15. fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15. fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15.

Gambar 2.15. Fisik dan Konfigurasi Pin CMPS03 Gambar 2.15. Fisik dan Konfigurasi Pin CMPS03 Gambar 2.15. Fisik dan Konfigurasi Pin CMPS03 Kompas digital ini memerlukan supply tegangan sebesar 5 Vdc dengan konsumsi arus 15mA. Pada CMPS03, arah mata angin dibagi dalam bentuk derajat

  o o o o

  yaitu, utara (0 ), timur (90 ), selatan (180 ) dan barat (270 ). Ada dua cara untuk mendapatkan informasi arah dari modul kompas digital ini, yaitu dengan membaca sinyal PWM (Pulse Width Modulation) pada pin 4 atau dengan membaca data interface I2C pada pin 2 dan 3.

  2.3.1 PWM Interface

  Pada CMPS03, lebar pulsa positif merepresentasikan sudut arah. Lebar pulsa

  o o

  bervariasi antara 1mS (0 ) sampai 36.99mS (359.9 ). Dengan kata lain lebar pulsa berubah sebesar 100uS setiap derajatnya. Sinyal akan low selama 65mS diantara pulsa, sehingga total periodanya adalah 65mS + lebar pulsa positif (antara 66mS sampai 102mS). Pulsa tersebut dihasilkan oleh timer 16 bit di dalam processor, yang memberikan resolusi 1uS.

  2.3.2 I2C Interface [5] Interface I2C yang dapat digunakan untuk membaca data arah dalam bentuk

  data serial. Pin 2 dan 3 adalah jalur komunikasi I2C dan dapat digunakan untuk membaca data arah (bearing). Jika jalur I2C tidak digunakan, maka pin ini harus di-

  

pull up ke +5V melalui resistor yang nilainya sekitar 47K, nilai resistor tidak kritikal.