special+report+robot+mobil+line+follower iklan

63
1 http://microrobotics.blogspot.com MUDAH KOK DIBUAT SENDIRI Moh.Ibnu Malik,ST Gambar hanya ilustrasi Email : mailto: [email protected] Naufal Micro & Robotics

Upload: alexsius92

Post on 30-Jun-2015

1.027 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Special+Report+Robot+Mobil+Line+Follower Iklan

1

V22222222222222222222222222222222222222222222222

http://microrobotics.blogspot.com

MUDAH KOK DIBUAT SENDIRI

Moh.Ibnu Malik,ST

Gambar hanya ilustrasi

Email : mailto: [email protected]

Naufal Micro & Robotics

Page 2: Special+Report+Robot+Mobil+Line+Follower Iklan

2

Disclaimer :

Dilarang memperbanyak atau mengedarkan Special Report ini tanpa seijin penulis. Customer Name :

All Right Reserved © 2010

Page 3: Special+Report+Robot+Mobil+Line+Follower Iklan

3

BAB I

PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi saat ini juga berdampak

berkembangnya ilmu-ilmu lain seperti ilmu robotik. Keunggulan dalam teknologi

robotik tak dapat dipungkiri telah lama dijadikan ikon kebanggaan negara-negara

maju di dunia. Kecanggilan teknologi yang dimiliki, gedung-gedung tinggi yang

mencakar langit, tingkat kesejahteraan rakyatnya yang tinggi, kota-kotanya yang

modern, belumlah terasa lengkap tanpa popularitas kepiawaian di dalam dunian

robotik.

Saat ini dunia per-robotan di Indonesia berkembang dengan pesat. Hal ini

tidak lain karena tiap tahun diselenggarakan lomba robot yaitu KRCI (Kontes

Robot Cerdas Indonesia). Hal inilah yang memacu banyak Universitas untuk

berlomba-lomba membuat robot cerdas yang diharapkan akan memenangkan

kontes bergengsi tersebut, namun demikian kebanyakan juara lomba tersebut

masih didominasi oleh Perguruan Tinggi. Lomba tersebut sudah merupakan jalan

bagi perkembangan dunia robot di Indonesia.

Robot yang beredar saat ini banyak terfokus pada sistem remote control

seperti robot atau robot pesawat terbang, dan lain-lain sehingga harus

dikendalikan dari jarak tertentu sehingga bila terjadi kesalahan pada pengontrolan

maka robot tidak akan bekerja sesuai dengan tujuan. Mikrokontroler PIC16F84/A

dapat diprogram dengan bahasa assembler secara permanen sehingga dapat

Page 4: Special+Report+Robot+Mobil+Line+Follower Iklan

4

mengendalikan robot agar dapat mengikuti garis (line) secara mandiri tanpa ada

yang mengendalikan.

Sensor infrared dipasang pada robot akan berfungsi sebagai pengendali

robot agar bisa bergerak maju mengikuti garis (line) yang berwarna putih dengan

tingkat lengkungan yang tinggi. Mekanik Robot dibuat menyerupai sebuah mobil

dengan 2 buah roda dengan 2 penggerak yang berfungsi sebagai penggerak roda

dan sebuah caster (roda bebas). Robot mobil yang penulis bangun adalah robot

pengikut garis (line follower robot) berbasis mikrokontroler PIC16F84/A.

Sesuai namanya robot pengikut garis ini bergerak mengikuti garis putih

yang ada dibawahnya. Bila garis (line) tersebut berbelok, maka robot mobil

tersebut juga harus berbelok mengikuti garis (line) tersebut.

Berdasarkan latar belakang tersebut diatas maka, penulis sangat tertarik

untuk melakukan penelitian ini dengan judul : “Robot Mobile Pengikut Garis (

Line Follower Robot ) ”.

1.2. Perumusan Masalah

Berdasarkan latar belakang yang telah penulis kemukakan diatas, maka

rumusan masalah pada penelitian ini adalah sebagai berikut :

Bagaimana perancangan software dengan assembler yang akan digunakan

untuk mengontrol robot, sensor infrared yang mampu menentukan arah sehingga

robot bisa berjalan, merancang mekanik robot pengikut garis yang berbasis

mikrokontroler PIC16F84/A.

Page 5: Special+Report+Robot+Mobil+Line+Follower Iklan

5

1.3. Batasan Masalah

Dalam peneltian ini penulis hanya akan membahas tentang jenis dan tipe

yang digunakan robot pengikut.

1. Jenis mikrokontroler yang dipakai adalah mikrokontroler PIC16F84/A.

2. Base robot akan dibuat menggunakan bahan dari acrylic

3. Robot menggunakan penggerak servo continous

4. Tipe yang dipakai untuk garis adalah warna putih dengan dasar berwarna

hitam

1.4. Tujuan dan Manfaat Penelitian

1.4.1. Tujuan Penelitian

Tujuan yang hendak dicapai dalam penelitian ini ini adalah :

Dapat membuat rancangan dan realisasi robot pengikut garis (Line

Follower Robot) , yaitu suatu mobil robot yang dapat mengikuti suatu garis putih

diatas lantai (dasar) warna hitam, dengan menggunakan Mikrokontroler

PIC16F84/A.

1.4.2. Manfaat Penelitian

Dengan membuat robot pengikut garis berbasis mikrokontroler ini maka

manfaat yang didapat adalah :

1. Dapat mengikuti perkembangan robot-robot cerdas yang saat ini sudah banyak

beredar terutama di kalangan perguruan tinggi.

Page 6: Special+Report+Robot+Mobil+Line+Follower Iklan

6

2. Dapat mendesain robot untuk dapat bergerak lurus maju kedepan, dapat

berbelok ke-kiri dan dapat berbelok ke-kanan.

3. Pemanfaatan mikrokontroler PIC16F84/A.

4. Pemanfaatan sensor infrared.

Page 7: Special+Report+Robot+Mobil+Line+Follower Iklan

7

BAB II

LANDASAN TEORI

2.1 Mikrokontroler PIC16F84/A

Mikrokontroler merupakan suatu IC (Intergrated Circuit) yang

didalamnya terdapat komponen penyusun suatu sistem komputer yaitu CPU

(Central Processing Unit), ROM ( Read Only Memory ), RAM (Random

Access Memory ) dan I/O (Input/ Output ).

Mikrokontroler ini banyak dipakai sebagai alat kontrol pada peralatan

elektronika saat ini seperti mesin fax, mesin cuci otomatis dan mesin fotocopy.

Mikrokontroler dipakai sebagai alat kontrol alat-alat tersebut karena ukuran yang

relatif kecil sehingga mudah dipasangkan pada peralatan tersebut.

Gambar 2.1 Komponen Penyusun Mikrokontroler

a. CPU (Central Processing Unit)

CPU merupakan pengontrol utama pada mikrokontroler. CPU ini mampu

menangani data dengan lebar 8-bit. CPU ini akan membaca program yang

tersimpan dalam ROM/Flash dan akan melaksanakannya.

CPU

ROM/Flash

RAM

I/O

8

Page 8: Special+Report+Robot+Mobil+Line+Follower Iklan

8

b. ROM ( Read Only Memory ) /Flash

ROM merupakan singkatan dari Read Only Memory yaitu berarti bahwa

memori tersebut hanya dibaca isinya. ROM/Flash dipergunakan untuk

menyimpan program/instruksi untuk mikrokontroler. Setelah diisikan ke

dalam ROM/Flash, maka isinya tidak akan terhapus walaupun catu daya

dihilangkan.

c. RAM ( Random Access Memory )

RAM merupakan Random Access Memory yaitu suatu memori yang dapat

dibaca secara acak. Selain itu sifat RAM adalah bahwa isinya akan terhapus

bila catu daya kepadanya dihilangkan. RAM dipakai untuk menyimpan data

yang sifatnya sementara.

d. I/O ( Input / Output )

I/O merupakan singkatan dari Input/Ouput. Dengan adanya I/O tersebut, maka

mikrokontroler dapat berhubungan dengan alat luar. Port I/O tersebut dapat

dihubungkan dengan LED, Saklar, dan LCD.

2.2 Fitur Mikrokontroler PIC16F84/A

Mikrokontroler PIC16F84/A merupakan mikrokontroler keluarga

PICmicro yang diproduksi oleh Microchip Inc. Mikrokontroller ini berukuran

cukup kecil dengan pena hanya 18 buah saja. Ukuran yang kecil sangat berguna

jika kita membuat alat yang relatif kecil. .

Page 9: Special+Report+Robot+Mobil+Line+Follower Iklan

9

Adapun fitur-fitur pada mikrokontroler PIC16F84/A adalah sebagai

berikut.

a. Hanya memerlukan 35 instruksi

b. Semua instruksi berukuran 14-bit

