• Tidak ada hasil yang ditemukan

Sistem navigasi pada robot pemadam api - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Sistem navigasi pada robot pemadam api - USD Repository"

Copied!
79
0
0

Teks penuh

(1)

i

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

(2)

ii

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

(3)
(4)
(5)

v

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

(6)

vi

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 “

(7)

vii

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

(8)

viii

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.

(9)

ix

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.

(10)

x

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

(11)

xi

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

INTISARI ... viii

BAB I. PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Tujuan dan Manfaat ... 2

1.3. Batasan Masalah ... 2

1.4. Metodologi Penelitian ... 3

BAB II. DASAR TEORI ... 4

2.1. MicrocontrollerAVR ATMega32[4] ... 4

2.1.1. Port I/O ... 5

2.1.2. Interupsi ... 6

2.1.3. Timer/Counter ... 9

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

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

2.2. SensorUltrasonicPING[6] ... 14

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

2.3.1. PWMInterface ... 17

2.3.2. I2CInterface ... 17

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

2.4.1. Proses Penampilan Karakter di LCD ... 20

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

BAB III. RANCANGAN PENELITIAN ... 22

3.1. Proses Kerja Sistem ... 22

3.2. Perancangan SensorUltrasonic ... 23

3.2.1. HardwareSensorUltrasonic... 23

(12)

xii

3.3. Perancangan Sensor Kompas ... 25

3.3.1. Hardware Sensor Kompas ... 25

3.3.2. Software Sensor Kompas ... 25

3.4. Perancangan LCD ... 27

3.5. PerancanganDriverMotor DC ... 27

3.6. Perancangan Minimum Sistem ... 28

3.7. Perancangan Robot ... 29

3.7.1. BodydanchassisRobot ... 29

3.7.2. Pergerakan Robot ... 30

3.8. Spesifikasi Arena ... 34

BAB IV. HASIL DAN PEMBAHASAN ... 36

4.1. Pengujian Robot dan Sensor PING... 36

4.2. Pengujian Driver Motor DC ... 45

4.3. Pengujian Sensor Kompas ... 46

4.4. Kinerja Robot... 46

BAB V. KESIMPULAN DAN SARAN ... 47

DAFTAR PUSTAKA ... 48

(13)

xiii

DAFTAR GAMBAR

Halaman

Gambar 1.1. Blok Diagram Lengkap Robot Pemadam Api ... 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 ... 11

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

Gambar 2.9. Transfer Bit pada Jalur 12C ... 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 ... 17

Gambar 2.17. Konfigurasi Pin LCD HD44780 ... 19

Gambar 2.18. Konfigurasi Pin IC L298 ... 21

Gambar 2.19. Gambar Internal L298... 21

Gambar 3.1. Blok Diagram Sistem Navigasi Robot ... 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 ... 27

Gambar 3.9. Rangkaian Reset ... 28

Gambar 3.10. Rangkaian Minimum System ... 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 ... 35

Gambar 3.18. Perlengkapan Arena ... 35

Gambar 4.1. Bentuk Robot yang Digunakan ... 36

(14)

xiv

Gambar 4.3. Gambar DataFurniture ... 41

Gambar 4.4.Furnitureterbaca baik terhadap PING ... 42

Gambar 4.5. Gambar Data Gangguan Halangan Cermin ... 43

Gambar 4.6. Data Gangguan HalanganSound damper... 44

(15)

xv

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

(16)

1

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

(17)

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. Microcontrollerkeluarga 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

(18)

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 hardwaredansoftware 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

denganoutputberupa 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

(19)

4

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. Drivermotor

2.1 MicrocontrollerAVR 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 sebagaipointer(penunjuk) alamat.

Fitur yang tersedia padamicrocontrollerini sebagai berikut :

a) Saluran IO sebanyak 32 buah, yaituPortA,PortB,PortC danPortD.

b) ADC 10bitsebanyak 8 saluran.

c) Tiga buah Timer/Counter dengan kemampuan pembandingan yaitu

Timer0,Timer1,Timer2.

(20)

e) CPU (Central Processing Unit) yang terdiri atas 32 buahregister.

f) SRAM sebesar 2kilobyte.

g) Flash memory32kilobyte.

h) EEPROM (Electrically Erasable Programmable Read Only Memory)

sebesar 1kilobyte.

i) Comparatoranalog.

j) Unit interupsi internal dan eksternal.

k) Port USART (Universal Syncronous and Asyncronous serial Receiver

and Transmiter).

l) PortSPI(Serial Periperal Interface).

2.1.1 PortI/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.

(21)

PortA,PortB, PortC,PortD adalah suatuPortI/O 8-bitdua 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 = nilairesistor

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.

Microcontrollerini 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

(22)

Tabel 2.1.Vektor Resetdan Interupsi

Gambar 2.2. KomponenregisterMCUCR Tabel 2.1.Vektor Resetdan Interupsi

Gambar 2.2. KomponenregisterMCUCR Tabel 2.1.Vektor Resetdan Interupsi

(23)

Tabel 2.2. Pengaturan Kondisi Interupsi

Gambar 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

registerseperti pada gambar 2.4.

Gambar 2.3. KomponenregisterMCUCSR

(24)

2.1.3 Timer/Counter

Microcontroller ini menyediakan fasilitas pewaktuan yang diberi nama

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

danTimer/Counter1 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/Counter2 dilakukan melalui registerTCCRn (Timer/Counter Control Register).

Konfigurasi dariregisterTCCRn dapat dilihat pada gambar 2.5.

Gambar 2.5. KomponenRegisterTCCRn

FOCn (Force Output Compare) hanya aktif padamodenon-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.

(25)

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 terjadioverflow. 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