c. Data berukuran 8-bit

d. Memori program berukuran 1024 x 14 pada Flash memori

e. 68 x 8 Register kegunaan umum ( SRAM= Statik RAM )

f. 15 Register Kegunaan khusus

g. Data memori berukutan 64 x 8 pada EEPROM

h. Delapan tingkat stack perangkat keras

i. Empat sumber sela ( interupsi ).

j. Memiliki 13 buah I/O yang terbagi menjadi Port A dan Port B

k. Dapat langsung men-drive LED

l. Terdapat timer 8-bit dengan pembagi 8-bit

m. Dapat memakai beberapa jenis osilator

n. Berukuran fisik hanya 18 pena.

2.3 Susunan Pena Mikrokontroler PIC16F84/A

Mikrokontroler PIC16F84/A berukuran fisik hanya 18 pena. Cukup kecil

untuk suatu mikrokontroler. Dengan ukuran yang kecil ini, maka memiliki

beberapa kelebihan seperti mudah untuk “ditanam” pada ruang yang kecil dan

dapat didayai dengan mudah menggunakan baterai.

Page 10: Special+Report+Robot+Mobil+Line+Follower Iklan

10

Adapun ke 18 pena pada mikrokontroler ini dapat dibedakan menjadi

beberapa jenis, yaitu pena power, pena osilator, dan pena port. Susunan pena

mikrokontroler PIC16F84 diberikan pada gambar berikut ini.

Gambar 2.2 Susunan pena mikrokontroler PIC16F84/A

Berikut ini adalah tabel penjelasan dari pena-pena pada mikrokontroler

PIC16F84/A.

Tabel 2.1. pena-pena mikrokontroler PIC 16F84/A

No Nama Pena No.Pena Keterangan 1 2 3 4 5 6 7 8 9

10 11

VDD VSS

OSC1/CLKIN OSC2/CLKOUT

MCLR RA4/TOCKI

RA0 RA1 RA2 RA3

RB0/INT

14 5

16 15 4 3

17 18 1 2 6

Sumber daya positif (+2~+6 Volt) Ground

Masukan untuk detak Output detak

Master Clear ( aktif rendah ) Port A bit 4 / Masukan untuk Timer

Port A bit 0 Port A bit 1 Port A bit 2 Port A bit 3

Port B bit 0 / Masukan sela

Page 11: Special+Report+Robot+Mobil+Line+Follower Iklan

11

12 13 14 15 16 17 18

RB1 RB2 RB3 RB4 RB5 RB6 RB7

7 8 3

10 11 12 13

Port B bit 1 Port B bit 2 Port B bit 3 Port B bit 4 Port B bit 5 Port B bit 6 Port B bit 7

Mikrokontroler PIC16F84/A merupakan mikrokontroler yang

menggunakan arsitektur Harvard. Hal ini mengakibatkan dibuatnya pemisahan

antara bus data dengan bus alamat. Keuntungan arsitektur ini adalah dapat

digunakan suatu kata panjang (long word) tunggal untuk perintah yang

membutuhkan hanya satu lokasi pada program memori. Arsitektur Harvard

secara umum dapat digambarkan seperti pada gambar berikut ini.

Gambar 2.3 Arsitektur Harvard pada PIC16F84/A

2.4. Beberapa Fitur Mikrokontroler PIC16F84/A

Seperti telah disebutkan diatas, bahwa mikrokontroler PIC16F84/A

memiliki beberapa fitur yang menarik yang memberikan nilai tambah terhadap

mikrokontroler ini. Beberapa fitur tersebut akan dibahas berikut ini.

CPU

Data

Memory

Program Memory

Page 12: Special+Report+Robot+Mobil+Line+Follower Iklan

12

2.4.1 Osilator

Osilator merupakan komponen yang sangat penting bagi sebuah

mikrokontroler. Jika suatu mikrokontroler tidak diberikan osilator ( detak / clock )

maka dapat dipastikan bahwa mikrokontroler tersebut tidak akan bekerja. Hal ini

dikarenakan osilator memberikan detak untuk proses internal pada mikrokontroler

itu sendiri.

Secara umum agar rangkaian osilator dapat bekerja dengan baik, maka kita

harus memberikan tambahan komponen yang berupa kristal ( XTAL ) dan 2 buah

kapasitor. Nah untungnya pada mikrokontroler ini dapat dipakai 4 jenis osilator.

Hal ini akan memudahkan dalam pemberian osilator tersebut.

Adapun jenis Osilator yang dapat dipakai pada mikrokontroler PIC16F84

adalah :

a. Osilator RC

Osilator ini dibuat dengan menggunakan gabungan suatu Resistor-Capasitor.

Osilator ini merupakan osilator paling murah yang dapat dipakai. Jika

rangkaian mikrokontroler tidak memerlukan pewaktuan yang presisi, maka

dapat menggunakan jenis osilator ini.

Gambar 2.4 Osilator RC (Resistor-Capacitor Network )

Page 13: Special+Report+Robot+Mobil+Line+Follower Iklan

13

b. Osilator Kristal

Apabila mikrokontroler dipakai dengan asumsi ada perhitungan waktu yang

presisi, misalnya ada penggunaan fungsi timer sehingga diharapkan dapat

menghasilkan perhitungan waktu yang presisi, maka untuk itu dapat

dipergunakan jenis osilator yang menggunakan kristal / resonator.

Gambar 2.5 Osilator Kristal ( XTAL )

c. Detak Luar

Selain menggunakan kedua jenis osilator diatas (RC maupun

Kristal/Resonator), maka masih ada lagi cara untuk memberikan detak

(clock) kepada mikrokontroler PIC16F84, yaitu dengan memberikan detak

luar melalui pena OSC1.

Gambar 2.6 Detak Luar

Page 14: Special+Report+Robot+Mobil+Line+Follower Iklan

14

2.4.2 Arithmetic and Logic Unit ( ALU )

Pada CPU mikrokontroler PIC16F84/A terkandung suatu ALU (

Arithmetic and Logic Unit ) yang mampu menangani data dengan lebar 8-bit.

ALU ini mampu melaksanakan operasi penjumlahan, pengurangan, pergeseran

dan operasi logika. Kecuali disebutkan lain, semua operasi memakai sistem

komplemen dua.

Pada pelaksanaan kerja suatu instruksi yang menggunakan 2 operand,

maka biasanya salah satu operand adalah Register W ( Working Register ).

Sedangkan operand yang lain adalah register File atau suatu konstanta.

2.4.3 Reset

Reset adalah suatu kondisi dimana mikrokontroler berada pada kondisi

awal kerja ( default ). Pada kondisi ini, semua register akan berisi dengan nilai

defaultnya. Sebagai contoh Pencacah Program ( PC = Program Counter ) akan

berisi 000H yang menunjukkan lokasi awal program yang harus dijalankan. Yang

perlu diketahui adalah bahwa pada mikrokontroler PIC16F84/A dikenal beberapa

jenis reset yaitu :

a. Power On Reset ( POR )

Adalah merupakan reset yang terjadi jika mikrokontroler pertama kali kita

hidupkan ( Power On ). Pada saat ini maka PC = 000H. Untuk melakukannya

cukup dengan menghubungkan pena MCLR ( Master Clear ) ke Vdd melalui

resistor 10K.

Page 15: Special+Report+Robot+Mobil+Line+Follower Iklan

15

b. MCLR Reset selama operasi normal

Yaitu suatu kejadian reset dimana CPU sedang bekerja secara normal, tiba-

tiba pena MCLR dibuat rendah, maka akan terjadi reset ini.

c. MCLR Reset selama sleep

Pada saat masuk kedalam mode sleep, maka daya yang digunakan akan

berkurang, hal ini sangat berarti pada alat yang didayai baterai. Pada saat sleep

ini, ia dapat diaktifkan lagi dengan memberikan sinyal rendah pada pena

MCLR.

d. Reset Time Out

Adalah perhitungan yang telah selesai dari watchdog timer selama operasi

normal.

e. Reset Time Out dari Watchdog Timer selama prosesor dalam mode sleep

2.4.4 Memori Pada Mikrokontroler PIC16F84/A

Program untuk mikrokontroler ini disimpan dalam suatu Flash memory

yang berukuran 1024 x 14. Flash memori ini dapat dihapus tulis beberapa ribu kali

tanpa mengalami kerusakan, sehingga cocok untuk dipakai dalam proses

pengembangan alat.

Pencacah program (PC = Program Counter) pada mikrokontroler ini

memiliki lebar 13-bit dan mampu mengalamati hingga 8K x 14 ruang program

memori. Namun hanya permulaan 1K ( 1024 ) x 14 saya yang diwujudkan yaitu

dari alamat 0000H sampai 03FFH.

Page 16: Special+Report+Robot+Mobil+Line+Follower Iklan

16

Vektor reset memiliki alamat 0000H yang berarti bahwa pada saat terjadi

reset, maka PC tersebut akan berisi alamat 0000H. Sementara vektor sela adalah

0004H yang berarti bahwa bila terjadi sela ( sela diaktifkan ), maka PC akan

menuju alamat 0004H. Peta program memori dapat dilihat pada gambar berikut.

Gambar 2.7 Peta program memori dan stack

2.4.5 Organisasi Register File

Register adalah suatu lokasi memori yang bertanggung-jawab terhadap

suatu alat dalam mikrokontroler. Untuk mengatur alat pada mikrokontroler

tersebut dilakukan dengan mengatur register yang berpadanan dengan alat

tersebut.

Page 17: Special+Report+Robot+Mobil+Line+Follower Iklan

17

Sebagai contoh untuk mengatur bit-bit mana yang sebagai masukan atau

keluaran pada Port A dilakukan dnegan mengatur register TRISA. Untuk

mengatur bit-bit mana sebagai masukan atau keluaran pada port B dilakukan

dengan mengatur isi register TRISB.

Register file diorganisasikan sebagai 128 x 8. Register ini dapat diakses

baik secara langsung maupun tidak langsung melalui register SFR (File Select

Register). Pada mikrokontroler ini register dimuatkan pada 2 halaman ( 2 bank )

yaitu bank 0 dan bank 1. Pemilihan bank tersebut dilakukan dengan mengatur bit

RP0 ( bit ke-5 pada register STATUS ). Bila RP0 = 0 maka terpilih bank 0, bila

RP0 = 1 maka terpilih bank 1. Berikut adalah gambar Peta register file.

Gambar 2.8 Peta register File

Page 18: Special+Report+Robot+Mobil+Line+Follower Iklan

18

Dua belas lokasi pertama adalah digunakan untuk memetakan register

fungsi khusus. Sedangkan lokasi selanjutnya ( 0CH sampai 4FH ) merupakan

register kegunaan umum yang diwujudkan sebagai statik RAM.

2.4.6 Port Mikrokontroler

Mikrokontroler PIC16F84/A memiliki 2 buah port yang diberi nama Port

A dan Port B. Port A berukuran 5 bit (RA0 ~ RA4) sementara Port B berukuran 8

bit (RB0 ~ RB7). Ada beberapa port yang memiliki fungsi khusus yang

dimultiplek dengan fungsi umum, yaitu RA4 juga merupakan masukan detak luar

untuk menuju ke Timer/Counter. Kemudian RB0 juga memiliki fungsi khusus

sebagai masukan Interupt (sela). Selain itu pena RB6 dan RB7 juga merupakan

masukan untuk proses download program pada saat mikrokontroler

diprogram.

2.5 Motor Servo

Motor servo merupakan sebuah motor DC yang memiliki rangkaian

kontrol sehingga jika posisi yang diharapkan sudah tercapai, maka putaran motor

akan berhenti secara otomatis.

Motor servo sendiri ada 2 jenis yaitu motor servo standar yang putarannya

terbatas, dan motor servo continous yang putarannya 360 derajat. Untuk mobil

robot ini maka harus dipakai servo jenis continous.

Page 19: Special+Report+Robot+Mobil+Line+Follower Iklan

19

Gambar 2.9 Motor Servo

Motor servo ini dikontrol hanya menggunakan 1 bit saja dengan sistem

memberikan pulsa dengan lebar tertentu. Lebar pulsa adalah antara 1 sampai 2

ms.

2.6. Sensor Infrared

Sensor Infra Merah ini digunakan untuk membedakan warna putih dan

warna hitam. Warna putih adalah line yang akan digunakan pada tugas akhir ini.

Sedangkan warna hitam sendiri merupakan warna dasar.

Page 20: Special+Report+Robot+Mobil+Line+Follower Iklan

20

Pada saat sensor mendeteksi warna putih, maka akan dipancarkan sinar

Infra Merah ke permukaan putih tersebut. Oleh karena warna putih tidak memiliki

sifat menyerap cahaya, maka sinar tersebut tidak dipantulkan. Namun jika sinar

mengenai permukaan warna hitam, sinar akan dipantulkan. Pantulan sinar inilah

yang nantinya dideteksi oleh sensor infra merah.

Gambar 2.10 Prinsip pen-deteksian line

Dipasaran telah tersedia sinar infra merah dalam bentuk modul yang siap

pakai. Hal ini tentu memudahkan dalam pembuatan tugas akhir tersebut.

2.7. Diagram Alur (Flowchart)

Flowchart (diagram alur) adalah suatu bagan yang

menggambarkan/mempresentasikan suatu prosedur untuk menyelesaikan masalah

atau dengan kata lain flowchart yaitu bagan yang menggambarkan suatu prosedur

dan proses suatu File dalam suatu media menjadi file dalam media yang lain

dalam suatu system data.

Page 21: Special+Report+Robot+Mobil+Line+Follower Iklan

21

Flowchart adalah diagram yang menunjukan semua langkah penting

dalam suatu proses. Diagram alur merupakan langkah awal dalam menganalisa

suatu proses dengan menggunakan symbol-simbol tertentu untuk

mendokumentasikan langkah-langkah proses. Jadi flowchart merupakan suatu

gambar atau bagan yang menunjukan keseluruhan langkah-langkah proses secara

berurutan.

Flowchart merupakan symbol-simbol yang berisi langkah-langkah arus

control dari pelaksanaan suatu program. Tujuan dari pembuatan flowchart ini

adalah untuk mempermudah dalam penulisan program yang akan dibuat. Diagram

alur flowchart merupakan bentuk grafis visual dari algoritma.

Table 2.2 diagram alur (flowchart)

No Simbol Keterangan

1

(terminal symbol) menunjukan awal dan akhir dari program

2

(processing symbol) menunjukan pengolahan aritmatika dan pemindahan data

3

(input/output symbol) menunjukan proses input atau output

4

(decision symbol) untuk mewakili operasi perbandingan logika

5

Arah atau alir untuk proses symbol untuk penghubung antar aktivitas

Page 22: Special+Report+Robot+Mobil+Line+Follower Iklan

22

6

(predefined process symbol) proses yang ditulis sebagai sub program, yaitu prosedur/fungsi

7

(connector Symbol) penghubung pada halaman yang sama

8

(preparation symbol) memberikan nilai awal pada suatu variable atau counter

9

(off page connector symbol) penghubung pada halaman yang berbeda

2.8 Hubungan Antara Komputer Dengan Robot

Hubungan antara komputer dengan robot adalah sangat dekat. Hal ini tidak

lain karena sebagian besar komputer dikontrol dengan menggunakan komputer.

Dalam hal ini komputer disini adalah dalam pengertian yang luas, artinya bisa

komputer PC ( Personal Computer ), SBC ( Single Board Computer ), PLC (

Programmable Logic Controller ) maupun sistem berbasis mikrokontroler.

Untuk robot-robot dengan kinerja sangat presisi biasanya dikontrol dengan

sistem komputer. Namun tentu kita tahu bahwa ada beberapa robot ( BEAM

Robot ) yang dapat dikontrol dengan rangkaian analog.

Page 23: Special+Report+Robot+Mobil+Line+Follower Iklan

23

BAB III

ANALISIS DAN PERANCANGAN

3.1. Analisis

Jenis mikrokontroler yang akan digunakan adalah mikrokontroler

PIC16F84/A buatan Microchip Inc. Pemilihan didasarkan pada pertimbangan

diantaranya adalah ukuran mikrokontroler yang relatif kecil ( hanya memiliki 18

pena ). Ukuran PCB ( Printed Circuit Board ) diharapkan tidak terlalu besar. Hal

ini dikarenakan bagian sensor juga akan menggunakan board yang sama.

Agar dapat berfungsi sebagaimana mestinya, sebuah mikrokontroler

memerlukan piranti (part) tambahan agar dapat bekerja. Diantaranya adalah

sebuah sumber daya ( baterai ) dan sebuah sumber detak (clock). Oleh karena itu

kedua bagian tersebut harus ada pada sistem minimum mikrokontroler. Sistem

minimum artinya sebuah sistem terkecil dimana sebuah mikrokontroler sudah

dapat bekerja. Jadi tanpa catu daya atau tanpa sumber detak, maka mikrokontroler

tidak akan berguna.

Lebih detail tentang sistem minimum mikrokontroler PIC16F84/A. Pada

sistem ini, sebuah resonator sebesar 4 MHz akan ditambahkan sebagai penghasil

detak (clock). Sumber daya akan digunakan sebuah baterai 9 Volt yang nantinya

akan dirubah sesuai tegangan kerja mikrokontroler. Tegangan 9 volt tersebut akan