pencacahantimerdimulai dari awal lagi, persamaan perhitungan waktu tunda:

= (2.2)

Keterangan : fcpu= Kristal yang digunakan (Hz)

Prescaler = Pembagi waktu presisi

OCRn =Registerpembanding 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) padamode 3. Diagram pewaktuan dari

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

terjadi pada pewaktuan, pencacah akan mencacah dari nilai nol sampai 0xFF kemudian

kembali dari awal lagi.

(26)

Padamode Non-Invertingkeluaran pembanding Pin OCn akan menjadi 0 jika

nilai TCNTn sama dengan OCRn dan pin OCn akan menjadi 1 lagi setelah register

TCNTn terjadioverflow.

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

maksimal, jika interupsioverflowdiaktifkan, maka rutin penanganan interupsi dapat

digunakan untuk mengubah nilai pembanding.

Keluaran frekuensi PWM pada mode Fast PWM dihitung menggunakan

persamaan :

= /

. 256 (2.3)

Keterangan : = frekuensi PWM

/ = frekuensi CPU

N = prescaler sumberclock

2.1.5 I2C(Inter-Integrated Circuit)[5]

I2C (Inter-Integrated Circuit) merupakan jalur komunikasi serial multi-master.

I2C tidak memerlukanaddress decoderdalam 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).

(27)

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

perangkat hanya perlu memberikanoutput0 (low)untuk membuat jalur menjadiLOW,

dan dengan membiarkannyapull-up resistorsudah membuatnyaHIGH.

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. SinyalSTARTdanSTOPpada 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 bytedan setelah itu 1 byte. Setiapbyte 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

HIGHlalu keLOW. 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 ituLOW.

(28)

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 kepull-upsehingga menjadi HIGH. Saat kondisi

tersebut terjadi, penerima harus memberikan kondisiLOWke SDA saat pulsaclock

ke-9 berada dalam kondisiHIGH.

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 STOPuntuk 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-masterperlu memberi sinyal pengakhiran transfer data ke penerima.

Semua perangkat (uC dan modul-modul) yang terhubung ke dalam jalur I2C

(29)

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

menginformasikan perangkat slave apakah master menulis (write) data ke slave atau

membaca (read) data dari slave. Jika bit tersebut 0, makamastermenulis data keslave.

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.

Gambar 2.11. Sinyal Alamat dan Data

2.2 Sensor Ultrasonik PING[6]

Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang

mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan

kemudian diterima kembali.

Gambar 2.12. Sensor Ultrasonik PING[6]

PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran

mempunyai variasi lebar 115 uS sampai 18,5 mS yang merepresentasikan jarak. Pada 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

menginformasikan perangkat slave apakah master menulis (write) data ke slave atau

membaca (read) data dari slave. Jika bit tersebut 0, makamastermenulis data keslave.

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.

Gambar 2.11. Sinyal Alamat dan Data

2.2 Sensor Ultrasonik PING[6]

Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang

mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan

kemudian diterima kembali.

Gambar 2.12. Sensor Ultrasonik PING[6]

PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran

mempunyai variasi lebar 115 uS sampai 18,5 mS yang merepresentasikan jarak. Pada 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

menginformasikan perangkat slave apakah master menulis (write) data ke slave atau

membaca (read) data darislave. Jika bit tersebut 0, makamastermenulis data keslave.

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.

Gambar 2.11. Sinyal Alamat dan Data

2.2 Sensor Ultrasonik PING[6]

Sensor ultrasonik PING adalah sensor jarak dengan suara ultrasonik yang

mempunyai prisip kerja (gambar 2.8) mengirim atau melepaskan suara ultrasonik dan

kemudian diterima kembali.

Gambar 2.12. Sensor Ultrasonik PING[6]

PING dapat membaca jarak antara 3cm hingga 300cm. Pulsa suara keluaran

(30)

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 triggerdarimicrocontroller

(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 damperlainnya. 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)

(31)

Gambar 2.14. Pulsa PING

2.3 Sensor Kompas Magnetik CMPS03[7]

CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet

Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk

fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15.

Gambar 2.15. Fisik dan Konfigurasi Pin CMPS03 Gambar 2.14. Pulsa PING

2.3 Sensor Kompas Magnetik CMPS03[7]

CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet

Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk

fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15.

Gambar 2.15. Fisik dan Konfigurasi Pin CMPS03 Gambar 2.14. Pulsa PING

2.3 Sensor Kompas Magnetik CMPS03[7]

CMPS03 yang berukuran 4 x 4 cm ini menggunakan sensor medan magnet

Philips KMZ51 yang cukup sensitif untuk mendeteksi medan magnet bumi. Bentuk

fisik dan konfigurasi pin CMPS03 dapat dilihat pada gambar 2.15.

(32)

Kompas digital ini memerlukan supply tegangan sebesar 5 Vdc dengan

konsumsi arus 15mA. Pada CMPS03, arah mata angin dibagi dalam bentuk derajat

yaitu, utara (0o), timur (90o), selatan (180o) dan barat (270o). 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 datainterface

I2C pada pin 2 dan 3.

2.3.1 PWMInterface

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