dirubah sehingga menjadi + 5 Volt yang cocok untuk mikrokontroler

PIC16F84/A.

Page 24: Special+Report+Robot+Mobil+Line+Follower Iklan

24

Gambar 3.1 Sistem mikrokontroler PIC16F84/A

Pada gambar tersebut terdapat sebuah sumber daya sebesar +5 Volt,

sebuah Resonator 4 Mhz sebagai sumber detak, sebuah resistor 10K Ohm yang

dihubungkan antara pena MCLR dengan +5 Volt dan sebuah saklar sebagai saklar

reset. Resistor 10K Ohm tersebut memang diperlukan agar pena MCLR berlogika

tinggi sehingga mikrokontroler akan bekerja, jika pena MCLR berlogika rendah,

maka mikrokontroler akan secara otamatis akan di reset.

Pada sistem mikrokontroler tersebut diperlukan sebuah sumber tegangan

sebesar + 5Volt. Untuk mendapatkan tegangan sebesar itu dapat dengan mudah

dengan cara menurunkan tegangan baterai 9 Volt menggunakan sebuah IC

+5V

10K

MCLR

VDD

VSS

RESET

OSC1

OSC2

14

4

5

15

16

PIC16F84

Resonator 4MHz

Port A

Port B

24

Page 25: Special+Report+Robot+Mobil+Line+Follower Iklan

25

penurun tegangan yaitu 7805. Rangkaian berikut menjelaskan cara merubah

tegangan baterai 9 Volt menjadi tegangan sebesar + 5 Volt.

Gambar 3.2 Penghasil tegangan + 5 Volt dengan IC 7805

Rangkaian diatas merupakan rangkaian yang akan menurunkan tegangan 9

Volt dari baterai menjadi tegangan 5 Volt. Kapasitor digunakan untuk lebih

meratakan tegangan keluaran dari IC 7805.

3.2. Perancangan

Perancangan yang penulis lakukan pada tugas akhir ini penulis bagi

menjadi 2 bagian yaitu :

a. Perancangan/desain perangkat keras (hardware) yang meliputi : perancangan

mekanik robot pengikut garis (linefollower robot), perancangan system

penggerak robot, perancangan sensor infra merah.

7805 +9V +5V

10u 16V

Page 26: Special+Report+Robot+Mobil+Line+Follower Iklan

26

b. Perancangan /desain perangkat lunak (software) yang akan membahas software

yang berhubungan dengan perangkat keras meliputi : programmer

mikrokontroler.

3.2.1. Perancangan perangkat keras (hardware)

1. Perancangan Mekanik Robot

Robot pengikut garis (line follower robot) secara garis besar menggunakan

beberapa komponen seperti motor servo kiri dan kanan sebagai penggerak roda,

mainboard tempat merangkai komponen-komponen termasuk mokrokontroler PIC

16F84/A, pembuatan 2 buah roda, pemasangan sensor infra merah.

Gambar 3.3. Gambar Line Follower Robot dari bawah

Roda

servo

Roda caster

sensor

Page 27: Special+Report+Robot+Mobil+Line+Follower Iklan

27

2. Perancangan sistem pengggerak

Agar dapat bergerak, sebuah mobil robot memerlukan sistem penggerak

( drive sistem ). Karena robot ini berbentuk mobil, maka sistem penggeraknya

yang sesuai adalah motor servo. Untuk menggerakkan robot ini dapat dipakai

motor dc ataupun menggunakan motor servo

.

Apabila kita akan menggunakan motor DC, maka kita harus membuat

sistem gear. Sistem gear berguna agar putaran motor memiliki putaran per menit

yang kecil dan memiliki torsi yang besar. Perlu diperhatikan bahwa

menghubungkan sebuah poros motor dengan roda secara langsung adalah tidak

diperkenankan. Hal ini karena torsi yang cukup kecil yang nantinya tidak akan

kuat untuk mendorong mobil robot.

Selain memerlukan sistem gear, juga diperlukan sebuah IC penggerak

khusus agar motor dapat bergrak dengan baik. Jika tidak menggunakan IC driver

khusus, maka harus menggunakan gabungan beberapa transitor yang sering

disebut dengan nama H-Bridge.

Untuk memudahkan pemasangan gear motor, dan IC penggerak motor

maka pada tugas akhir ini akan menggunakan sistem penggerak menggunakan

motor servo. Pada motor servo sudah terdapat sebuah motor dc yang sudah

dilengkapi dengan sistem gear.

Pada putaran sebuah motor servo sudah didapat RPM yang rendah dan

torsi ( torque ) yang tinggi, sehingga roda akan dapat menggerakkan mobil robot.

Page 28: Special+Report+Robot+Mobil+Line+Follower Iklan

28

Selain itu juga untuk mengontrol motor DC hanya diperlukan sebuah jalur I/O

saja.

Motor servo sendiri sebenarnya terdiri dari 2 jenis. Jenis pertama adalah

jenis standard. Pada motor servo standard putaran maksimalnya hanya sampai

sekitar 180 derajat saja. Motor servo standard ini sering dipakai pada mobil-mobil

remote control, yaitu untuk mengatur arah roda pada mobil remote tersebut.

Jenis kedua adalah motor servo continous. Motor servo ini dapat berputar

sampai 360 derajat. Motor servo ini dapat diperintah agar berputar CW ( Clock

Wise ) ataupun CCW ( Counter Clock Wise ) ataupun stop ( berhenti ).

Pengaturannya menggunakan sistem PWM ( Pulse Width Modulation ).

Motor servo yang akan digunakan adalah berjumlah 2 buah. Satu untuk

roda kiri yang akan dihubungkan dengan mikrokontroler port RB0 dan satu lagi

untuk roda kanan yang dihubungkan dengan mikrokontroler port RB1.

3. Perancangan Sensor IR (Infra Red)

Sensor infra merah digunakan untuk menentukan line. Line tersebut dapat

berupa garis hitam pada dasar warna putih, atau garis putih pada dasar warna

hitam. Cara kerja sensor infra merah adalah sebagai berikut.

Sebuah LED Infra Merah akan memancarkan sinar infra merah. Sinar ini

tidak dapat kita lihat karena tidak termasuk spectrum sinar tampak. Oleh karena

itu untuk mengecek apakah LED infra merah memancarkan cahaya, dapat dilihat

menggunakan kamera pada handphone. Caranya arahkan kamera handphone pada

Page 29: Special+Report+Robot+Mobil+Line+Follower Iklan

29

LED tersebut yang telah diberi catu daya. Apabila LED infra merah tersebut

menyala, maka akan tampak pada kamera pada handphone.

Apabila dasar ( lantai ) berwarna putih, maka sinar infra merah tadi akan

dipantulkan oleh lantai tersebut. Namun jika lantai tersebut berwarna hitam, maka

sinar infra merah tersebut akan diserap sehingga sinar infra merah tidak

dipantulkan. Prinsip inilah yang digunakan untuk mendeteksi line (garis).

Pada sisi LED infra merah akan dipasang sebuah photodioda. Photodioda

adalah sebuah dioda yang peka terhadap sinar infra merah. Photodioda ini

bentuknya mirip dengan LED infra merah. Apabila photodioda tersebut terpapar

sinar infra merah, maka dia akan menghantarkan arus dari anoda ke katoda.

Adapun rangkaian sensor infra merah untuk sebuah LED infra merah

adalah sebagai berikut.

Gambar 3.4 Rangkaian sensor Infra Merah

+

-

4

1

8 2

3

LED IR

PHOTODIODA

1K 10K

10K LM358

KE PIC16F84 (RA0 dan RA1)

LED MERAH

+ 5 V

Page 30: Special+Report+Robot+Mobil+Line+Follower Iklan

30

Rangkaian diatas perlu dibuat 2 buah. Hal ini diperlukan agar mobile robot

dapat mengenali arah line (garis) apakah lurus, belok kiri ataupun belok kanan.

Namun perlu diingat bahwa dalam sebuah IC LM358 terdapat 2 buah komparator

seperti pada gambar diatas.

Adapun cara kerja rangkaian diatas adalah sebagai berikut. Setelah catu

daya diberikan, maka LED Infra merah akan menyala dan mengeluarkan sinar

infra merah.

Apabila saat itu bidang yang dipapar adalah bidang warna hitam, maka

sinar tersebut akan diserap ( tidak dipantulkan ). Hal ini menyebabkan photodioda

tidak aktif, sebagai akibatnya output dari komparator adalah nol ( logika

rendah ).

Namun jika yang terpapar adalah bidang berwarna putih, maka sinar infra

merah akan memantul dan akan diterima oleh photodioda. Sebagai akibat

akhirnya maka output dari komparator menjadi tinggi ( logika tinggi ). Output

sensor ini nantinya akan diproses oleh sistem mikrokontroler untuk menentukan

motor servo mana yang harus berputar.

Sensor kiri akan dihubungkan dengan mikrokontoler pada port RA0 dan

sensor kanan dihubungkan dengan mikrokontroler pada port RA1.

3.2.2. Perancangan perangkat lunak (software)

Page 31: Special+Report+Robot+Mobil+Line+Follower Iklan

31

1. Programmer Mikrokontroler PIC16F84/A

Agar dapat bekerja sebuah sistem mikrokontroler memerlukan beberapa

syarat yang harus dipenuhi. Apabila salah satu saja syarat tersebut tidak dipenuhi,

maka sistem mikrokontroler tersebut tidak akan bekerja.

Adapun syarat agar sistem mikrokontroler dapat bekerja adalah sebagai

berikut.

a. Tersedianya catu daya pada mikrokontroler tersebut

b. Tersedianya sumber detak pada mikrokontroler tersebut

c. Tersedianya program (firmware) pada mikrokontroler tersebut

Syarat pertama (a) dan kedua (b) adalah mudah dilaksanakan. Sedangkan untuk

syarat yang ketiga (c) harus memiliki suatu alat yang dinamakan programmer.

Mikrokontroler PIC16F84 dijual oleh produsennya dalam keadaaan kosong

(tanpa ada firmware) didalamnya. Alat untuk memprogram mikrokontroler

tersebut sangat mudah dibuat. Berikut adalah salah satu contoh rangkaian yang

dapat dipakai untuk memprogram mikrokontroler PIC16F84/A

.

Page 32: Special+Report+Robot+Mobil+Line+Follower Iklan

32

Gambar 3.5 Rangkaian Programmer PIC16F84/A

Dengan adanya programmer ini, maka mikrokontroler yang “kosong”

tersebut dapat segera diisi dengan firmware yang sesuai.

2. Perancangan Software

Setelah selesai melaksanakan perancangan hardware, maka selanjutnya

adalah perancangan software. Perancangan software memang harus dilakukan

setelah perancangan hardware selesai. Hal ini dikarenakan kita telah tahu sensor-

sensor dan sistem penggerak (motor servo) dihubungkan dengan I/O yang mana.

Hubungan antara mikrokontroler dan sensor maupun sistem penggerak dapat

dilihat pada gambar berikut.

10K 4

5

4K7

12

13

4K7

+5V

10u 16V

DB9 ( SERIAL PORT )

14

PIC16F84/A

TxD(3)

Gnd(5)

RTS(7)

DTR(4)

CTS(8) Socket IC

(ZIF)

Page 33: Special+Report+Robot+Mobil+Line+Follower Iklan

33

Gambar 3.6. Hubungan Mikrokontroler dan sensor-sistem penggerak

Dari gambar diatas terlihat bahwa sensor dihubungkan dengan RA0 dan

RA1 sedangkan motor servo dihubungkan dengan RB0 dan RB1. Oleh karena itu

maka PORTA harus diinisialisasi sebagai port masukan (input) sedangkan

PORTB diinisialisasi sebagai port keluaran (Output). Hal ini dapat dilihat dari

arah panah pada gambar diatas.

Pada tugas akhir ini akan dibuat dengan ketentuan dasar (base) yang

digunakan berwarna hitam sedangkan garis (line) yang harus diikuti oleh mobil

robot berwarna putih. Berdasarkan keterangan diatas bahwa pada saat sensor

diatas bidang warna putih maka output sensor akan berlogika tinggi (“1”)

sedangkan jika sensor diatas bidang warna hitam output sensor akan berlogika

rendah (“0”).

Dengan informasi diatas maka kita akan dapat membuatkan tabel

kebenaran untuk hubungan antara sensor dan motor servo. Sebelumnya gambar

PIC 16F84/

A

Servo Kiri

Servo Kanan

Sensor Kiri

SensorKanan

RA0

RA1

RB0

RB1

Page 34: Special+Report+Robot+Mobil+Line+Follower Iklan

34

berikut akan menjelaskan letak hubungan kedua sensor IR dengan garis ( line )

pemandu.

Gambar 3.7 Jalan Lurus

Pada gambar terlihat posisi sensor IR masing-masing berada dalam garis

pemandu ( warna putih ) hal ini mengakibatkan keluaran kedua sensor tersebut

adalah tinggi (“1”). Maka mobil robot harus berjalan lurus ( motor servo kiri dan

motor servo kanan berputar ).

Sensor IR Kanan (logic 1)

Sensor IR Kiri (logic 1)

Garis Pemandu berwarna putih

Page 35: Special+Report+Robot+Mobil+Line+Follower Iklan

35

Gambar 3.8 Belok kanan

Pada gambar diatas sensor kiri ada diluar garis pemandu sehingga output

sensor berlogika rendah ( 0 ) sementara sensor kanan masih ada pada garis

pemandu sehingga sensor kanan outputnya tinggi ( 1 ). Kejadian ini akan

mengakibatkan mobil robot berbelok ke kanan ( motor servo kiri berputar dan

motor servo kanan diam ).

Sensor IR Kiri (logic 0)

Garis Pemandu berwarna putih

Sensor IR Kanan (logic 1)

Page 36: Special+Report+Robot+Mobil+Line+Follower Iklan

36

Gambar 3.9 Belok Kiri

Pada gambar diatas sensor kiri ada pada garis pemandu sehingga sensor

berlogika tinggi sementara sensor kanan diluar garis pemandu ( sensor berlogika

rendah ). Hal harus menyebabkan mobil robot bergerak ke kiri ( motor servo kiri

diam dan motor servo kanan berputar ).

Dari kejadian-kejadian diatas dapat dibuatkan tabel kebenaran hubungan

antara logika pada sensor dan output kepada motor servo sebagai berikut.

Tabel 3.1

Hubungan sensor dan motor servo

No Sensor Kiri

Sensor kanan

Servo Kiri Servo kanan

Keterangan

1

2

Logika 1

Logika 0

Logika 1

Logika 1

Jalan

Jalan

Jalan

Berhenti

Jalan Lurus

Belok

Sensor IR Kiri (logic 1)

Garis Pemandu berwarna putih

Sensor IR Kanan (logic 0)

Page 37: Special+Report+Robot+Mobil+Line+Follower Iklan

37

3

4

Logika 1

Logika 0

Logika 0

Logika 0

Berhenti

Berhenti

Jalan

Berhenti

Kanan

Belok Kiri

Stop

Tabel diatas inilah yang menjadi dasar untuk membuat program

(firmware) yang nantinya akan dimasukkan kedalam mikrokontroler.

Karena pada mobil robot tidak boleh Stop, maka pada point stop diganti

dengan “putar kanan”. Ini dimaksudkan agar jika sensor mobil robot dua-duanya

terpapar ke warna putih, mobil tidak berhenti melainkan berputar ke kiri.

Dari sini dapat dibuat flowchart sebagai berikut.

Page 38: Special+Report+Robot+Mobil+Line+Follower Iklan

38

Gambar : 3.10. Flochart Program

Cek Sensor

Baca port A dan simpan di W register

AND-kan dengan 00000011B

Apakah Bit Zero di set ?

Start

Isi W dikurangkan Dengan OH

Putar Kanan

Isi W dikurangkan Dengan 3H

Apakah Bit Zero di set ?

Apakah RA0 = 1 ?

Belok Kanan

Belok Kiri

Jalan Lurus

Page 39: Special+Report+Robot+Mobil+Line+Follower Iklan

39

Adapun program untuk flowchart diatas adalah :

cek_sensor movf PORTA,0 ; copy isi PORTA ke W-reg andlw b'00000011' cek_putar_kanan sublw b'00000000' ; kurangkan W dengan 0H btfss STATUS,2 ; cek bit Zero (Z) goto cek_jalan_lurus goto putar_kanan ; cek_jalan_lurus sublw b'00000011' ; kurangkan w dengan 3H btfss STATUS,2 goto cek_belok_kiri goto jalan_lurus ; ya maka jalan_lurus cek_belok_kiri btfss PORTA,0 ; cek apakah RA0=1? goto belok_kanan

3. Cara kompilasi dan menanamkan program ke Mikrokontroler

Page 40: Special+Report+Robot+Mobil+Line+Follower Iklan

40

Gambar.3.11. Layout proses penyimpan program di mikrokontoler

Cara Memprogramnya adalah sebagai berikut.

1. Klik pada open ikon Open file setelah itu cari file yang akan

dimasukkan kedalam mikrokontroler PIC16F84. File nya adalah yang ber-

ektensi Hex.

2. Setting oscilator pada mode XT dan Beri tanda centang pada Power Up

Timer

3. Tekan pada ikon “Program” maka proses downloading ke

mikrokontroler akan segera berlangsung. Jika telah menunjukkan 100%