bervariasi antara 1mS (0o) sampai 36.99mS (359.9o). Dengan kata lain lebar pulsa berubah sebesar 100uS setiap derajatnya. Sinyal akanlowselama 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 I2CInterface[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 upke +5V melaluiresistoryang nilainya sekitar 47K, nilairesistortidak kritikal.

(33)

Protocol komunikasi I2C dimulai dengan mengirimkan start bit, address

kompas digital dengan read/write low (0xC0), kemudian nomor register yang akan

dibaca. Selanjutnya diikuti dengan start bit lagi, address kompas digital dengan

read/write high (0xC1). Kemudian tersedia satu atau dua register (8 bit atau 16 bit)

yang dapat dibaca. Pada mode 8 bit, arah utara ditunjukkan dengan data 255 dengan

resolusi 1,40625 derajat/bit. Pada mode 16 bit, arah utara ditunjukkan dengan data

65535 sehingga resolusinya menjadi 0,0055 derajat/bit. Untuk register 16 bit, yang

pertama kali dibaca adalah high byte. Enam belas bit tersebut dapat dilihat pada tabel

2.4.

Tabel 2.4.RegisterCMPS03 dan Fungsinya

NoRegister Fungsi

0 Nomor revisi software dari CMPS03.

1 Pembacaan data kompas (compass bearing) dalam 1 byte. Nilainya memiliki range 0-255 untuk 360 derajat.

2, 3 Pembacaan data kompas dalam 1 word. Rangenya 0-3599 untuk 360 derajat. Register 2 untuk data 8 bit teratas. Dan register 3 untuk 8 bit terendah hingga LSB.

4, 5 Internal test - Beda sinyal sensor 1 sebanyak 16 bit (bertipe signed word) 6, 7 Internal test - Beda sinyal sensor 1 sebanyak 16 bit (bertipe signed word) 8, 9 Internal test - Nilai kalibrasi 1 sebanyak 16 bit (bertipe signed word) 10, 11 Internal test - Nilai kalibrasi 2 sebanyak 16 bit (bertipe signed word)

12 Tidak digunakan. Akan memberikan nilai 0 13 Tidak digunakan. Akan memberikan nilai 0

14 Tanda untuk selesainya kalibrasi. Nilainya 0 saatmodekalibrasi dan tidak terkalibrasi, selain itu nilainya 255.

15 Perintah untuk kalibrasi. Tulis 255 untuk memasukimode kalibrasi. Tulis 0 untuk keluar.

Register 0 adalah Software revision number. Register 1 adalah data arah yang

diubah dalam nilai 0-255. Dalam aplikasinya ini lebih mudah dibandingkan nilai 0-360

karena memerlukan dua byte. Untuk resolusi yang lebih tinggi pada Register 2 dan 3

akan menyimpan data arah 16 bit dengan nilai 0-3599. Ini menunjukkan arah 0-359.9°.

Register 4 sampai 11 adalah internal test register. Register 12, 13 dan 14 tidak

digunakan. Register 15 digunakan untuk melakukan kalibrasi kompas. Pin 7 adalah

input untuk memilihmodeoperasi 50Hz (low) atau 60Hz (high). Pilihan ini diperlukan

(34)

menggunakan power supply yang terhubung ke jala-jala PLN. Hal ini dapat

menurunkan deviasi pembacaan data arah. Proses konversi didalam sensor, selesai

dalam waktu 40mS (50Hz) atau 33.3mS (60Hz). Pin ini memiliki resistor pull up on

board dan dapat dibiarkan tidak terhubung (unconnected) untuk operasi 60Hz. Pin 6

digunakan untuk kalibrasi kompas digital. Pin ini memiliki resistor pull up on board

dan dapat dibiarkan tidak terhubung setelah proses kalibrasi.

Modul kompas digital harus tetap dalam posisi horizontal terhadap permukaan

bumi dengan sisi komponen berada dibagian atas. Jauhkan modul dari metal, terlebih

lagi dari objek yang mengandung magnet.

2.4 Piranti Penampil LCD HD44780[8]

HD44780 merupakan matriks LCD dengan konfigurasi 16 karakter dan 2 baris.

Setiap karakter dibentuk oleh 8x5 atau 10x5 pixel. Gambar 2.17 menunjukkan

konfigurasi kaki pada LCD HD44780.

Gambar 2.17. Konfigurasi Pin dan Rangakaian LCD HD44780

Pin–pin pada LCD HD44780 adalah sebagai berikut:

• Pin 1 (VCC): tegangan +5Volt untuk catu LCD.

• Pin 2 (GND): tegangan 0Volt (ground) modul LCD.

• Pin 3 (VEE/VLCD): tegangan pengatur kontras LCD, maksimum pada 0Volt. menggunakan power supply yang terhubung ke jala-jala PLN. Hal ini dapat

menurunkan deviasi pembacaan data arah. Proses konversi didalam sensor, selesai

dalam waktu 40mS (50Hz) atau 33.3mS (60Hz). Pin ini memiliki resistor pull up on

board dan dapat dibiarkan tidak terhubung (unconnected) untuk operasi 60Hz. Pin 6

digunakan untuk kalibrasi kompas digital. Pin ini memiliki resistor pull up on board

dan dapat dibiarkan tidak terhubung setelah proses kalibrasi.

Modul kompas digital harus tetap dalam posisi horizontal terhadap permukaan

bumi dengan sisi komponen berada dibagian atas. Jauhkan modul dari metal, terlebih

lagi dari objek yang mengandung magnet.

2.4 Piranti Penampil LCD HD44780[8]

HD44780 merupakan matriks LCD dengan konfigurasi 16 karakter dan 2 baris.

Setiap karakter dibentuk oleh 8x5 atau 10x5 pixel. Gambar 2.17 menunjukkan

konfigurasi kaki pada LCD HD44780.

Gambar 2.17. Konfigurasi Pin dan Rangakaian LCD HD44780

Pin–pin pada LCD HD44780 adalah sebagai berikut:

• Pin 1 (VCC): tegangan +5Volt untuk catu LCD.

• Pin 2 (GND): tegangan 0Volt (ground) modul LCD.

• Pin 3 (VEE/VLCD): tegangan pengatur kontras LCD, maksimum pada 0Volt. menggunakan power supply yang terhubung ke jala-jala PLN. Hal ini dapat

menurunkan deviasi pembacaan data arah. Proses konversi didalam sensor, selesai

dalam waktu 40mS (50Hz) atau 33.3mS (60Hz). Pin ini memiliki resistor pull up on

board dan dapat dibiarkan tidak terhubung (unconnected) untuk operasi 60Hz. Pin 6

digunakan untuk kalibrasi kompas digital. Pin ini memiliki resistor pull up on board

dan dapat dibiarkan tidak terhubung setelah proses kalibrasi.

Modul kompas digital harus tetap dalam posisi horizontal terhadap permukaan

bumi dengan sisi komponen berada dibagian atas. Jauhkan modul dari metal, terlebih

lagi dari objek yang mengandung magnet.

2.4 Piranti Penampil LCD HD44780[8]

HD44780 merupakan matriks LCD dengan konfigurasi 16 karakter dan 2 baris.

Setiap karakter dibentuk oleh 8x5 atau 10x5 pixel. Gambar 2.17 menunjukkan

konfigurasi kaki pada LCD HD44780.

Gambar 2.17. Konfigurasi Pin dan Rangakaian LCD HD44780

Pin–pin pada LCD HD44780 adalah sebagai berikut:

• Pin 1 (VCC): tegangan +5Volt untuk catu LCD.

• Pin 2 (GND): tegangan 0Volt (ground) modul LCD.

(35)

• Pin 4 (RS):Register Select, pin pemilihregisteryang akan diakses.

1 = akses keregisterdata

0 = akses keregisterperintah

• Pin 5 (R/W):modebaca atau tulis LCD

1 =modepembacaan

0 =modepenulisan.

• Pin 6 (E): pin untuk mengaktifkanclockLCD.

• Pin 7-14 (D0-D7): jalur bus data.

• Pin 15 (Anoda): tegangan positifbacklightmodul LCD sekitar 4,5Volt.

• Pin 16 (Katoda): tegangan negatifbacklightmodul LCD sebesar 0Volt.

2.4.1 Proses Menampilkan Karakter di LCD[8]

Untuk menampilkan karakter di LCD dilakukan dengan mengirimkan kode

ASCII melalui jalur bus data. Jalur bus data dapat menggunakan 8bit atau hanya 4 bit

saja. Jika menggunakan jalur bus data 4bit maka jalur bus data yang digunakan hanya

D7…D4 saja dan dilakukan 2 kali dengan mengirimkan data nibble high dan nibble

low. Proses diawali terlebih dahulu dengan memberikan logika 1 pada pin RS untuk

masuk ke register data dilanjutkan dengan megirimkan data nibble high dan diikuti

dengan memberikan logika 1 dan 0 pada pin E sebagai clock dan kemudian diikuti

dengan mengirimkan data nibble lowdan diulangi kembali dengan memberikan logika

1 dan 0 pada pin E. Sedangkan untuk memberikan perintah pada LCD dilakukan

proses yang sama dengan proses untuk menampilkan karakter di LCD hanya saja pin

RS harus diberi logika 0 untuk masuk keregisterperintah.

2.5 DriverMotor L298[9]

ICDrivermotor DC L298 memiliki dua buah rangkaian H-Bridgedi dalamnya.

H-Bridge driver motor DC L298 dapat mengantarkan arus hingga 3 ampere dengan

tegangan operasi hingga 46 volt. Konfigurasi pin untuk IC driver L298 dapat dilihat

(36)

Gambar 2.18. Konfigurasi Pin IC L298

Sebagai penggerak robot, menggunakan 2 buah motor DC. Karena kebutuhan

arus untuk menggerakkan motor DC melebihi kapasitas kemampuan dari port

mikrokontroler, maka diperlukan driver untuk meneruskan perintah dari kontroler.

Untuk driver motor tersebut menggunakan IC driver L298 Dual Full-Bridge Driver.

IC ini memiliki kemampuan sebagai driver tegangan tinggi dan arus yang tinggi

yang didesain untuk menerima level logika standar TTL dan mengendalikan beban

induktif seperti : relay, solenoid, motor DC dan motor stepper. Dua buah input

enable disediakan untuk meng-enable atau men-disable perangkat secara

independen dari input sinyal. Dalam pengoperasian standar maka setiap output dapat

mensuplai arus sampai dengan 2 ampere.Untuk kebutuhan arus dari beban yang lebih

besar dari 2 ampere, maka port output dapat diparalel. Konfigurasi ini dapat mensuplai

beban sampai dengan 3 ampere pada operasi DC.

Gambar 2.19 Gambar Internal L298 Gambar 2.18. Konfigurasi Pin IC L298

Sebagai penggerak robot, menggunakan 2 buah motor DC. Karena kebutuhan

arus untuk menggerakkan motor DC melebihi kapasitas kemampuan dari port

mikrokontroler, maka diperlukan driver untuk meneruskan perintah dari kontroler.

Untuk driver motor tersebut menggunakan IC driver L298 Dual Full-Bridge Driver.

IC ini memiliki kemampuan sebagai driver tegangan tinggi dan arus yang tinggi

yang didesain untuk menerima level logika standar TTL dan mengendalikan beban

induktif seperti : relay, solenoid, motor DC dan motor stepper. Dua buah input

enable disediakan untuk meng-enable atau men-disable perangkat secara

independen dari input sinyal. Dalam pengoperasian standar maka setiap output dapat

mensuplai arus sampai dengan 2 ampere.Untuk kebutuhan arus dari beban yang lebih

besar dari 2 ampere, maka port output dapat diparalel. Konfigurasi ini dapat mensuplai

beban sampai dengan 3 ampere pada operasi DC.

Gambar 2.19 Gambar Internal L298 Gambar 2.18. Konfigurasi Pin IC L298

Sebagai penggerak robot, menggunakan 2 buah motor DC. Karena kebutuhan

arus untuk menggerakkan motor DC melebihi kapasitas kemampuan dari port

mikrokontroler, maka diperlukan driver untuk meneruskan perintah dari kontroler.

Untuk driver motor tersebut menggunakan IC driver L298 Dual Full-Bridge Driver.

IC ini memiliki kemampuan sebagai driver tegangan tinggi dan arus yang tinggi

yang didesain untuk menerima level logika standar TTL dan mengendalikan beban

induktif seperti : relay, solenoid, motor DC dan motor stepper. Dua buah input

enable disediakan untuk meng-enable atau men-disable perangkat secara

independen dari input sinyal. Dalam pengoperasian standar maka setiap output dapat

mensuplai arus sampai dengan 2 ampere.Untuk kebutuhan arus dari beban yang lebih

besar dari 2 ampere, maka port output dapat diparalel. Konfigurasi ini dapat mensuplai

beban sampai dengan 3 ampere pada operasi DC.

(37)

22

BAB III

RANCANGAN PENELITIAN

Secara umum sistem navigasi pada robot ini memiliki dua bagian dasar, yaitu bagian perangkat keras (Hardware) dan perangkat lunak (Software). Sensor yang digunakan pada sistem ini adalah sensor ultrasonik PING dan sensor kompas CMPS-03. Perangkat pengolah yang digunakan sebagai sistem kendali adalah sistem mikrokontroler berbasis AVR ATMega32.

Piranti pendukung yang digunakan pada sistem navigasi robot adalah driver sensor ultrasonik dan sensor kompas yang sudah terintegerasi menjadi sebuah modul dan driver untuk menggerakkan motor dc. Selain itu, digunakan juga modul LCD sebagai penampil kondisi sensor. Blok diagram sistem navigasi dapat dilihat pada gambar 3.1.

Gambar 3.1 Blok Diagram Sistem Navigasi Robot

3.1 Proses Kerja Sistem

Secara sederhana, proses kerja sistem ini telah digambarkan pada blok diagram 3.1. Masukan sistem berupa keluaran dari sensor ultrasonik dan sensor kompas yang akan diolah menggunakan fasilitas timerdan I2C pada sistem kendali ATMega32 yang kemudian keadaan sensor ditampilkan pada LCD dan akan mengaktifkan driveruntuk menggerakkan motor dc pada roda robot. Fungsi utama dari sensor ultrasonik adalah sebagai pendeteksi benda yang ada disekitar robot agar robot dapat menghindar dari

SISTEM KENDALI ATMega32

Sensor

 Ultrasonik

 Kompas

DRIVER

MOTOR

DC

LCD

(38)

penghalang dan mencari jalan yang tidak terdapat penghalang. Sensor kompas sebagai sensor pendukung untuk menentukan arah gerak robot.

Robot bergerak dengan dua buah roda tank untuk menjelajah seluruh arena yang akan diberi beberapa halangan yang harus dilewati oleh robot, antara lain penghalang jalan berupa polisi tidur, pengacau sinyal ultrasonik yang disebut sound damper, dan juga benda penghalang yang disebutfurniture.

3.2 Perancangan Sensor Ultrasonik PING

Sistem sensor ultrasonik digunakan sebagai masukan dari proses pengontrolan robot terbagi atas dua bagian, yaitu untuk perangkat keras dan lunak (kontroler).

3.2.1 HardwareSensor Ultrasonik

Sensor ultrasonik menggunakan modul jadi dari Parallax. Prinsip kerja modul ini adalah kontroler mengirimkan sinyal start, PING memancarkan sinyal burst pendek selama 200 us, PING mengirimkan pulsa echo dan kontroler mengukur lebar pulsa echo dari PING.

Gambar 3.2. Gambar PING

Pin kaki catu daya berupa Vdd = 5V dan Vss = GND. Keluaran pada pin kaki SIG.

(39)

3.2.2 SoftwareSensor Ultrasonik

Timer digunakan untuk menghitung lebar pulsa PWM. Data lebar pulsa ini yang akan dihitung menjadi data jarak.

Gambar 3.3.Flow ChartSensor Ultrasonik

Scanning sensor dilakukan secara bergantian dan berseberangan. Hal ini dilakukan karena jika berurutan dan berdekatan sinyal pulsa ultrasonik akan saling mengganggu antara PING tersebut. Lebih jelasnya dapat dilihat pada gambar 3.12. pada bagian perancangan robot.

(40)

3.3 Perancangan Sensor Kompas CMPS-03

3.3.1 Hardware Sensor Kompas

Kompas elektronik yang digunakan adalah modul cmps03 produksi Devantech. Kompas elektronik digunakan untuk mengetahui arah hadap robot ketika bergerak.

Gambar 3.4. Gambar Koneksi Sensor Kompas

Koneksi kompas elektronik menggunakan I2C pin SCL (serial clock) terhubung dengan pin mikrokontroller yang berfungsi sebagai serial clock dan pin SDA (serial data) terhubung dengan mikrokontroller yang berfungsi sebagai serial data. Dipakai resistorpull-uppada SCL dan SDA.

3.3.2 Software Sensor Kompas

Pertama mengirimkan suatu start bit. Kondisi start bit adalah ketika SCL high dan SDA transisi dari high ke low. Start bit berfungsi untuk menentukan awal data. Selanjutnya mikrokontroller mengirimkan data 0xC0, data 0xC0 adalah alamat fix dari kompas. Salanjutnya mengirimkan data 0x01 untuk membaca isi register 1 dari modul kompas. Isi dari register 1 dalah data sudut kompas yang telah dikonversi 0-255. Berikut ini adalah

3.3 Perancangan Sensor Kompas CMPS-03

3.3.1 Hardware Sensor Kompas

Kompas elektronik yang digunakan adalah modul cmps03 produksi Devantech. Kompas elektronik digunakan untuk mengetahui arah hadap robot ketika bergerak.

Gambar 3.4. Gambar Koneksi Sensor Kompas

Koneksi kompas elektronik menggunakan I2C pin SCL (serial clock) terhubung dengan pin mikrokontroller yang berfungsi sebagai serial clock dan pin SDA (serial data) terhubung dengan mikrokontroller yang berfungsi sebagai serial data. Dipakai resistorpull-uppada SCL dan SDA.

3.3.2 Software Sensor Kompas

Pertama mengirimkan suatu start bit. Kondisi start bit adalah ketika SCL high dan SDA transisi dari high ke low. Start bit berfungsi untuk menentukan awal data. Selanjutnya mikrokontroller mengirimkan data 0xC0, data 0xC0 adalah alamat fix dari kompas. Salanjutnya mengirimkan data 0x01 untuk membaca isi register 1 dari modul kompas. Isi dari register 1 dalah data sudut kompas yang telah dikonversi 0-255. Berikut ini adalah

3.3 Perancangan Sensor Kompas CMPS-03

3.3.1 Hardware Sensor Kompas

Kompas elektronik yang digunakan adalah modul cmps03 produksi Devantech. Kompas elektronik digunakan untuk mengetahui arah hadap robot ketika bergerak.

Gambar 3.4. Gambar Koneksi Sensor Kompas

Koneksi kompas elektronik menggunakan I2C pin SCL (serial clock) terhubung dengan pin mikrokontroller yang berfungsi sebagai serial clock dan pin SDA (serial data) terhubung dengan mikrokontroller yang berfungsi sebagai serial data. Dipakai resistorpull-uppada SCL dan SDA.

3.3.2 Software Sensor Kompas

(41)

potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C. Berikut ini adalah potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C.

Gambar 3.5. Program I2C Pembacaan Data Kompas

Setelah inisialisasi dan pembacaan kompas pada gambar 3.5, lalu dapat melanjutkan ke proses berikutnya, yaitu kalibrasi.

START

Inisialisasi Kompas

Kalibrasi

SELESAI

Gambar 3.6. Proses Kerja Kalibrasi Sensor Kompas

Kalibrasi metode PIN membutuhkan switch dari luar seperti yang terlihat pada gambar 3.4.

2. Pastikan kompas pada posisi rata, hadapkan kearah Timur, tekan switch dan lepaskan.

potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C. Berikut ini adalah potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C.

Gambar 3.5. Program I2C Pembacaan Data Kompas

Setelah inisialisasi dan pembacaan kompas pada gambar 3.5, lalu dapat melanjutkan ke proses berikutnya, yaitu kalibrasi.

START

Inisialisasi Kompas

Kalibrasi

SELESAI

Gambar 3.6. Proses Kerja Kalibrasi Sensor Kompas

Kalibrasi metode PIN membutuhkan switch dari luar seperti yang terlihat pada gambar 3.4.

2. Pastikan kompas pada posisi rata, hadapkan kearah Timur, tekan switch dan lepaskan.

potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C. Berikut ini adalah potongan program pembacaan kompas elektronik dengan menggunakan protokol I2C.

Gambar 3.5. Program I2C Pembacaan Data Kompas

Setelah inisialisasi dan pembacaan kompas pada gambar 3.5, lalu dapat melanjutkan ke proses berikutnya, yaitu kalibrasi.

START

Inisialisasi Kompas

Kalibrasi

SELESAI

Gambar 3.6. Proses Kerja Kalibrasi Sensor Kompas

Kalibrasi metode PIN membutuhkan switch dari luar seperti yang terlihat pada gambar 3.4.

(42)

3. Pastikan kompas pada posisi rata, hadapkan kearah Selatan, tekan switch dan lepaskan.

4. Pastikan kompas pada posisi rata, hadapkan kearah Barat, tekan switch dan lepaskan.

3.4 Perancangan LCD

LCD digunakan sebagai penampil nilai yang dibaca sensor ultrasonik dan sensor kompas. Konfigurasi kaki – kaki modul LCD ini dapat dilihat pada dasar teori. Pada perancangan ini modul LCD dihubungkan padaportCpada mikro.

Diagram blok LCD pada gambar 3.7.

Gambar 3.7. Diagram Blok LCD

3.5 Perancangan Driver Motor DC

Driver motor digunakan sebagai penghubung mikrokontroler dengan motor DC karena arus yang keluar dari mikrokontroler tidak mampu

mencukupi kebutuhan arus pada motor. Driver motor yang digunakan adalah L298.

Gambar 3.8. Rangkaian driver L298 SISTEM

KENDALI ATMega32

Sensor

 Ultrasonik

 Kompas

(43)

3.6 Perancangan Minimum Sistem Mikrokontroler

Mikrokontroler membutuhkan sebuah minimum system (minsis) dalam penggunaannya pada sebuah sistem yang lebih kompleks. Microcontroller

memerlukan supplytegangan, tegangan refrensi untuk ADC (Analog to Digital Converter), juga diperlukan sumber clock. Oleh karena itu digunakan sebuah perangkat sistem sederhana yg berfungsi sebagai penghubung microcontroller

dengan sumber tegangan dan sumber clock. Sistem mikrokontroler diberi fasilitas reset yang bertujuan untuk memaksa agar proses diulang dari awal.

Gambar 3.9. Rangkaian Reset

Rangkaian lengkap minsis:

Gambar 3.10. RangkaianMinimum System 3.6 Perancangan Minimum Sistem Mikrokontroler

Mikrokontroler membutuhkan sebuah minimum system (minsis) dalam penggunaannya pada sebuah sistem yang lebih kompleks. Microcontroller

memerlukan supplytegangan, tegangan refrensi untuk ADC (Analog to Digital Converter), juga diperlukan sumber clock. Oleh karena itu digunakan sebuah perangkat sistem sederhana yg berfungsi sebagai penghubung microcontroller

dengan sumber tegangan dan sumber clock. Sistem mikrokontroler diberi fasilitas reset yang bertujuan untuk memaksa agar proses diulang dari awal.

Gambar 3.9. Rangkaian Reset

Rangkaian lengkap minsis:

Gambar 3.10. RangkaianMinimum System 3.6 Perancangan Minimum Sistem Mikrokontroler

Mikrokontroler membutuhkan sebuah minimum system (minsis) dalam penggunaannya pada sebuah sistem yang lebih kompleks. Microcontroller

memerlukansupplytegangan, tegangan refrensi untuk ADC (Analog to Digital Converter), juga diperlukan sumberclock. Oleh karena itu digunakan sebuah perangkat sistem sederhana yg berfungsi sebagai penghubung microcontroller

dengan sumber tegangan dan sumber clock. Sistem mikrokontroler diberi fasilitas reset yang bertujuan untuk memaksa agar proses diulang dari awal.

Gambar 3.9. Rangkaian Reset

Rangkaian lengkap minsis:

(44)

Perangkat input pada sistem ini adalah sensor – sensor. Perangkat output pada sistem ini adalah driver, yaitu driver motor penggerak robot dan driver motor penyemprot air dan LCD sebagai perangkat penampil.

Minimum sistem menggunakan catu daya 5v. Untuk tiap port diberi pin deret untuk memudahkan menghubungkan ke perangkat sensor dan perangkat pendukung lainnya. Perancangan minimum sistem ini banyak mengacu pada ketentuan datasheet. Port xtal 1 dan xtal 2 dihubungkan dengan crystal oscillator dan diberi 2 buah capasitor. Crystal oscillator menggunakan nilai 12Mhz dan nilai C1 dan C2 mengacu pada datasheet. Port AREV sebagai refrensi untuk ADC dihubungkan langsung ke sumber 5v. Port AVCC tetap dihubungkan dengan sumber 5v walau ADC tidak digunakan, dan apabila ADC digunakan harus dihubungkan ke sumber 5V melalui sebuah low-pass filter.

Untuk fasilitas downloader diberikan sebuah pin sendiri yang dihubungkan dengan port MISO, MOSI, SCK, RESET, GND dan 5v.

3.7 Perancangan Robot

3.7.1 Bodydan Sasis Robot

Gambar 3.11. Model Robot

Kerangka utama robot adalah alumunium dan beberapa bagian yang menggunakan akrilik bening dan putih. Dimensi robot yang dirancang adalah Perangkat input pada sistem ini adalah sensor – sensor. Perangkat output pada sistem ini adalah driver, yaitu driver motor penggerak robot dan driver motor penyemprot air dan LCD sebagai perangkat penampil.

Minimum sistem menggunakan catu daya 5v. Untuk tiap port diberi pin deret untuk memudahkan menghubungkan ke perangkat sensor dan perangkat pendukung lainnya. Perancangan minimum sistem ini banyak mengacu pada ketentuan datasheet. Port xtal 1 dan xtal 2 dihubungkan dengan crystal oscillator dan diberi 2 buah capasitor. Crystal oscillator menggunakan nilai 12Mhz dan nilai C1 dan C2 mengacu pada datasheet. Port AREV sebagai refrensi untuk ADC dihubungkan langsung ke sumber 5v. Port AVCC tetap dihubungkan dengan sumber 5v walau ADC tidak digunakan, dan apabila ADC digunakan harus dihubungkan ke sumber 5V melalui sebuah low-pass filter.

Untuk fasilitas downloader diberikan sebuah pin sendiri yang dihubungkan dengan port MISO, MOSI, SCK, RESET, GND dan 5v.

3.7 Perancangan Robot

3.7.1 Bodydan Sasis Robot

Gambar 3.11. Model Robot

Kerangka utama robot adalah alumunium dan beberapa bagian yang menggunakan akrilik bening dan putih. Dimensi robot yang dirancang adalah Perangkat input pada sistem ini adalah sensor – sensor. Perangkat output pada sistem ini adalah driver, yaitu driver motor penggerak robot dan driver motor penyemprot air dan LCD sebagai perangkat penampil.

Minimum sistem menggunakan catu daya 5v. Untuk tiap port diberi pin deret untuk memudahkan menghubungkan ke perangkat sensor dan perangkat pendukung lainnya. Perancangan minimum sistem ini banyak mengacu pada ketentuan datasheet. Port xtal 1 dan xtal 2 dihubungkan dengan crystal oscillator dan diberi 2 buah capasitor. Crystal oscillator menggunakan nilai 12Mhz dan nilai C1 dan C2 mengacu pada datasheet. Port AREV sebagai refrensi untuk ADC dihubungkan langsung ke sumber 5v. Port AVCC tetap dihubungkan dengan sumber 5v walau ADC tidak digunakan, dan apabila ADC digunakan harus dihubungkan ke sumber 5V melalui sebuah low-pass filter.

Untuk fasilitas downloader diberikan sebuah pin sendiri yang dihubungkan dengan port MISO, MOSI, SCK, RESET, GND dan 5v.

3.7 Perancangan Robot

3.7.1 Bodydan Sasis Robot

Gambar 3.11. Model Robot

(45)

panjang x lebar x tinggi = 19cm x 15,8cm x 19 cm. Penggerak robot adalah motor DC dengan rodatanksebagai alasnya. Peletakan 8 buah sensor ultrasonik adalah sebagai berikut; 1 di bagian depan, 1 di bagian belakang, 2 di bagian kanan, 2 di bagian kiri, 2 di sudut 45okiri dan kanan. Sensor kompas diletakkan di tengah badan robot.

Gambar 3.12. Posisi Peletakan PING

Sensor PING disusun posisinya seperti yang tampak pada gambar 3.12. Posisi ini membuat daya jangkau pembacaan PING menjadi sangat luas, hampir mencapai 360o. Dengan posisi ini scanning PING harus bergantian dan berseberangan agar tidak terjadi interferensi antar PING. Misalnya depan, ka1, ki1, ka3, ki3, ka2, ki2, lalu belakang.

3.7.2 Pergerakan Robot

Robot dirancang untuk menjelajah seluruh arena. Pergerakan robot secara umum dapat digambarkan seperti pada gambar 3.13. Proses inisialisasi adalah penyesuaian sensor – sensor dengan mikrokontroler pada robot.

(46)
(47)
(48)

Penjelas: Dp = PING depan, Blk = PING belakang, Ka = PING kanan, Ki = PING kiri. Kondisi putar adalah dimana salah satu motor maju, dan motor lainnya mundur baik ke kiri maupun kanan, kondisi maju adalah kedua motor berputar maju, kondisi belok adalah salah satu motor maju, dan kondisi mundur adalah kedua motor mundur.

Pada subroutine menuju ruangan robot membaca kondisi dinding yang ada disekitarnya untuk menentukan tindakan berikutnya.

Gambar 3.15.SubroutinePengecekan Ruangan

Penjelas: Dp = PING depan, Blk = PING belakang, Ka = PING kanan, Ki = PING kiri. Kondisi putar adalah dimana salah satu motor maju, dan motor lainnya mundur baik ke kiri maupun kanan, kondisi maju adalah kedua motor berputar maju, kondisi belok adalah salah satu motor maju, dan kondisi mundur adalah kedua motor mundur.

Pada subroutine menuju ruangan robot membaca kondisi dinding yang ada disekitarnya untuk menentukan tindakan berikutnya.

Gambar 3.15.SubroutinePengecekan Ruangan

Penjelas: Dp = PING depan, Blk = PING belakang, Ka = PING kanan, Ki = PING kiri. Kondisi putar adalah dimana salah satu motor maju, dan motor lainnya mundur baik ke kiri maupun kanan, kondisi maju adalah kedua motor berputar maju, kondisi belok adalah salah satu motor maju, dan kondisi mundur adalah kedua motor mundur.

Pada subroutine menuju ruangan robot membaca kondisi dinding yang ada disekitarnya untuk menentukan tindakan berikutnya.

(49)

Keadaan robot saat pengecekan ruangan adalah saat robot masuk ke pintu ruangan. Robot akan men-scan apakah ada api atau tidak dalam ruangan tersebut.

Gambar 3.16.SubroutineAtur Posisi Start

Keadaan start ini membuat robot untuk mencari posisi yang baik untuk memulai melaju. Robot akan berputar untuk mencari posisi itu.

3.8 Spesifikasi Arena

(50)

Gambar 3.17. Arena [2]

Gambar 3.18. Perlengkapan Arena [2] Gambar 3.17. Arena [2]

Gambar 3.18. Perlengkapan Arena [2] Gambar 3.17. Arena [2]

Gambar

Gambar 4.3. Gambar Data Furniture ........................................................................Gambar 4.5
Tabel 2.1.Vektor Reset dan Interupsi...................................................................
Gambar 1.1 Blok Diagram Lengkap Robot Pemadam Api
Gambar 2.1. Konfigurasi Pin ATMega32
+7

Referensi

Dokumen terkait

Hasil penelitian ini menyebutkan bahwa, cyberbullying dilakukan untuk membanggakan suatu kelompok dan menjatuhkan atau menjelek – jelek kan kelompok lain dengan

Puji syukur ke hadirat Allah SWT yang telah melimpahkan rahmat, hidayah, serta inayah-Nya kepada penulis sehingga peneliti dapat menyelesaikan skripsi dengan

Saturasi oksigen pada pasien yang menjalani hemodialisis di

Dari sini diharapkan dapat diketahui siapa yang paling dominan atau lebih berperan serta lebih berpengaruh pada pelaksanaan fungsi–fungsi mereka; Kedua, akan dilihat bagaimana

Pengaruh Penagihan Pajak dengan Surat Teguran dan Surat Paksa Terhadap Pembayaran Tunggakan Pajak Penghasilan Pada Kantor Pelayanan Pajak Pratama Gorontalo.. Skripsi

Jika permohonan penjualan kembali Unit Penyertaan yang telah dipenuhi sesuai dengan syarat dan ketentuan yang tercantum dalam Kontrak Investasi Kolektif ABERDEEN INDONESIA GOVERNMENT

Bola basket merupakan salah satu cabang olahraga permainan yang pelaksanaannya membutuhkan banyak faktor, yaitu kelincahan, kecepatan koordinasi gerak dan letak

Rancangan sistem pakar yang dibuat ini bertujuan untuk membantu wanita dalam menentukan jenis kulit wajahnya, agar dapat memilih produk kosmetik yang tepat sesuai dengan jenis