berarti proses downloading telah selesai.

4. Untuk menghapus ( erase ) isi mikrokontroler tekan ikon “Erase”

5. Untuk merubah isi EEPROM data dengan cara double klik pada lokasi

yang diinginkan, kemudian ganti dengan nilai yang dikehendaki.

Page 41: Special+Report+Robot+Mobil+Line+Follower Iklan

41

3. Pembuatan Line Follower Robot Secara Keseluruhan

Setelah persiapan baik hardware maupun software telah selesai, maka

saatnya sekarang untuk tahap penyelesaian Line Follower Robot secara

keseluruhan. Pertama yang harus dipersiapkan adalah bagian mechanical dari line

follower robot tersebut.

Robot pengikut garis (Line Follower Robot) ini akan menggunakan base

dari acrylic yang di buat berwujud bulat. Pada sisi-sisinya kemudian dipasang

kedua buah motor servo ( kiri dan kanan ). Sementara pada ujung lainnya kita

pasang roda caster. Agar posisi robot dapat ditopang dengan baik, maka bagian

bawah dipasang tempat untuk meletakkan baterai ( 4 buah baterai @ 1.5 Volt )

yang digunakan untuk mendayai motor servo.

Perlu diingat bahwa motor servo harus diberi catu daya tersediri tidak

boleh mengambil dari catu daya dari mikrokontroler. Hal ini agar mikrokontroler

tidak menjadi hang pada saat motor servo mulai berputar.

PCB dan Layout PCB yang digunakan untuk mengontrol mobil robot.

Page 42: Special+Report+Robot+Mobil+Line+Follower Iklan

42

Gambar 3.12. PCB pengontrol mobil robot

Rangkaian Mikro-kontroler PIC16F84/A

Rang-kaian Pende-teksi sensor IR ( Compa- rator ) Baterai

untuk Mikrokontroler

Baterai untuk Motor Servo

Sensor Infra Merah

Page 43: Special+Report+Robot+Mobil+Line+Follower Iklan

43

Gambar 3.13. Layout PCB

Komponen-Komponen Untuk Menyusun Mobile Robot

Berikut ini akan dibahas komponen-komponen yang dipakai untuk

menyusun mobile robot pada Tugas Akhir ini.

1. Mikrokontroler PIC16F84/A

Adalah merupakan mikrokontroler yang dipakai untuk mengontrol

keseluruhan Tugas Akhir ini. Program yang dimasukkan kedalam

mikrokontroler ini akan memberikan unjuk kerja bagi mobil robot ini.

2. Motor Servo

Adalah merupakan komponen untuk penggerak. Dia akan dihubungkan

dengan motor sehingga dapat membuat mobil robot bergerak baik maju

maupun mundur. Pada disain ini dipakai motor servo sebanyak 2 buah.

Agar dapat berbelok dilakukan dengan cara mengatur satu servo on dan

satu servo off.

3. Komparator

Merupakan suatu IC yang berisi op-amp ( operational amplifier ) yang

digunakan untuk membandingkan tegangan pada output sensor IR dan

tegangan dari trimpot. Dengan menggunakan komparator ini, maka dapat

diatur sensitivitas alat.

Page 44: Special+Report+Robot+Mobil+Line+Follower Iklan

44

4. LED Infra merah ( IR )

Merupakan LED yang dapat mengeluarkan sinar infra merah yang dipakai

untuk mendeteksi warna permukaan apakah hitam ataukah putih.

4. Photodioda

Merupkan komponen semi-konduktor yang peka terhadap sinar infra-

merah. Komponen ini dipakai untuk mendeteksi ada tidaknya sinar infra

merah yang dating kepadanya.

5. Baterai

Merupakan sumber listrik yang dipakai untuk menggerakkan mobil robot

ini. Pada mobil robot ini dipakai 2 buah sumber daya yaitu +9 Volt (

baterai kotak ) untuk mendayai sistim mikrokontroler dan +6 Volt yang

dipakai untuk menggerakkan motor servo,

Page 45: Special+Report+Robot+Mobil+Line+Follower Iklan

45

BAB IV

PENGUJIAN ALAT DAN PENGAMATAN

4.1. Pemograman

Ada beberapa program (coding ) yang dilakukan untuk menjalankan robot

pengikut garis ( line follower robot ) sehingga antara perangkat keras (hardware)

dapat berjalan sesuai dengan harapan program.

Beberapa program ( coding ) tersebut adalah sebagai berikut :

a. Inisialisasi

Maksud dan tujuannya adalah mengeset port-port mana saja sebagai port

masukan dan port keluaran. Bagian inisialisasi ini sangat penting, karena akan

memberitahukan kepada mikrokontroler port yang akan dijadikan sebagai port

masukan maupun port keluaran. Hal ini disebabkan semua port adalah memiliki

sifat bi-directional ( dua arah – masukan/keluaran ).

Adapun coding untuk inisialisasi adalah sebagai berikut :

init bsf STATUS,RP0 ; ke halaman (bank) 1 movlw b'00000000' ; isi W reg dengan 0H movwf TRISB ; copy isi W ke TRISB ; portb sebagai keluaran(output) movlw b'11111' ; isi W dengan 11111B movwf TRISA ; copy isi W ke TRISA bcf STATUS,RP0 ; kembali ke halaman (bank)0 ; porta sebagai masukan(input) bcf PORTB,0 ; init servo off bcf PORTB,1 ; init servo off

Page 46: Special+Report+Robot+Mobil+Line+Follower Iklan

46

Pada program ( coding ) diatas terlihat bahwa Port B dijadikan sebagai

port keluaran, sementara Port A digunakan sebagai port masukan. Setelah itu

dilanjutkan dengan mematikan kedua motor servo dengan memberikan instruksi :

bcf PORTB,0 dan bcf PORTB,1.

b. Pengecekan Kondisi Sensor

Program ( coding ) berikutnya setelah inisialisasi adalah program untuk

mengecek kondisi dari sensor. Pada proyek ini dipasang dua sensor IR yang

terhubung dengan RA0 ( sensor kiri ) dan RA1 (sensor kanan ). Kedua sensor ini

harus dibaca kondisinya secara bersamaan untuk menentukan arah mobile robot

apakah harus berjalan lurus, belok kiri atau belok kanan.

Untuk melakukan hal ini maka dilakukan hal sebagai berikut. Pertama

dibaca kondisi port A dan simpan isinya ke Working Register ( W ) :

movf PORTA,0 ; copy isi PORTA ke W-

reg

Setelah itu hasilnya di AND-kan dengan 00000011B agar didapatkan bit-

bit pada RA0 dan RA1.

Berdasarkan penjelasan pada bab sebelumnya yaitu pada tabel 1 diberikan

keterangan sbb :

Page 47: Special+Report+Robot+Mobil+Line+Follower Iklan

47

Tabel 4.1. Kondisi Sensor

No Sensor kanan Sensor Kiri Hexa Keterangan

1

2

3

4

1

1

0

0

1

0

1

0

3H

2H

1H

0H

Jalan Lurus

Belok Kanan

Belok Kiri

Stop

c. Pengaturan Putaran servo

Program ( Coding ) selanjutnya adalah untuk mengontrol apakah motor

servo perlu berputar atau diam. Jika ingin membuat robot pengikut garis (line

follower robot) berjalan, maka kedua servo harus berputar. Jika ingin berbelok

maka salah satu servo berputar, servo yang lain harus diam. Ada 4 kerja yang

harus dibuat yaitu Belok kiri, belok kanan, jalan lurus dan putar kanan. Adapun

programnya . coding-nya adalah :

belok_kiri

bcf PORTB,0 ;matikan servo1;

bsf PORTB,1 ;aktifkan servo2

call Delay1ms

bcf PORTB,1

call Delay18ms;

goto cek_sensor

belok_kanan

bsf PORTB,0 ; aktifkan servo1

call Delay2ms

bcf PORTB,0

Page 48: Special+Report+Robot+Mobil+Line+Follower Iklan

48

call Delay18ms

bcf PORTB,1 ; matikan servo 2

goto cek_sensor

jalan_lurus

bsf PORTB,0 ; aktifkan servo1

call Delay2ms

bcf PORTB,0

call Delay18ms

bsf PORTB,1 ;aktifkan servo2

call Delay1ms

bcf PORTB,1

call Delay18ms;

goto cek_sensor

putar_kanan

bsf PORTB,0 ; aktifkan servo1

call Delay2ms

bcf PORTB,0

call Delay18ms

bcf PORTB,1 ; matikan servo 2

goto cek_sensor

4.2. Pengujian / Tes

Page 49: Special+Report+Robot+Mobil+Line+Follower Iklan

49

4.2.1 Pengujian Pada Sistem Minimum Mikrokontroler PIC16F84/A

Sebelum dapat dipakai maka sistem mimimum mikrokontroler PIC16F84/A

ini harus di uji terlebih dahulu apakah telah bekerja dengan baik. Pengujian ini

sangat perlu untuk mengurangi pencarian kesalahan ( troubleshooting ) kelak jika

alat tidak bekerja dengan baik.

Untuk menguji sistem minimum mikrokontroler PIC16F84 ini dilakukan

dengan memberikan program uji. Program uji ini dibuat mirip dengan konfigurasi

I/O pada alat Line follower robot yaitu :

RA0 – masukan 1 ( dihubungkan dengan switch1 )

RA1 – masukan 2 ( dihubungkan dengan switch 2 )

RB0 – keluaran 1 ( dihubungkan dengan LED1 )

RB1 – keluaran 2 ( dihubungkan dengan LED2 )

Rangkaian uji ini akan dibuat sesederhana mungkin yaitu jika saklar S1

ditekan maka LED1 akan menyala. Dan jika saklar S2 ditekan, maka LED2 akan

menyala. Berikut program untuk menguji sistem mikrokontroler PIC16F84.

;program uji mikrokontroler PIC16F84/A

;============================

processor 16f84

STATUS equ 0x03

RP0 equ 5

PORTA equ 0x05

PORTB equ 0x06

Page 50: Special+Report+Robot+Mobil+Line+Follower Iklan

50

TRISA equ 0x85

TRISB equ 0x86

Org 0x00

inisialisasi

bsf STATUS,RP0

movlw b'11111'

movwf TRISA ; PORTA sebagai masukan

movlw b'00000000'

movwf TRISB ; PORTB sebagai keluaran

bcf STATUS,RP0

bcf PORTB,0 ; matikan LED

bcf PORTB,1 ; matikan LED

cek_saklar1

btfsc PORTA,0

goto cek_saklar2

goto nyala_LED1

cek_saklar2

btfsc PORTA,1

goto cek_saklar1

goto nyala_LED2

Page 51: Special+Report+Robot+Mobil+Line+Follower Iklan

51

nyala_LED1

bsf PORTB,0

goto cek_saklar1

nyala_LED2

bsf PORTB,1

goto cek_saklar2

end

Hasil pengujian :

Jika saklar S1 ditekan maka LED1 menyala

Jika saklar S2 ditekan maka LED2 menyala

Dengan demikian sistem mikrokontroler PIC16F84 dapat dikatakan telah bekerja

dengan baik.

4.2.2. Pengujian Pada Sistem Sensor Infra Merah (IR)

Setelah sistem minimum mikrokontroler dapat bekerja dengan baik, yaitu

dapat melaksanakan program uji dengan baik, maka langkah selanjutnya adalah

melakukan pengecekan pada sensor infra merah.

Untuk melakukan pengecekan ini dilakukan dengan cara sebagai berikut.

1. Akan kita uji terlebih dahulu sensor sebelah kiri.

2. Arahkan sensor ( led IR dan photodioda ) ke permukaan warna putih

3. Atur (putar-putar) TRIMPOT sehingga LED pada output LM358 menyala

(aktif-high)

Page 52: Special+Report+Robot+Mobil+Line+Follower Iklan

52

4. Arahkan sensor pada permukaan warna hitam. Pastikan LED harus menjadi

mati.

5. Hal yang sama juga dilakukan untuk sensor sebelah kanan.

Pengaturan diatas dilakukan untuk memastikan bahwa sensor bekerja

sesuai harapan yaitu outputnya akan berlogika tinggi jika sensor dipaparkan pada

permukaan putih. Sebaliknya outputnya akan berlogika rendah jika sensor

dipaparkan pada permukaan berwarna hitam.

Tabel berikut merupakan hasil pengukuran secara langsung antara output

dari photodioda ( masukan non-inverting ( + ) LM358 ) dengan tegangan

pembanding (masukan inverting) (-) LM358

Tabel 4.2. Perbandingan tegangan permukaan putih dan hitam

Sensor Kiri Sensor Kanan Permukaan Non-Inv Inver Output Non-Inv Inv Output

Permukaan Putih

1,9 V 1,46 V 3,69 V 1,64 V 1,08 V 3,79 V

Permukaan Hitam

0,3 V 1,46 V 0,0 V 0,23 V 1,08 V 0,0 V

Dari tabel diatas dapat dilihat bahwa pada sensor kiri, output dari

photodioda dibandingkan dengan tegangan 1,46V ( yang didapat dengan cara

mengeset TRIMPOT sensor kiri ). Pada saat output dari photodioda diatas

tegangan banding tadi, maka keluaran dari komparator akan tinggi. Disini terlihat

bahwa pada saat dipaparakan ke permukaan putih, maka output dari photodioda

akan menghasilkan tengan 1,9 Volt. Karena tegangan ini melebihi tegangan

Page 53: Special+Report+Robot+Mobil+Line+Follower Iklan

53

banding ( 1,46 Volt ) maka output komparator akan menjadi 3,69 Volt ( logika

tinggi ) dan ini akan menyebabkan led menyala.

Namun jika sensor dipaparkan pada permukaan hitam, sinar infra merah

akan terserap yang menyebabkan output pada photodioda hanya sebesar 0,3 Volt.

Karena tegangan ini dibawah tegangan banding (1,46 Volt ) maka output dari

komparator adalah 0 Volt.

Demikian juga pada sensor sebelah kanan. Pada permukaan putih output

sensor photodioda adalah 1,64 Volt sementara input invertingnya diset pada 1,08

Volt. Akibatnya output komparator menjadi 3,79 Volt ( logika tinggi ). Sementara

pada permukaan hitam output photodioda hanya bertegangan 0,23 Volt yang

menyebabkan output komparator 0 Volt.

4.2.3. Pengujian Secara Keseluruhan

Setelah pengujian sistem mikrokontroler dengan sistem sensor telah diuji dan

dinyatakan bekerja dengan baik, maka kini saatnya untuk dilakukan pengujian

sistem secara keseluruhan.

Untuk menguji ini, penulis menggunakan jalur pandu berwarna putih selebar

7 cm. Pemilihan ini adalah didasarkan pada jarak antara sensor kiri dan sensor

kanan yang selebar 3 cm. Adapun lebar jalur pandu yang 7 cm diharapkan bahwa

sensor akan berada pada jalur selama Line Follower Robot berjalan.

Pada pengujian ini ternyata robot pengikut garis (Line Follower Robot)

dapat melewati garis pandu dengan tanpa kesalahan.

Page 54: Special+Report+Robot+Mobil+Line+Follower Iklan

54

4.3. Operasi dan Perawatan.

Setelah semua perangkat keras (hardware) dan perangkat Lunak

(softwere) sudah selesai di tes maka langkah yang terakhir adalah mengoperasi

robot pengikut garis (line Follower Robot) diatas landasan yang terbuat dari

triplek dengan garis (line) berwarna putih dengan dasar berwarna hitam.

Setelah robot pengikut garis (line follower robot dapat berjalan atau

dioperasikan, maka perlu diadakan perawatan antara lain:

1. Perlakuan terhadap robot pengikut garis (line folloer robot harus hati-hati hal

karena komponen yang terpasang pada robot sangat sensitive pastikan tombol

On Off robot selalu dalam keadaan off bila robot tidak di operasikan.

2. Hindari penggunaan sumber daya yang berlebihan karena dapat merusak

program yang telah disimpan di dalam mikrokontroler PIC 16F84.

Page 55: Special+Report+Robot+Mobil+Line+Follower Iklan

55

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil pengamatan dan pengujian alat perangkat keras dan perangkat

lunak serta pengujian secara keseluruhan terhadap robot pengikut garis (Line

Follower Robot ) dapat diambil beberapa kesimpulan sebagai berikut.

1. Dalam membuat robot pengikut garis (Line Follower Robot) ini, hanya

membutuhkan 4 line I/O dari total 13 line I/O yang dimiliki mikrokontroler

PIC16F84/A.

2. Pada perancangan perangkat lunaknya, hanya menggunakan sistem kontrol

on-off yang berfungsi mengecek kondisi sensor dan menjalankan sistem

penggeraknya ( motor servo ) berdasarkan kondisi dari sensor.

3. Jarak antar sensor berpengaruh terhadap kemampuan Line Follower Robot

dalam menghadapai sudut belokan. Jarak sensor yang pendek memungkinkan

Robot berbelok pada sudut belok yang lebih kecil.

4. Kecepatan gerak Line Follower Robot ini tidak dapat dipercepat maupun

diperlambat.

5. Perubahan warna jalur pemandu dari putih menjadi hitam masih dapat

dimungkinkan, hanya diperlukan perubahan pada perangkat lunak saja.

Page 56: Special+Report+Robot+Mobil+Line+Follower Iklan

56

5.2. Saran

Berdasarkan pengamatan terhadap hasil rancangan ini, maka dapat

diberikan saran-saran sebagai berikut.

1. Jumlah sensor dapat ditambah, agar lebih presisi dalam menentukan line

pandu.

2. Sistem kontrol dapat menggunakan sistem yang lebih komplek seperti kontrol

proporsional, kontrol Intergral, kontrol Derivatif maupun menggunakan

teknik Fuzzy Logic.

3. Apabila dibutuhkan agar laju Line Follower Robot dapat dipercepat maupun

diperlambat, maka dapat menggunakan sistem penggerak Motor DC dengan

teknik pengaturan PWM ( Pulse Width Modulation ).

Page 57: Special+Report+Robot+Mobil+Line+Follower Iklan

57

LAMPIRAN 1

Page 58: Special+Report+Robot+Mobil+Line+Follower Iklan

58

LAMPIRAN 2 ;Program Line Follower Mobile Robot ;Sensor IR dihubungkan ke RA0 (sensor kiri) dan RA1(sensor kanan) ;(sensor high jika ketemu line putih ) ;Motor Servo dihubungkan ke RB0(servo kiri) dan ;RB1(sevo kanan) ;---------------------------------------- processor 16f84 STATUS equ 0x03 RP0 equ 5 PORTA equ 0x05 TRISA equ 0x85 PORTB equ 0x06 TRISB equ 0x86 PDel0 equ 0x0c ; alamat awal ram PDel1 equ 0x0d PDel2 equ 0x0e PDel3 equ 0x0f PDel4 equ 0x10 Ulang equ 0x11 ; servo time PDel5 equ 0x12 PDel6 equ 0x13 PDel7 equ 0x14 PDel8 equ 0x15 org 0x00 init bsf STATUS,RP0 ; ke halaman (bank) 1 movlw b'00000000' ; isi W reg dengan 0H movwf TRISB ; copy isi W ke TRISB ; portb sebagai keluaran(output) movlw b'11111' ; isi W dengan 11111B movwf TRISA ; copy isi W ke TRISA bcf STATUS,RP0 ; kembali ke halaman (bank)0 ; porta sebagai masukan(input) bcf PORTB,0 ; init servo off bcf PORTB,1 ; init servo off

Page 59: Special+Report+Robot+Mobil+Line+Follower Iklan

59

cek_sensor movf PORTA,0 ; copy isi PORTA ke W-reg andlw b'00000011' cek_putar_kanan sublw b'00000000' ; kurangkan W dengan 0H btfss STATUS,2 ; cek bit Zero (Z) goto cek_jalan_lurus goto putar_kanan ; cek_jalan_lurus sublw b'00000011' ; kurangkan w dengan 3H btfss STATUS,2 goto cek_belok_kiri goto jalan_lurus ; ya maka jalan_lurus cek_belok_kiri btfss PORTA,0 ; cek apakah RA0=1? goto belok_kanan belok_kiri bcf PORTB,0 ;matikan servo1; bsf PORTB,1 ;aktifkan servo2 call Delay1ms bcf PORTB,1 call Delay18ms; goto cek_sensor belok_kanan bsf PORTB,0 ; aktifkan servo1 call Delay2ms bcf PORTB,0 call Delay18ms bcf PORTB,1 ; matikan servo 2 goto cek_sensor jalan_lurus bsf PORTB,0 ; aktifkan servo1 call Delay2ms bcf PORTB,0 call Delay18ms

Page 60: Special+Report+Robot+Mobil+Line+Follower Iklan

60

bsf PORTB,1 ;aktifkan servo2 call Delay1ms bcf PORTB,1 call Delay18ms; goto cek_sensor putar_kanan bsf PORTB,0 ; aktifkan servo1 call Delay2ms bcf PORTB,0 call Delay18ms bcf PORTB,1 ; matikan servo 2 goto cek_sensor ;------------------------------------------------------------- ; Delay 500us = 0.5ms ;------------------------------------------------------------- PDelay movlw .123 ; 1 set number of repetitions movwf PDel8 ; 1 | PLooip0 clrwdt ; 1 clear watchdog decfsz PDel8, 1 ; 1 + (1) is the time over? goto PLooip0 ; 2 no, loop PDlL1 goto PDlL2 ; 2 cycles delay PDlL2 clrwdt ; 1 cycle delay return ; 2+2 Done ;------------------------------------------------------------- ;------------------------------------------------------------- Delay1ms ; Delay 1ms ;------------------------------------------------------------- movlw .248 ; 1 set number of repetitions movwf PDel0 ; 1 | PLoop0 clrwdt ; 1 clear watchdog decfsz PDel0, 1 ; 1 + (1) is the time over? goto PLoop0 ; 2 no, loop PDelL1 goto PDelL2 ; 2 cycles delay PDelL2 clrwdt ; 1 cycle delay return ; 2+2 Done ;------------------------------------------------------------- ;------------------------------------------------------------- Delay1k5 ; delay 1.5ms ;-------------------------------------------------------------

Page 61: Special+Report+Robot+Mobil+Line+Follower Iklan

61

movlw .249 ; 1 set number of repetitions movwf PDel3 ; 1 | PLoopx0 clrwdt ; 1 clear watchdog PDelLLL1 goto PDelLLL2 ; 2 cycles delay PDelLLL2 decfsz PDel3, 1 ; 1 + (1) is the time over? goto PLoopx0 ; 2 no, loop clrwdt ; 1 cycle delay return ; 2+2 Done ;------------------------------------------------------------- ;------------------------------------------------------------- Delay2ms ; Delay 2ms ;------------------------------------------------------------- movlw .249 ; 1 set number of repetitions movwf PDel4 ; 1 | PLoopy0 clrwdt ; 1 clear watchdog PDelLLLL1 goto PDelLLLL2 ; 2 cycles delay PDelLLLL2 goto PDelLLLL3 ; 2 cycles delay PDelLLLL3 decfsz PDel4, 1 ; 1 + (1) is the time over? goto PLoopy0 ; 2 no, loop PDelLLLL4 goto PDelLLLL5 ; 2 cycles delay PDelLLLL5 clrwdt ; 1 cycle delay return ; 2+2 Done ;------------------------------------------------------------- ;------------------------------------------------------------- Delay18ms ; Delay 18ms ;------------------------------------------------------------- movlw .26 ; 1 set number of repetitions (B) movwf PDel1 ; 1 | PLoop1 movlw .172 ; 1 set number of repetitions (A) movwf PDel2 ; 1 | PLoop2 clrwdt ; 1 clear watchdog decfsz PDel2, 1 ; 1 + (1) is the time over? (A) goto PLoop2 ; 2 no, loop decfsz PDel1, 1 ; 1 + (1) is the time over? (B) goto PLoop1 ; 2 no, loop PDelLLx1 goto PDelLLx2 ; 2 cycles delay PDelLLx2 clrwdt ; 1 cycle delay return ; 2+2 Done ;-------------------------------------------------------------

Page 62: Special+Report+Robot+Mobil+Line+Follower Iklan

62

;------------------------------------------------------------- ; Code generated by PDEL ver 1.0 on 8/5/06 at 9:10:18 PM ; Description: Waits 1000000 cycles ;------------------------------------------------------------- Delay1s movlw .14 ; 1 set number of repetitions (C) movwf PDel5 ; 1 | PLop0 movlw .72 ; 1 set number of repetitions (B) movwf PDel6 ; 1 | PLop1 movlw .247 ; 1 set number of repetitions (A) movwf PDel7 ; 1 | PLop2 clrwdt ; 1 clear watchdog decfsz PDel7, 1 ; 1 + (1) is the time over? (A) goto PLop2 ; 2 no, loop decfsz PDel6, 1 ; 1 + (1) is the time over? (B) goto PLop1 ; 2 no, loop decfsz PDel5, 1 ; 1 + (1) is the time over? (C) goto PLop0 ; 2 no, loop PDelLc1 goto PDelL2 ; 2 cycles delay PDelLc2 clrwdt ; 1 cycle delay return ; 2+2 Done ;------------------------------------------------------------- end

File ini adalah file iklan dari special report yang sesungguhnya. Adanya

halaman kosong adalah memang disengaja. Jika anda tertarik dengan special

report ini secara utuh maka dapat mendapatkannya melalui email :

[email protected] Harga Rp.50.000,- Hub.email tersebut atau sms ke :

081 293 295 12

Page 63: Special+Report+Robot+Mobil+Line+Follower Iklan

63

Biaya dapat ditransfer ke :

Bank BCA No. Rek. 522-077-3754 ( a.n Moh.Ibnu Malik )

Bank Mandiri No.Rek. 156-000-01-8944-1

Paypal ( $5 ) : [email protected]