Anda di halaman 1dari 74

TUGAS AKHIR

PERANCANGAN ROBOT PEMADAM API


BERBASIS MIKROKONTROLER AT89C51

Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan
pendidikan sarjana (S-1) pada Departeman Teknik Elektro


Oleh:
Raymond T. Simanjuntak
020402024








DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

i

PERANCANGAN ROBOT PEMADAM API
BERBASIS MIKROKONTROLER AT89C51


Oleh:

Raymond T. Simanjuntak
NIM. 020402024


Tugas Akhir ini diajukan untuk melengkapi salah satu syarat
untuk memperoleh gelar sarjana Teknik Elektro


Disitujui oleh:

Dosen Pembimbing,




Ir. Kasmir Tanjung
NIP. 132 206 823




Diketahui Oleh:
Ketua Departemen Teknik Elektro FT USU,




Prof. Dr. Usman S. Baafai
NIP. 130 365 322





DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
2008
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

iii
KATA PENGANTAR


Puji dan syukur penulis ucapkan kepada Tuhan atas penyertaan dan anugrah-
Nya sehingga pada akhirnya penulis dapat menyelesaikan skripsi ini. Skripsi ini
berjudul Perancangan Robot Pemadam Api berbasis Mikrokontroler
AT89C51.
Penulis menyadari bahwa pada hakekatnya penulisan skripsi ini tidak dapat
diselesaikan penulis tanpa bantuan dan dorongan dari berbagai pihak. Oleh karena
itu, pada kesempatan ini penulis ingin mengucapkan terimakasih kepada:
1. Bapak Prof. Dr. Usman Baafai selaku ketua Departemen Teknik Elektro dan
Bapak Drs. Hasdari Helmi, MT selaku sekretaris Departemen Teknik Elektro.
2. Bapak Rachmad Fauzi, ST, MT selaku dosen wali penulis yang membimbing
penulis dalam perkuliahan.
3. Bapak Kasmir Tanjung, Ir selaku dosen pembimbing penulis yang telah
membimbing dan mengarahkan penulisan skripsi ini.
4. Seluruh dosen pengajar dan staf pegawai Departemen Teknik Elektro.
5. Teman-teman yang tidak henti-hentinya memberi perhatian, semangat dan
waktunya untuk berdoa sehingga penulis mampu menyelesaikan skripsi ini.
Demikianlah skripsi ini penulis selesaikan, semoga bermanfaat bagi
perkembangan robotika di Indonesia. Sekian dan terimakasih.

Medan, 6 Pebruari 2008

Penulis
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

ii
ABSTRAK


Secara umum robot dapat didefenisikan sebagai sebuah piranti mekanik yang
mampu melakukan pekerjaan manusia atau berprilaku seperti manusia. Salah satu
pekerjaan manusia yang dapat dilakukan robot adalah kegiatan pemadaman
kebakaran. Robot Pemadam Api dirancang untuk mencari dan memadamkan api lilin
yang terdapat disekitarnya. Untuk itu robot dilengkapi dengan sensor jarak dan
sensor api agar dapat menjelajah ruangan tanpa menabrak benda serta dapat
mendeteksi keberadaan api lilin. Program untuk menjalankan robot ditulis dalam dua
bagian: bagian jelajah dan bagian penemuan_api. Pada saat tombol catu daya di-
ON-kan, bagian jelajah akan dieksekusi. Robot akan menjelajah ruangan dan
menghindari tabrakan dengan benda yang terdapat disekelilingnya. Pada saat robot
mendeteksi keberadaan api lilin yang terdapat disekitarnya, bagian penemuan_api
akan dieksekusi. Pada bagian ini, robot akan berputar kearah api lilin dan bergerak
lurus mendekatinya hingga pada jarak yang mana api lilin dapat dipadamkan.
Kemudian robot akan memadamkan api dan kembali menjelajah ruangan sampai
tombol catu daya di-OFF-kan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

iv
DAFTAR ISI


LEMBAR PENGESAHAN .......................................................................................... i
ABSTRAK .................................................................................................................... ii
KATA PENGANTAR .................................................................................................. iii
DAFTAR ISI ................................................................................................................ iv
DAFTAR GAMBAR .................................................................................................... vii
DAFTAR TABEL ........................................................................................................ ix
BAB I PENDAHULUAN ............................................................................................. 1
I.1 Latar Belakang .............................................................................................. 1
I.2 Tujuan Penulisan ........................................................................................... 2
I.3 Rumusan Masalah ......................................................................................... 2
I.4 Batasan Masalah ........................................................................................... 3
I.5 Metodologi Perancangan ............................................................................... 4
I.6 Sistematika Penulisan .................................................................................... 4
BAB II MIKROKONTROLER AT89C51 DAN KOMPONEN PENDUKUNG ............ 6
II.1Mikrokontroler AT89C51 ............................................................................. 6
II.1.1 Susunan Pin AT89C51 .................................................................. 6
II.1.2 Struktur Perangkat Keras AT89C51 ............................................... 8
II.1.2.1 RAM Internal .................................................................. 10
II.1.2.2 Register Fungsi Khusus ................................................... 11
II.2 Sensor Infra Merah Sharp GP2D12 .............................................................. 12
II.3 Phototransistor ............................................................................................. 14
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

v
II.4 OP-Amp LM324 .......................................................................................... 15
II.5 Motor dc dan Motor Driver L293D .............................................................. 16
II.5.1 Motor dc ........................................................................................ 16
II.5.2 Motor Driver L293D ..................................................................... 17
II.6 Timer 555 .................................................................................................... 17
II.7 Transistor 2PA733 ....................................................................................... 19
BAB III PERANCANGAN PERANGKAT KERAS .................................................. 21
III.1 Spesifikasi Sistem ....................................................................................... 21
III.2 Rangkaian Dasar Mikrokontroler AT89C51 ................................................ 22
III.2.1 Rangkaian Reset ........................................................................... 22
III.2.2 Rangkaian Clock .......................................................................... 24
III.2.3 Hubungan Port-port ...................................................................... 25
III.3 Rangkaian Sensor Jarak .............................................................................. 27
III.4 Rangkaian Sensor Api ................................................................................ 28
III.5 Rangkaian Pembanding Tegangan .............................................................. 31
III.5.1 Rangkaian Pembanding Untuk Sensor Api ................................... 31
III.5.2 Rangkaian Pembanding Untuk Sensor Jarak ................................. 33
III.6 Rangkaian Motor dc .................................................................................. 35
III.7 Rangkaian Duty Cycle Modulation ............................................................ 37
III.8 Rangkaian Saklar ....................................................................................... 39
III.9 Rangkaian Kipas Angin ............................................................................. 40
III.10 Rangkaian LED Indikator ........................................................................ 41
III.11 Rangkaian Robot Pemadam Api ............................................................... 42
BAB IV PERANCANGAN PERANGKAT LUNAK .................................................. 43
IV.1 Perangkat Lunak Secara Garis Besar .......................................................... 43
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

vi
IV.2 Bagian Jelajah ............................................................................................ 45
IV.3 Bagian Penemuan Api ................................................................................ 49
BAB V IMPLEMENTASI DAN PENGUJIAN .......................................................... 53
V.1. Implementasi .............................................................................................. 53
V.2 Pengujian ..................................................................................................... 54
V.2.1 Pengujian Rangkaian Sensor Jarak Dengan Pembanding
Tegangan .................................................................................... 54
V.2.2 Pengujian Rangkaian Sensor Api Dengan Pembanding
Tegangan .................................................................................... 55
V.2.3 Pengujian Rangkaian Motor dc dengan Rangkaian DCM ............. 55
V.2.4 Pengujian Robot Pemadam Api ................................................... 56
BAB VI KESIMPULAN DAN SARAN ....................................................................... 58
VI.1. Kesimpulan ............................................................................................... 58
VI.2. Saran ......................................................................................................... 58
DAFTAR PUSTAKA ................................................................................................... 59
LAMPIRAN A Rangkaian Robot Pemadam Api Phoenix ......................................... 60
LAMPIRAN B Source Code......................................................................................... 61
LAMPIRAN C Gambar Fisik Phoenix ....................................................................... 63







Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

vii
DAFTAR GAMBAR

Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89C51 ................................................ 6
Gambar 2.2 Arsitektur AT89C51 .................................................................................. 9
Gambar 2.3 Susunan SFR dan Susunan RAM internal AT89C51 .................................. 12
Gambar 2.4 Sensor Jarak GP2D12 dan Konfigurasi Pinnya .......................................... 13
Gambar 2.5 Grafik Karakteristik Output GP2D12 Terhadap Benda yang Terdapat
Dihadapannya ......................................................................................... 14
Gambar 2.6 Phototransistor .......................................................................................... 14
Gambar 2.7 Grafik Karakteristik Phototransistor .......................................................... 15
Gambar 2.8 Pin-pin dalam LM324 ............................................................................... 16
Gambar 2.9 Diagram Block IC L293D ......................................................................... 17
Gambar 2.10 Pin-pin dalam Timer 555 ......................................................................... 18
Gambar 2.11 Transistor PN2222A ................................................................................ 20
Gambar 3.1 Diagram Blok Perancangan Perangkat Keras ........................................... 21
Gambar 3.2 Rangkaian Reset(A) dan Rangkaian Setaranya(B) ................................... 23
Gambar 3.3 Rangkaian Clock ....................................................................................... 25
Gambar 3.4 Hubungan Pin-pin Mikrokontroler ............................................................. 26
Gambar 3.5 Rangkaian Sensor GP2D12 ....................................................................... 27
Gambar 3.6 Peletakan Sensor GP2D12 pada Badan Robot ........................................... 28
Gambar 3.7 Rangkaian Sensor Api ............................................................................... 29
Gambar 3.8 Susunan Phototransistor pada Badan Robot ............................................... 30
Gambar 3.9 Hasil Penggabungan Beberapa Phototransistor .......................................... 30
Gambar 3.10 Susunan Phototransistor pada Badan Robot ............................................. 31
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

viii
Gambar 3.11 Rangkaian Pembanding Tegangan Untuk Sensor Api .............................. 32
Gambar 3.12 Rangkaian Pembanding Tegangan Untuk Sensor Api Menggunakan
LM324N ................................................................................................. 33
Gambar 3.13 Rangkaian Pembanding Untuk Sensor Jarak ............................................ 34
Gambar 3.14 Rangkaian Pembanding Tegangan Untuk Sensor Jarak Menggunakan
LM324N ................................................................................................. 35
Gambar 3.15 Rangkaian Motor dc ................................................................................ 36
Gambar 3.16 Gelombang Dengan Frekwensi Duty Cycle 10%, 50% dan 90%............... 37
Gambar 3.17 Rangkaian Duty Cycle Modulation .......................................................... 38
Gambar 3.18 Rangkaian Saklar .................................................................................... 40
Gambar 3.19 Rangkaian Kipas Angin ........................................................................... 41
Gambar 3.20 Rangkaian LED Indikator ........................................................................ 42
Gambar 4.1 Diagram Alir Perangkat Lunak .................................................................. 44
Gambar 4.2 Diagram Alir Bagian Jelajah ..................................................................... 48
Gambar 4.3 Daerah Pendeteksian Sensor Api ............................................................... 51
Gambar 4.4 Diagram Alir Bagian Penemuan Api ......................................................... 52









Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

ix
DAFTAR TABEL

Tabel 2.1 Keterangan Pin Out AT89C51 ....................................................................... 7
Tabel 2.2 Karakteristik GP2D12 .................................................................................... 13
Tabel 2.3 Kegunaan pin-pin pada Timer 555 ................................................................. 19
Tabel 3.1 Hubungan pin Enable, Input dan Output IC L293D ........................................ 37
Tabel 4.1 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Jarak ................... 46
Tabel 4.2 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Api ..................... 50
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
BAB I
PENDAHULUAN


I.1 Latar Belakang
Teknologi adalah cara untuk mendapatkan sesuatu dengan kualitas lebih baik
(lebih mudah, lebih murah, lebih cepat dan lebih menyenangkan). Salah satu
teknologi yang berkembang pesat saat ini adalah teknologi dibidang kerobotan.
Robot berguna untuk membantu manusia dalam melakukan pekerjaan tertentu
misalnya untuk melakukan pekerjaan yang memerlukan ketelitian tinggi, beresiko
tinggi, membosankan atau yang membutuhkan tenaga besar. Menurut buku The
Robot Builder's Bonanza yang ditulis oleh Gordon McComb secara umum robot
dapat didefenisikan sebagai sebuah piranti mekanik yang mampu melakukan
pekerjaan manusia atau berprilaku seperti manusia.
Salah satu pekerjaan manusia yang dapat dilakukan robot adalah kegiatan
pemadaman kebakaran. Jenis pekerjaan ini membutuhkan reaksi cepat karena
kebakaran dapat dihindari apabila api dapat dipadamkan ketika belum menyebar.
Ketika api telah menyebar pekerjaan pemadaman kebakaran akan menjadi pekerjaan
yang sulit dan beresiko tinggi. Masalah kebakaran dapat dikurangi apabila sumber
api dapat ditemukan dan dimatikan dalam waktu singkat.
Dengan latar belakang tersebut maka penulis membuat Perancangan robot
pemadam api berbasis mikrokontroler AT89C51. Dalam perancangan ini, api yang
akan dipadamkan adalah api lilin.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


2
I.2 Tujuan Penulisan
Tujuan penulisan tugas akhir ini adalah sebagai berikut:
1. Untuk merancang robot berbasis mikrokontroler AT89C51 yang dapat
mencari dan memadamkan api lilin yang berada disekitarnya.
2. Mengaplikasikan pelajaran digital, elektronika dan mikroprosesor yang
telah dipelajari selama perkuliahan.
3. Memperkaya pengetahuan penulis dan pembaca tentang mikrokontroler
dan aplikasinya.

I.3 Rumusan Masalah
Robot bertugas untuk mencari dan memadamkan api lilin yang terdapat
disekitarnya. Agar dapat melakukan tugas tersebut maka robot harus mampu
menjelajah ruangan tanpa menabrak dinding atau benda lainnya, mendeteksi
keberadaan api lilin yang terdapat disekitarnya, mendekati dan memadamkan api lilin
itu kemudian kembali menjelajah ruangan.
Pembuatan robot pemadam api meliputi perancangan perangkat keras dan
perangkat lunak.
Perangkat keras robot dirancang agar mikrokontroler dapat menerima masukan
dari sensor jarak dan sensor api kemudian memutuskan pergerakan motor dc melalui
H-bridge L293D dan transistor hingga fungsi robot untuk memadamkan api lilin
yang terdapat disekitarnya tercapai. Untuk mendeteksi dinding atau benda yang
terdapat disekitar robot digunakan sensor infra merah, sedangkan untuk mendeteksi
keberadaan api lilin digunakan phototransistor. Robot menggunakan dua buah motor
dc sebagai penggerak roda dan sebuah motor dc untuk menggerakkan kipas angin
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


3
yang akan memadamkan api lilin. Sebagai pengendali robot digunakan
mikrokontroler AT89C51.
Sedangkan perangkat lunak ditulis agar mikrokontroler AT89C51 dapat
mengontrol proses pendeteksian benda disekitar robot, keberadaan api lilin dan
mengendalikan ketiga motor dc sehingga robot dapat melakukan tugas mencari dan
memadamkan api lilin dengan baik.

I.4 Batasan Masalah
Agar perancangan yang dibahas dalam tugas akhir ini tidak terlalu luas dan
menyimpang dari topik yang telah ditentukan, maka penulis perlu membatasi
permasalahan sebagai berikut:
1. Pembahasan tentang mikrokontroler AT89C51 hanya sebatas yang
berkaitan dengan perancangan ini.
2. Pembahasan mengenai komponen pendukung yang meliputi: sensor infra
merah GP2D12, phototransistor (sensor api), OP-AMP LM324N, motor
dc, motor driver L293D, timer 555, dan komponen lainnya hanya sebatas
teori umum dan yang berkaitan dengan perancangan robot pemadam api.
3. Api yang akan dipadamkan robot adalah api lilin. Lilin yang dipakai
adalah lilin putih dengan tinggi 14,5 cm dan berdiameter 1,5 cm.
4. Pembahasan cara kerja robot hanya sebatas menurut kebutuhan yang
meliputi analisis rangkaian tiap-tiap blok baik secara perangkat keras
maupun perangkat lunak.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


4
I.5 Metodologi Perancangan
Metode perancangan yang dilakukan adalah sebagai berikut:
1. Studi literatur dan diskusi
Pada tahap pertama perancangan ini penulis akan mempelajari literatur yang
berhubungan dengan perancangan robot pemadam api, mikrokontroler AT89C51 dan
komponen pendukung yang digunakan. Penulis juga berdiskusi dengan dosen dan
teman untuk memperkaya wawasan penulis mengenai perancangan robot pemadam
api.
2. Perancang perangkat keras
Rangkaian yang akan dirancang meliputi rangkaian minimum
mikrokontroler, rangkaian pengendali sensor dan rangkaian pengendali motor.
3. Perancang perangkat lunak
Setelah semua perangkat keras selesai dirakit maka akan dilakukan
perancangan perangkat lunak yang terdiri dari diagram alir dan listing program.
4. Pengujian robot
Setelah perangkat keras dan perangkat lunak selesai dibuat, maka tahap
berikutnya adalah pengujian robot. Jika hasil pengujian tidak sesuai dengan yang
diharapkan, akan dilakukan perbaikan hingga tujuan tercapai.

I.6 Sistematika Penulisan
Tugas Akhir ini disusun berdasarkan kerangka penulisan sebagai berikut:
BAB I : PENDAHULUAN
Pada bab ini akan diuraikan mengenai latar belakang, tujuan,
batasan masalah dan sistematika penulisan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


5
BAB II : MIKROKONTROLER AT89C51 DAN KOMPONEN
PENDUKUNG
Bab ini berisi pembahasan mengenai mikrokontroler
AT89C51 dan komponen pendukung yang digunakan dalam
perancangan ini.
BAB III : PERANCANGAN PERANGKAT KERAS
Bab ini berisi perancangan perangkat keras robot pemadam
api.
BAB IV : PERANCANGAN PERANGKAT LUNAK
Bab ini berisi pembahasan mengenai perangkat lunak yang
ditulis agar robot pemadam api dapat bekerja dengan baik.
BAB V : IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi implementasi perancangan, pengujian
komponen-komponen secara terpisah dan pengujian robot.

BAB VI : KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran yang bermanfaat bagi
perbaikan dan pengembangan robot pemadam api.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
BAB II
MIKROKONTROLER AT89C51 DAN KOMPONEN PENDUKUNG


Dalam perancangan robot pemadam api digunakan mikrokontroler AT89C51
dan komponen pendukung seperti: sensor infra merah GP2D12, phototransistor
(sensor api), OP-AMP LM324N, motor dc, motor driver L293D, timer 555, dan
transistor 2PA773. Berikut penjelasannya.

II.1 Mikrokontroler AT89C51
AT89C51 merupakan mikrokontroler CMOS 8 bit dengan 4K bytes memori
flash, 128 byte RAM internal, 32 pin Input-Output, dua buah timer / counter 16 bit,
dan 6 sumber interupsi. Alasan pemilihan mikrokontroler ini sebagai komponen
utama robot pemadam api adalah sebagai berikut:
1. Mempunyai 32 pin I/O
2. Kompatibel dengan produk MCS-51 lainnya
3. Harga perunitnya murah dan masih tetap diproduksi
II.1.1 Susunan Pin AT89C51

Gambar 2.1 Konfigurasi Pin Mikrokontroler AT89C51
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


7

Kegunaan setiap pin pada mikrokontroller AT89C51 dapat dilihat pada tabel
berikut.
Tabel 2.1 Keterangan pin out AT89C51
No. Pin Nama Pin Alternatif Keterangan
20 GND Ground
40 VCC Power supply
32 39 P0.7P0.0
D7D0
dan
A7A0
Pada fungsi sebagai I/O biasa port ini dapat memberikan
output sink ke delapan buah TTL input atau dapat diubah
sebagai input dengan memberikan logika 1 pada port
tersebut.
Pada fungsi sebagai low order multiplex address, data
port ini akan mempunyai internal pull up.
18 P1.0P1.7
Port ini mempunyai internal pull up dan berfungsi
sebagai input dengan memberikan logika 1 sebagai
output port ini dapat memberikan output sink keempat
buah input TTL.
2128 P2.0P2.7 A8A15
Port ini mempunyai internal pull up dan berfungsi
sebagai input dengan memberikan output sink keempat
buah input TTL.
10...17 Port 3
Sebagai I/O biasa port 3 mempunyai sifat yang sama
dengan port 1 maupun port 2. Sedangkan sebagai fungsi
spesial, port port ini mempunyai keterangan sebagai
berikut :
10
11
12
13
14
15
16
17
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD
TXD
0 INT

1 INT
T0
T1
WR
RD

Port Serial Input.
Port Serial Output.
Port External Interupt 0.
Port External Interupt 1.
Port External Timer 0 input.
Port External Timer 1 input.
External Data Memory Write Strobe.
External Data Memory Read Strobe.
9 RST
Reset akan aktif dengan memberikan input high selama 2
cycle.
30 ALE PROG
Pin ini dapat berfungsi sebagai address latch enable
(ALE) yang me-latch low byte address pada saat
mengakses memori eksternal. ALE hanya akan aktif
pada saat mengakses memori eksternal (Movx & Movc).
29
PSEN

Pin ini berfungsi pada saat mengeksekusi program yang
terletak pada memori eksternal. PSEN akan aktif dua
kali setiap cycle.
31
EA VPP
Pin ini akan berfungsi untuk menjalankan program yang
ada pada memori internal pada kondisi High.
19 XTAL 1 Input osilator.
18 XTAL 2 Output osilator.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


8

II.1.2 Struktur Perangkat Keras AT89C51
AT89C51 adalah mikrokontroler keluaran Atmel dengan 4 kbyte Flash
PEROM (Programmable and Erasable Read Only Memory). AT89C51 merupakan
memori dengan teknologi nonvolatile memory, isi memori tersebut dapat diisi ulang
atau dihapus berkali-kali. Memori ini bisa digunakan untuk menyimpan instruksi
(perintah) berstandar MCS-51 code sehingga memungkinkan mikrokontroler ini
untuk bekerja dalam mode single chip operation yang tidak memerlukan memori
eksternal untuk menyimpan source code tersebut. Gambar 2.2 menunjukkan blok
diagram pada Mikrokontroler AT89C51.
AT89C51 mempunyai struktur memori yang terdiri atas :
1. RAM Internal
Memori sebesar 128 byte yang biasanya digunakan untuk menyimpan variabel atau
data yang bersifat sementara.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


9


Gambar 2.2 Arsitektur AT89C51
2. Special Function Register (Register fungsi khusus)
Memori ini berisi register-register yang mempunyai fungsi-fungsi khusus
yang disediakan oleh mikrokontroler tersebut, seperti timer, serial, dan lain-lain.
3. Flash PEROM
Memori ini digunakan untuk menyimpan instruksi-instruksi MCS51.

AT89C51 mempunyai struktur memori yang terpisah antara RAM Internal
dan Flash PEROM-nya. RAM Internal dialamati oleh RAM Address Register
(Register Alamat RAM), sedangkan Flash PEROM yang menyimpan perintah-
perintah MCS-51 dialamati oleh Program Address Register (Program Register
Alamat). Dengan adanya struktur memori yang terpisah tersebut, walaupun RAM
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


10

Internal dan Flash PEROM mempunyai alamat awal yang sama yaitu alamat 00,
namun secara fisiknya kedua memori tersebut tidak saling berhubungan.
II.1.2.1 RAM Internal
RAM internal terdiri atas :
1. Register Banks
AT89C51 mempunyai 8 buah register yang terdiri atas R0 hingga R7.
Kedelapan buah register ini selalu terletak pada alamat 00H hingga 07H pada setiap
kali sistem direset. Namun posisi R0 hingga R7 dapat dipindah ke bank 1 (08 hingga
0FH), bank 2 (10H hingga 17H) atau bank 3 (18H hingga 1FH) dengan mengatur bit
RS0 dan RS1.
2. Bit Addressable RAM
RAM pada alamat 20H hingga 2FH dapat diakses secara pengalamatan bit
(bit addressable) sehingga hanya dengan sebuah instruksi saja setiap bit dalam area
ini dapat di-set, di-clear, di-AND dan di-OR.
Dalam aplikasinya, lokasi yang dapat diakses dengan pengalamatan bit ini dapat
juga digunakan untuk menandai suatu lokasi bit tertentu, baik berupa Register Fungsi
Khusus yang dapat dialamati secara bit (termasuk register I/O), ataupun lokasi
lokasi tertentu yang dapat dialamati secara bit.
3. RAM Keperluan Umum
RAM Keperluan Umum dimulai dari alamat 30H sampai 7FH dan dapat
diakses dengan pengalamatan langsung maupun tak langsung. Pengalamatan
langsung dilakukan ketika salah satu operand merupakan bilangan yang
menunjukkan lokasi yang dialamati.
Sedangkan pengalamatan secara tak langsung pada lokasi dari RAM Internal
ini adalah akses data dari memori ketika alamat tersebut tersimpan dalam suatu
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


11

Register R0 atau R1. R0 dan R1 adalah dua buah register pada mikrokontroler
berarsitektur MCS51 yang dapat digunakan sebagai pointer dari sebuah lokasi
memori pada RAM Internal. Pengalamatan secara tak langsung biasa digunakan
untuk mengakses beberapa lokasi memori dengan letak yang beraturan.
II.1.2.2 Register Fungsi Khusus
AT89C51 mempunyai 21 Special Function Register (Register Fungsi
Khusus) yang terletak pada antara alamat 80H hingga FFH seperti gambar 2.3.
Beberapa dari register-register ini juga mampu dialamati dengan pengalamatan bit
sehingga dapat dioperasikan seperti yang ada pada RAM yang lokasinya dapat
dialamati dengan pengalamatan bit. Gambar 2.3 menunjukkan susunan Special
Function Register dan susunan RAM internal AT89C51.














Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


12

Byte Byte
Address Bit address Address Bit address
FF 7F
F0 F7 F6 F5 F4 F3 F2 F1 F0 B

E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC General Purpose RAM
( GPR )
D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW

B8 BF BE BD BC BB BA B9 B8 IP
30
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 2F 7F 7E 7D 7C 7B 7A 79 78
2E 77 76 75 74 73 72 71 70
A8 AF AE AD AC AB AA A9 A8 1E 2D 6F 6E 6D 6C 6B 6A 69 68
2C 67 66 65 64 63 62 61 60
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2 2B 5F 5E 5D 5C 5B 5A 59 58
2A 57 56 55 54 53 52 51 50
99 Not bit addressable SBUF 29 4F 4E 4D 4C 4B 4A 49 48
98 9F 9E 9D 9C 9B 9A 99 98 SCON 28 47 46 45 44 43 42 41 40
27 3F 3E 3D 3C 3B 3A 39 38
90 97 96 95 94 93 92 91 90 P1 26 37 36 35 34 33 32 31 30
25 2F 2E 2D 2C 2B 2A 29 28
8D Not bit addressable TH1 24 27 26 25 24 23 22 21 20
8C Not bit addressable TH0 23 1F 1E 1D 1C 1B 1A 19 18
8B Not bit addressable TL1 22 17 16 15 14 13 12 11 10
8A Not bit addressable TL0 21 0F 0E 0D 0C 0B 0A 9 8
89 Not bit addressable TMOD 20 7 6 5 4 3 2 1 0
88 8F 8E 8D 8C 8B 8A 89 88 TCON 1F
87 Not bit addressable PCON B A N K 3
18
83 Not bit addressable DPH 17
82 Not bit addressable DPL B A N K 2
81 Not bit addressable SP 10
80 87 86 85 84 83 82 81 80 P0 0F
B A N K 1
8
7
B A N K 0
0 Default register R0 R7

Gambar 2.3. Susunan SFR dan susunan RAM internal AT89C51

II.2 Sensor Infra Merah Sharp GP2D12
Dalam perancangan ini sensor Sharp GP2D12 digunakan pada sistem
navigasi robot agar mampu menghindari tabrakan dengan benda yang terdapat
didepannya dan mengikuti dinding yang terdapat disebelah kirinya. Sharp GP2D12
merupakan sensor infra merah yang bekerja dengan prinsip pemantulan, dimana pada
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


13

sensor ini terdapat pemancar dan penerima sinar infra merah. Beberapa fitur GP2D12
yang menjadi alasan pemilihan komponen ini adalah sebagai berikut:
Outputnya analog
Hampir tidak terpengaruh oleh warna benda yang dideteksi
Pembacaan efektif 10 hingga 80 cm (lihat Gambar 2.5)
Konsumsi arus rata-rata kecil, yaitu sebesar 33 mA

Gambar 2.4 Sensor jarak GP2D12 dan konfigurasi pinnya
Seperti yang terlihat pada Gambar 2.4 GP2D12 memiliki 3 pin: Vo, GND
dan Vcc. Vo adalah tegangan keluaran GP2D12 berdasarkan jarak benda yang
dibacanya. Berikut ini adalah tabel dan grafik karakteristik GP2D12
Tabel 2.2 Karakteristik GP2D12
Parameter Kondisi
Nilai
minimum
Nilai maksimum Satuan
Jarak yang diukur
(L)
- 10 80 Cm
Tegangan
keluaran (Vo)
L = 30 cm 0,25 0,55 V
Perbedaan
tegangan
keluaran (Vo)
Perbedaan
tegangan
keluaran pada L
(80 cm 10 cm)
1,75 2,25 V
Rata-rata
konsumsi arus
L = 30 cm - 50 mA

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


14


Gambar 2.5 Grafik karakteristik Output GP2D12 terhadap benda yang terdapat
dihadapannya

II.3 Phototransistor

Gambar 2.6 Phototransistor
Transitor merupakan sebuah piranti yang memungkinkan sebuah arus kecil
mengatur arus yang lebih besar. Pada phototransistor arus kecil itu berasal dari sinar
infra merah yang mengenai permukaannya. Semakin banyak sinar infra merah yang
mengenai permukaan phototransistor, maka arus yang dilewatkan akan semakin
besar. Karakteristik ini dapat dilihat pada Gambar 2.7 Karena kepekaannya terhadap
sinar infra merah dari api lilin dan harganya murah, dalam perancangan ini
phototransistor digunakan untuk mendeteksi keberadaan api lilin.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


15


Gambar 2.7 Grafik Karakteristik Phototransistor

II.4 OP-Amp LM324
Keluaran dari OP-AMP dipengaruhi oleh perbandingan antara kedua
masukannya (inverting dan non inverting). Apabila masukan inverting lebih besar
daripada masukan non inverting maka keluaran OP-AMP akan bernilai LOW.
Apabila masukan inverting lebih kecil daripada masukan non inverting maka
keluaran OP-AMP akan bernilai HIGH. Dalam perancangan robot pemadam api, OP-
AMP yang digunakan adalah LM324. Alasan pemilihan LM324 adalah karena
beberapa karakteristiknya seperti:
Hanya membutuhkan supply arus kecil: 375A
Rentang power supply yang lebar: +3V sampai +30V untuk catu daya tunggal
dan 1,5V sampai 15V untuk catu daya ganda
Dalam perancangan LM324 digunakan untuk mengubah keluaran dari sensor
jarak GP2D12 dan phototransistor yang berupa sinyal analog menjadi digital. Sebuah
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


16

LM324 terdiri dari empat buah OP-AMP yang terpisah, seperti yang terlihat pada
Gambar 2.8.

Gambar 2.8 Pin-pin dalam LM324

II.5 Motor dc dan motor-driver L293D
II.5.1 Motor dc
Motor dc menerima masukan berupa arus searah. Pada perancangan ini
digunakan motor dc berukuran kecil yang disebut juga dinamo. Dinamo yang dipakai
adalah dinamo 5 Volt. Alasan pemilihannya adalah sebagai berikut:
Ukurannya kecil dan ringan.
Sumber tegangannya dapat berupa baterai kecil dan ringan sehingga
memudahkan dalam perancangan robot berukuran kecil.
Arah putarannya dapat dengan mudah dibalikkan dengan cara membalikkan
kutub tegangan inputnya.
Dapat dengan efisien dikendalikan pada tegangan 9V.
Harganya murah.



Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


17

II.5.2 Motor driver L293D
Karena mikrokontroler tidak dapat memberikan arus yang cukup untuk
menggerakkan motor dc maka digunakan motor driver L293D. IC L293D dipakai
dalam perancangan ini karena L293D merupakan rangkaian H-Bridge yang
dirancang untuk memudahkan dalam memberikan arus dua arah hingga 1 A dengan
tegangan antara 4,5 volt hingga 36 volt kepada motor dc. IC L293D dapat digunakan
untuk men-drive motor dc half-bridge sebanyak empat buah atau dua motor dc full-
bridge. IC ini mempunyai empat pin input yang bersesuaian dengan empat pin
outputnya. Selain itu juga terdapat dua pin enable/disable untuk pin output 1,2 dan
pin output 3,4. Berikut ini adalah diagram bloknya.

Gambar 2.9 Diagram Blok IC L293D

II.6 Timer 555
Untuk mengendalikan kecepatan motor dc digunakan rangkaian duty cycle
modulation yang menggunakan LM555. LM555 merupakan pembangkit waktu tunda
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


18

atau osilasi yang akurat dan stabil. Alasan pemilihan LM555 sebagai komponen
utama pada rangkaian duty cycle modulation adalah sebagai berikut.
Dapat mengatur duty cycle
Dapat beroperasi pada mode astable dan monostable
Dapat menghitung waktu dari mikro detik hingga berjam-jam
Dapat menarik dan mengeluarkan arus listrik sebesar 200mA
Dalam mode operasi waktu tunda, lamanya waktu tunda dapat ditentukan
oleh sebuah resistor dan kapasitor eksternal. Sebagai osilator untuk operasi astable,
frekwensi dan duty cycle dikendalikan oleh dua resistor dan sebuah kapasitor
eksternal. Rangkaian dapat ditrigger atau direset pada saat pulsa clock turun, dan
rangkaian output dapat menarik atau mengeluarkan arus hingga 200mA atau
mengendalikan rangkaian TTL. Berikut konfigurasi pin LM555 beserta
kegunaannya.
1. GND
2. Trigger
3. Output
4. Reset
5. Control Voltage
6. Threshold
7. Discharge
8. +Vcc

Gambar 2.10 Pin-pin dalam Timer 555









Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


19

Tabel 2.3Kegunaan pin-pin pada Timer 555
Pin Gambaran Kegunaan
1 Ground Dihubungkan ke ground
2 Trigger
Pin ini mencatu kapan memulai perhitungan waktu. Ketika nilainya
LOW, pin output akan HIGH. Triger ini diaktifkan pada saat
tegangan turun dan mencapai 1/3 dari tegangan positif pada pin 8.
3 Output
Pin output berguna untuk mengendalikan rangkaian eksternal. Pin ini
mempunyai konfigurasi totem pole, yang membuatnya dapat
mengeluarkan atau menarik arus. Pin Output akan bernilai HIGH
saat pin trigger bernilai LOW dan akan bernilai LOW apabila pin
treshold bernilai HIGH, atau jika pin reset bernilai LOW.
4 Reset
Pin reset berguna untuk membuat pin output bernilai LOW. saat
tidak digunakan, pin reset harus dihubungkan ke +V.
5 Control Voltage
Pin control voltage memungkinkan masukan dari tegangan eksternal
untuk mempengaruhi perhitungan waktu timer 555. ketika tidak
digunakan, pin ini harus dihubungkan ke kapasitor 0,01 uF dan ke
ground.
6 Threshold
Pin treshold akan membuat keluaran pin output bernilai LOW saat
tegangan pada pin ini dibawah 2/3 dari +V.
7 Discharge
Pin discharge akan terhubung ke ground ketika output pin bernilai
HIGH. Pada umumnya pin ini digunakan untuk mengosongkan
kapasitor selama asilasi.
8 +V Tegangan positif (3 - 18 Volt).

II.7 Transistor PN2222A
Dalam perancangan ini transistor digunakan sebagai saklar elektronik yang
akan menghidupkan dan mematikan kipas angin. Gambar 2.11 menunjukkan tiga
buah kaki transistor, yaitu basis, kolektor, dan emiter. Cara kerjanya adalah sebagai
berikut: apabila basis diberi logika HIGH, maka arus akan mengalir dari kolektor ke
emiter. Ketika basis diberi logika LOW, transistor akan tidak mengalirkan arus dari
kolektor ke emiter. Pada perancangan ini digunakan Transistor NPN tipe PN2222A
karena kemampuannya untuk melewatkan arus hingga 1A.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


20


Gambar 2.11 Transistor PN2222A




Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
BAB III
PERANCANGAN PERANGKAT KERAS


III.1 Spesifikasi Sistem
Dalam perancangan robot pemadam api mikrokontroler AT89C51 digunakan
sebagai komponen utama yang mengatur komponen lainnya seperti: sensor jarak
SHARP GP2D12, phototransistor (sensor api), motor dc, dan motor driver L293D.
Hardware robot dirancang agar mikrokontroler dapat menerima masukan dari sensor
jarak dan sensor api kemudian memutuskan pergerakan motor dc melalui H-bridge
L293D hingga fungsi robot untuk memadamkan api lilin yang terdapat disekitarnya
tercapai. Hardware robot dirancang sesuai diagram blok yang terdapat pada Gambar
3.1.

Gambar 3.1 Diagram Blok Perancangan Perangkat Keras
Mikrokontroler menerima sinyal masukan dari dua sumber, yaitu sensor api
(photo transistor) dan sensor jarak GP2D12. Agar mikrokontroler dapat membaca
keluaran dari sensor api dan sensor jarak yang keluarannya analog, digunakan
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


22
L324N sebagai analog to digital converter. Swich digunakan untuk memberi
masukan pada mikrokontroler agar dapat menentukan mode robot, hal ini akan
dibahas lebih lanjut pada bab IV.
Berdasarkan masukan dari sensor jarak dan sensor api, mikrokontroler
menggerakkan tiga buah motor dc: motor dc penggerak roda kanan dan kiri serta
kipas angin. Dalam hal ini motor penggerak roda kanan dan kiri robot dikendalikan
melalui H-Bridge L293D, dan untuk mengendalikan kecepatannya digunakan
rangkaian Duty Cycle Modulation. Sedangkan kipas angin dikendalikan melalui
transistor 2PA733.
Berikut adalah penjelasan diagram blok pada Gambar 3.1 bagian demi
bagian.

III.2 Rangkaian Dasar Mikrokontroler AT89C51
Rangkaian sistem mikrokontroler AT89C51 berfungsi sebagai pusat kontrol
yang membaca sensor untuk menentukan keluaran yang berupa sinyal kontrol yang
mengendalikan motor dc. Untuk membuat sistem mikrokontroler bekerja, dibutuhkan
komponen-komponen tambahan. Untuk mereset mikrokontroler secara otomatis
setiap kali catu daya dinyalakan digunakan rangkaian reset. Dan sebagai penggerak
osilator internal digunakan rangkaian clock yang terdiri dari sebuah kristal dan dua
buah kapasitor. Berikut akan dijelaskan rangkaian reset dan rangkaian clock secara
khusus.

III.2.1 Rangkaian Reset
Rangkaian reset diperlukan untuk mereset mikrokontroler secara otomatis
setiap kali catu daya dinyalakan, hal ini akan me-reset program counter sehingga
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


23
perintah program yang dieksekusi dimulai pada alamat 0h. Ketika catu daya
diaktifkan, rangkaian reset menahan logika tinggi pin RST dengan jangka waktu
yang ditentukan oleh lamanya pengisian muatan C. Jika pin RST diberi logika high
selama dua siklus mesin maka mikrokontroler akan direset. Satu siklus mesin
(
osc f .
12
) membutuhkan waktu 1,085 s, sehingga untuk mereset mikrokontroler
dibutuhkan waktu minimal 2,17 s. Tegangan RST yang diijinkan sebesar 0,7 Vcc
hingga Vcc + 0,5. Jika tegangan RST minimal 3,5 V maka tegangan pada kapasitor
maksimal 1,5 V untuk dapat me-reset mikrokontroler. Rangkaian reset dibentuk
dengan rangkaian RC yang dapat dilihat dalam Gambar 3.2
vcc
RST
GND
+vcc
C
R

Gambar 3.2 Rangkaian Reset(A) dan Rangkaian Setaranya(B)
Dari rangkaian setara diperoleh:
Vo = Vi
sC
R
R
.
1
+
(3.1)
Vo = Vi
sCR
sCR
.
1 +
(3.2)
dengan tegangan Vi adalah Vcc yaitu 5V, dalam fungsi Laplace adalah
s
5
sehingga:
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


24
Vo =

+
=
+
=
+
RC
s
sCR
CR
sCR
sCR
s
1
1
. 5
1
. 5
1
.
5

Vo = 5.e
RC
t

RC
t
e
Vo
=
5

ln
RC
t
Vo
=
5

t = RC

Vo
5
ln (3.3)
dengan Vo adalah tegangan logika nominal yang diijinkan pin RST di mana
Vo = 0,7 x Vcc = 0,7 x 5 volt = 3,5 volt
sehingga
t = RC

5 , 3
5
ln
t = 0,357.R.C (3.4)
dengan menggunakan pemisalan R = 10K dan t minimum adalah 2 s maka untuk
amannya dimisalkan = 4 s maka:
4.10
6
= 0,357 x 10 K x C
C = 1.1nF
telah memenuhi syarat minimal untuk dapat me-reset mikrokontroler AT89C51.

III.2.2 Rangkaian Clock
Kecepatan proses kerja mikrokontroler ditentukan oleh sumber clock
(pewaktuan) yang mengendalikan mikrokontroler tersebut. AT89C51 telah
menyediakan osilator internal yang dapat digunakan untuk membangkitkan pulsa
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


25
clock. Untuk menentukan frekuensi osilatornya digunakan kristal yang dihubungkan
ke pin XTAL 1 dan pin XTAL 2, serta menghubungkan pin tersebut dengan
kapasitor yang dihubungkan ke ground. Besar kapasitansi kapasitor disesuaikan
dengan spesifikasi pada datasheet AT89C51, yaitu sebesar 30pF 10pF. Karena
kapasitor 30pF tidak tersedia dipasaran, maka digunakan kapasitor 33pF.
Pemilihan besar frekuensi disesuaikan dengan kebutuhan. Untuk
mempermudah perhitungan maka digunakan kristal 12MHz. Penggunaan kristal
12MHz akan mengakibatkan satu siklus mesin (12 periode) paling lama dapat
dikerjakan dalam waktu 1s atau s
MHz
1 12
12
1
= . Rangkaian clock dalam
perancangan ini ditunjukkan dalam Gambar 3.3.

Gambar 3.3 Rangkaian clock

III.2.3 Hubungan Port-port
Mikrokontroler AT89C51 mempunyai empat buah port I/O yang dapat
digunakan. Dalam perancangan sistem mikrokontroler ini pin-pin I/O digunakan
adalah sebagai berikut:
1. Pin 0.0 Pin 0.4 digunakan sebagai penerima masukan dari
phototransistor (sensor api).
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


26
2. Pin 1.0 Pin 1.3 digunakan sebagai penerima masukan dari sensor
jarak GP2D12.
3. Pin 2.0 Pin 2.4 digunakan sebagai pengendali motor driver L293D.
Dan Pin 2.5 sebagai pengendali kipas angin.
4. Pin 1.4 dihubungkan ke saklar yang menentukan robot bekerja dalam
mode jelajah atau dalam mode ruangan.
5. Pin 3.0 dan Pin 3.7 dan pin 1.5 digunakan untuk menyalakan dan
memadamkan LED indikator.
Hubungan pin-pin mikrokontroler ditunjukkan pada Gambar 3.4.
ATMEL
AT89C51
40
30
20
1
10
21
5 V
33 pF
33 pF
12 MHz
nput A
nput B
nput C
nput D
nput E
nput A
nput C
nput B
nput D
Output
Output
Output
Output
Kipas
P0
P1
P3
P2
8
32
28
17
39
Switch
10 uF
10 k
Ohm
5 V
LED ndikator
LED ndikator
LED ndikator
LED ndikator
LED ndikator
LED ndikator
LED ndikator
LED ndikator
LED ndikator
R pull up

Gambar 3.4 Hubungan pin-pin mikrokontroler
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


27
Pada rangkaian di atas, karena port 0 bersifat open drain, maka ketika
mengeluarkan logika 0 maka akan terbaca sebagai logika ambang. Untuk itu
dibutuhkan resistor pull up agar bisa memberikan logika 0. Ketika memberikan
logika 0 maka tegangan keluaran (V
OL
) seharusnya adalah 0,5 V. Karena arus yang
dibutuhkan ketika logika 0 (I
OL
) adalah 3,2 mA dan catu daya yang digunakan
(Vcc) adalah 5V, maka nilai R pull up yang dibutuhkan adalah:
OL
OL
up pull
I
V Vcc
R

=
_
(3.5)
mA
V V
R
up pull
2 , 3
5 , 0 5
_

=
= k R
up pull
5 , 1 1406,25
_


III.3 Rangkaian Sensor Jarak
Dalam perancangan ini dibutuhkan empat buah sensor GP2D12. Sensor jarak
GP2D12 memiliki tiga buah pin keluaran: Vo (tegangan keluaran), Vcc dan GND.
Pin Vcc dihubungkan dengan sumber tegangan 5V. Pin GND dihubungkan ke
ground, dan Vo keempat sensor jarak dihubungkan ke pin 1.0 pin 1.3 pada
mikrokontroler AT89C51 melalui rangkaian pembanding. Gambar 3.5 dan Gambar
3.6 berikut menunjukkan hubungan pin-pin GP2D12 dan posisinya pada badan robot.

Gambar 3.5 Rangkaian Sensor GP2D12
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


28

Gambar 3.6 Peletakan Sensor GP2D12 pada Badan Robot
Keuntungan yang diperoleh dari penyusunan phototransistor seperti Gambar
3.6 adalah robot dapat menghindari tabrakan dengan benda di depan, di depan kiri
dan didepan kanan serta mengikuti dinding yang terdapat disebelah kiri dengan
hanya menggunakan empat buah sensor jarak.

III.4 Rangkaian Sensor Api
Rangkaian sensor api berfungsi untuk memberitahu mikrokontroler apabila
ada api yang terdeteksi disekitar robot. Komponen utama dari rangkaian ini adalah
phototransistor. Apabila api lilin terdeteksi, phototransistor akan mengalirkan arus
dari Vcc ke ground sehingga tegangan outputnya akan LOW. Output rangkaian
sensor api dihubungkan ke rangkaian pembanding. Berikut adalah rangkaian
phototransistor (sensor api).
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


29

Gambar 3.7 Rangkaian Sensor Api
Keluaran rangkaian akan menjadi masukan pada rangkaian pembanding.
Rangkaian pembanding dapat menerima masukan dengan tegangan -0.3 V hingga
5,03 V dan arus maksimum 50 mA. Sedangkan arus maksimum yang dapat melewati
phototransistor tidak diketahui karena ketidaktersediaan datasheetnya. Resistor R
akan membatasi arus yang mengalir pada phototransistor dan rangkaian pembanding.
Supaya aman, nilai arus yang melewati phototransistor dibatasi hingga 0,5 mA.
Dengan demikian besar tahanan minimum yang dibutuhkan adalah sebagai berikut.
R I V =
mA
V
R
5 , 0
5
=
= k R 10
Sebuah phototransistor dapat mendeteksi api lilin dalam sudut pandang 50
0
.
Sehingga agar dapat mendeteksi api dalam 360
0
dibutuhkan paling sedikit 8 buah
phototransistor yang masing-masing mendeteksi api dalam sudut 45
0
. Hal ini dapat
dilihat pada Gambar 3.8
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


30
Photo
Transistor

1
2
3
4
5
6
7
8

Gambar 3.8 Susunan Phototransistor pada badan robot
Keuntungan yang diperoleh dari penyusunan phototransistor seperti Gambar
3.9 adalah keberadaan api dapat langsung diketahui sekaligus dengan posisinya
terhadap robot. Dengan demikian robot dapat berputar kearah lilin. Untuk
menyederhanakan pemrograman, kedelapan phototransistor itu dibagi dalam empat
kelompok. Yaitu dengan cara menyatukan keluaran phototransistor 1, 2, dan 3 serta
transistor 6, 7, dan 8. Hasilnya diperlihatkan pada Gambar 3.9. Keempat kelompok
itu adalah A, B, C, dan D.
A
B
C
D

Gambar 3.9 Hasil Penggabungan Beberapa Phototransistor
Posisi phototransistor seperti pada gambar diatas membuat robot dapat
berputar kearah api lilin, tetapi untuk membuat robot dapat bergerak lurus mendekati
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


31
api lilin itu, diperlukan sebuah phototransistor lagi (phototransistor C) yang
mengarah tepat kedepan robot seperti yang ditunjukkan pada Gambar 3.10.

Gambar 3.10 Susunan 9 Phototransistor pada Badan Robot
Gambar 3.10 menunjukkan bahwa antara phototransistor B dan D terdapat
celah sempit. Celah sempit ini adalah garis yang akan diikuti robot untuk mendekati
lilin. Hal ini akan dibahas lebih lanjut pada BAB IV.

III.5 Rangkaian Pembanding Tegangan
Pembanding tegangan berfungsi untuk membandingkan tegangan masukan,
dalam hal ini sinyal dari sensor jarak dan sensor api. Pembanding tegangan dalam
perancangan ini menggunakan penguat operasional LM324N.
III.5.1 Rangkaian Pembanding Untuk Sensor Api
Sinyal dari sensor sensor api dijadikan masukan bagi pembanding dengan
menghubungkannya ke masukan inverting IC LM324N. Saat tegangan masukan
pembanding berada di atas tegangan referensi, maka keluaran pembanding adalah
LOW (0V). Sebaliknya jika tegangan masukan pembanding di bawah tegangan
referensi, maka keluaran pembanding adalah HIGH (5V). Mikrokontroler akan
membaca sinyal HIGH sebagai tanda bahwa ada api lilin yang terdeteksi.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


32
Tegangan referensi diperoleh dengan memanfaatkan potensiometer sebagai
pembagi tegangan. Karena arus input maksimum LM324 adalah 50mA dan agar
lebih aman arus dibatasi hingga 5mA, maka nilai potensiometer minimum yang
dibutuhkan adalah sebagai berikut.
R I V =
mA
V
R
5
5
=
= k R 1
Rangkaian pembanding untuk sensor api ditunjukkan dalam Gambar 3.11 di
bawah ini.

Gambar 3.11 Rangkaian Pembanding Tegangan Untuk Sensor Api
Gambar 3.12 menunjukkan rangkaian pembanding untuk sensor api
menggunakan LM324N.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


33

Gambar 3.12 Rangkaian Pembanding Tegangan Untuk Sensor Api
Menggunakan LM324N
III.5.2 Rangkaian Pembanding Untuk Sensor Jarak
Rangkaian pembanding untuk sensor jarak memiliki sedikit perbedaan
dengan rangkaian pembanding sebelumnya. Rangkaian ini disusun untuk
menghasilkan sinyal keluaran LM324N yang stabil sehingga dapat dibaca
mikrokontroler dengan baik. Pada rangkaian ini keluaran dari sensor jarak GP2D12
dihubungkan ke masukan non inverting IC LM324N. Sehingga saat tegangan
masukan pembanding berada di atas tegangan referensi, maka keluaran pembanding
adalah HIGH (5V). Sebaliknya jika tegangan masukan pembanding di bawah
tegangan referensi, maka keluaran pembanding adalah LOW (0V). Mikrokontroler
akan membaca sinyal LOW itu sebagai tanda bahwa ada benda yang terdeteksi.
Rangkaian pembanding untuk sensor jarak ditunjukkan dalam Gambar 3.13 pada
halaman berikutnya.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


34

Gambar 3.13 Rangkaian Pembanding Untuk Sensor Jarak
Rangkaian pembanding untuk sensor jarak mempunyai konfigurasi schmitt
trigger untuk menghilangkan derau pada keluarannya. Untuk menghitung besar
treshold digunakan rumus:
sat
V
R
R
T
2
1
= (3.6)
Dimisalkan R1 = 100k Ohm dan R2 = 1 M Ohm dan Vsat = 5V, maka
V T 5
10
10 100
6
3


=
V T 5
10
10 100
6
3


=
V T 5 . 0 =
Pada gambar di halaman berikutnya digunakan dua buah potensiometer.
Sebuah digunakan untuk mengatur kepekaan sensor jarak bagian belakang (A dan D)
dan satu lagi digunakan untuk mengatur kepekaan sensor jarak bagian depan (B dan
C). Gambar 3.14 menunjukkan rangkaian pembanding untuk sensor api
menggunakan LM324N.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


35

Gambar 3.14 Rangkaian Pembanding Tegangan Untuk Sensor Jarak
Menggunakan LM324N

III.6 Rangkaian Motor dc
Rangkaian motor dc dirancang dengan menggunakan IC L293D karena
mikrokontroler tidak mampu men-drive beban induktif seperti motor dc secara
langsung. Hai ini disebabkan pin keluaran dari mikrokontroler tidak mampu memberi
arus yang cukup untuk motor dc. Input L293D berasal dari mikrokontroler dan pada
Gambar 3.15 terlihat bahwa keluarannya yang bersesuaian dihubungkan dengan
motor dc, dimana pin output 1 dan pin output 2 dihubungkan ke motor kiri,
sedangkan pin output 3 dan 4 dihubungkan ke ke motor kanan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


36

Gambar 3.15 Rangkaian motor dc
IC L293D memiliki 2 pin enable. Pin enable 1 untuk mengaktifkan pin output
1 dan 2, sedangkan pin enable 2 digunakan untuk mengaktifkan pin output 3 dan 4.
kedua pin enable ini dipararelkan dan dihubungkan ke rangkaian Duty Cycle
Modulation, agar kecepatan motor dc dapat diatur.
Besarnya tegangan yang diberikan oleh L293D ke motor sama dengan besar
tegangan yang diberikan pada pin Vs (Vcc2) yaitu sebesar 9 volt. Sedangkan pin Vss
(Vcc1) digunakan sebagai sumber tegangan IC L293D.
Untuk mengendalikan arah putaran motor, pin input 1 - 4 pada L293D
dihubungkan ke pin 2.0 pin 2.3 pada mikrokontroler AT89C51. Arah putaran
motor kiri ditentukan oleh pin input 1 dan 2, sedangkan arah putaran motor kanan
ditukan oleh pin input 3 dan 4. Tabel 3.1 berikut menunjukkan hubungan pin enable,
pin input dan pin output pada IC L293D.


Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


37
Tabel 3.1 Hubungan pin enable, input dan output IC L293D
Enable
1 dan 2
Input 1 Input 2 Output 1 Output 2 Gerakan Motor
0 x x 0 0 Diam
1 0 0 0 0 Diam
1 0 1 0 1 Berputar ke kanan
1 1 0 1 0 Berputar ke kiri
1 1 1 1 1 Diam

III.7 Rangkaian Duty Cycle Modulation
Rangkaian Duty Cycle Modulation digunakan untuk mengendalikan
kecepatan motor dc. Cara kerjanya adalah dengan mengirim sinyal yang meng-ON
dan meng-OFF-kan motor driver L293D dengan frekwensi tertentu. Waktu ON dan
OFF ini dikenal sebagai duty cycle. Gambar berikut menunjukkan bentuk
gelombang dengan frekwensi duty cycle 10%, 50% dan 90%.

Gambar 3.16 Gelombang Dengan Frekwensi Duty Cycle 10%, 50% dan 90%
Dapat dilihat bahwa pada duty cycle 10% sinyal akan HIGH selama 10% dari
panjang gelombang dan LOW pada 90% dari penjang gelombang berikutnya. Sinyal
ini akan dikirimkan ke motor driver L293D dengan frekwensi yang cukup tinggi
sehingga pulsa itu tidak berpengaruh pada kestabilan putaran motor. Hasil akhir dari
Duty Cycle Modulation adalah pengendalian kecepatan motor dc secara stabil dan
efisien. Berikut adalah gambar rangkaian Duty Cycle Modulation sederhana dengan
menggunakan Timer 555.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


38

Gambar 3.17 Rangkaian Duty Cycle Modulation
Pada gambar diatas timer 555 difungsikan sebagai osilator astable. Artinya
pada saat di-ON-kan, timer 555 akan terus berosilasi tanpa ada interupsi dari luar.
Dapat dilihat bahwa Pin reset (pin 4) dihubungkan ke +V, sehingga tidak
mempengaruhi operasi rangkaian. Pin discharge dihubungkan ke resistor pull up R2
agar dapat men-drive driver motor dc L293D. Besar tahanan R2 ditentukan oleh arus
yang dibutuhkan oleh pin enable/disable L293D sehingga berlogika HIGH, yaitu
sebesar 5 mA. Dengan demikian besar tahanan yang dibutuhkan adalah sebagai
berikut.
R I V =
mA
V
R
5
5
=
= k R 10
Cara kerja rangkaian adalah seperti berikut. Pada saat rangkaian di-ON-kan,
pin trigger (pin 2) akan LOW karena kapasitor C1 dikosongkan. Hal ini akan
memulai osilasi dan membuat pin output (pin 3) HIGH. Ketika pin output HIGH,
kapasitor C1 akan diisi kembali sesuai dengan bagian bawah R1 dan dioda D2.
Ketika tegangan C1 mencapai 2/3 dari +V, treshold (pin 6) akan diaktifkan.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


39
Akibatnya output (pin 3) dan pin discharge (pin 7) bernilai LOW. Ketika pin output
bernilai LOW, kapasitor C1 diisi melalui bagian atas R1 dan D1. Ketika tegangan
pada C1 turun hingga dibawah 1/3 dari +V, pin output dan pin discharge akan
bernilai HIGH, dan siklus akan berulang.
Pin 5 tidak digunakan sebagai input tegangan luar, sehingga di bypass ke
ground melalui kapasitor 0,10 uF. Kapasitor C1 dikosongkan melalui satu sisi dari
R1 dan diisi melalui sisi R1 yang lain. Jumlah tahanan pengosongan dan pengisian
selalu sama, sehingga panjang gelombang yang dihasilkan selalu sama. R1 hanya
memvariasikan duty cycle. Frekwensi Duty Cycle dari rangkaian ini bergantung pada
nilai R1 dan C1. Sesuai dengan rumus:
1 * 1
44 , 1
C R
Frekwensi = (3.7)
Dengan R1 sebesar 100 k dan C1 sebesar 0.1 F, maka:
6 3
10 1 , 0 10 100
44 , 1


= Frekwensi
Hz Frekwensi 144 =
Diperoleh frekwensi pada rangkaian ini adalah 144 Hz. Pin output digunakan
untuk mengisi dan mengosongkan C1, dari pada pin discharge (pin 7). Hal ini
dilakukan karena pin output mempunyai konfigurasi totem pole. Ia dapat
mengeluarkan dan menarik arus, sementara pin discharge hanya dapat menarik arus.
Dengan catatan bahwa pin output dan pin discharge bernilai HIGH dan LOW pada
waktu yang bersamaan.

III.8 Rangkaian Saklar
Rangakaian saklar yang terhubung ke pin 1.4 adalah seperti Gambar 3.18
berikut. Dapat dilihat bahwa rangkaian saklar memiliki resistor pulldown sebesar 10k
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


40
Ohm. Apabila saklar terbuka Pin 3.2 akan berlogika LOW apabila saklar ditutup
Pin3.2 akan berlogika HIGH.

Gambar 3.18 Rangkaian Saklar
Pada saat saklar terbuka Pin 3.2 akan berlogika HIGH dan ketika saklar
ditutup pin 3.2 akan berlogika LOW. Tahanan R berfungsi untuk membatasi arus
yang mengalir ke mikrokontroler agar mikrokontroler tidak terbakar. Nilai arus
dibatasi sehingga nilai maksimumnya 0,5 mA.
R I V =
mA
V
R
5 , 0
5
=
= k R 10

III.9 Rangkaian Kipas Angin
Kipas angin yang berupa motor dc digunakan sebagai piranti yang akan
memadamkan api. Motor dc mempunyai dua buah kutub, kutub positif dan kutub
negatif. Kutub positif motot dc dihubungkan ke catu daya 5V sedangkan kutub
negatifnya dihubungkan ke emiter transistor. Basis transistor dihubungkan ke pin 2.4
pada mikrokontroler AT89C51, sedangkan kolektornya dihubungkan ke ground.
Dengan demikian kipas angin akan active LOW.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


41
Karena motor dc mempunyai hambatan dalam 10kOhm, maka arus yang akan
melewati transistor adalah sebesar:
R I V =

=
10
5V
I
A I 5 , 0 =
Dengan demikian, transistor yang dipasang harus mampu melewatkan arus lebih dari
0,5 A. Pada perancangan ini transistor PN2222A yang dipakai dapat melewatkan
arus hingga 1A.
Sebuah dioda dipasang pararel dengan motor dc dan berlawanan arah dengan
arah arus yang mengalir didalam motor untuk menghilangkan arus induksi yang
dihasilkan. Gambar 3.19 berikut menunjukkan rangkaian kipas angin.

Gambar 3.19 Rangkaian Kipas Angin

III.10 Rangkaian LED Indikator
LED indikator adalah LED yang menunjukkan pembacaan sensor. Apabila
sensor yang bersesuaian mendeteksi keberadaan api atau benda disekeliling robot,
maka LED indikator akan menyala.Karena ada lima kelompok sensor api dan empat
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


42
buah sensor jarak, maka terdapat sembilan buah LED status. Gambar 3.20
menunjukkan rangkaian LED indikator.

Gambar 3.20 Rangkaian LED Indikator
LED dapat dinyalakan dengan cara membuat pin mikrokontroler yang
terhubung dengannya bernilai LOW. Resistor digunakan untuk membatasi arus yang
mengalir ke mikrokontroler. Agar LED tidak rusak, maka arus yang mengalir
melaluinya harus dibatasi agar tidak lebih dari 20 mA. Agar lebih aman arus dibatasi
hingga 10 mA. Sehingga nilai resistor yang dibutuhkan adalah:
R I V =
A
V
R
3
10 10
5

=
= 500 R

III.11 Rangkaian Robot Pemadam Api
Rangkaian robot pemadam api adalah rangkaian hasil penggabungan semua
rangkaian yang dijelaskan diatas. Rangkaian ini membutuhkan sebuah
mikrokontroler AT89C51, sebuah motor driver L293D, tiga OP-AMP LM324N,
sebuah Timer 555, sembilan sensor api (photo transistor) empat sensor jarak SHARP
GP2D12, tiga motor dc dan komponen lainnya. Rangkaian robot pemadam api
ditunjukkan pada Lampiran A.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
BAB IV
PERANCANGAN PERANGKAT LUNAK


Perancangan perangkat lunak dalam sistem ini bertujuan agar mikrokontroler
AT89C51 dapat mengontrol proses pendeteksian benda disekitar robot, keberadaan api
lilin dan mengendalikan ketiga motor dc sehingga robot dapat melakukan tugas mencari
dan memadamkan api lilin dengan baik. Software ini ditulis dalam bahasa assembly dan
akan ditanamkan pada mikrokontroler AT89C51. Software yang digunakan sebagai
assembler untuk menghasilkan file HEX dari bahasa assembly yang digunakan adalah
8051 Editor, Assembler, Simulator (IDE) Evaluation Vertion 1.20 dari AceBus.

IV.1 Perangkat Lunak Secara Garis Besar
Perancangan perangkat lunak robot pemadam api dilakukan dengan metode
poling. Dengan demikian mikrokontroler akan memeriksa pembacaan sensor jarak dan
sensor api lalu memutuskan pergerakan robot. Hal ini dapat dilihat dari souce codenya
yang terdapat pada Lampiran B. Secara sederhana program dapat dijelaskan melalui
diagram alir yang terdapat pada Gambar 4.1 Ketika tombol power di-ON-kan, robot
akan bekerja dan mikrokontroler akan direset sehingga program akan mulai dijalankan
dari alamat 0h. Kemudian mikrokontroler akan memberi nilai awal pada setiap port I/O.
Setelah itu keluaran setiap sensor dibaca dan LED indikator yang bersesuaian dengan
sensor yang mendeteksi keberadaan api atau benda dinyalakan. LED indikator ini
berfungsi untuk menunjukkan pembacaan setiap sensor oleh mikrokontroler.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


44

Gambar 4.1 Diagram Alir Perangkat Lunak
Dari gambar diatas dapat dilihat bahwa bagian jelajah menjadi prioritas utama.
Hanya jika ada api lilin yang terdeteksi dan tidak ada benda didepan robot, program
jump ke bagian penemuan_api. Bagian jelajah dibagi dua, yaitu mode ruangan dan
mode lapangan. Kedua mode ini diatur dengan meng-ON/OFF-kan saklar yang
terhubung dengan pin 1.4 pada mikrokontroler AT89C51. Sesuai dengan namanya mode
ruangan diaktifkan jika robot berada dalam ruangan dan harus menelusuri ruangan itu
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


45
untuk menemukan api. Pada mode ruangan robot akan menelusuri dinding yang terdapat
di sebelah kirinya. Sedangkan dalam mode lapangan, robot akan bergerak maju dan
menghindari tabrakan dengan benda lain yang terdapat didepannya.
Apabila robot mendeteksi api lilin dan tidak mendeteksi ada benda didepannya,
maka robot akan mendekati api lilin itu hingga jarak tertentu dimana lilin dapat
dipadamkan dengan menghidupkan kipas angin. Robot akan mengasumsikan bahwa api
lilin telah padam ketika tidak mendeteksi keberadaannya lagi. Ketika hal itu terjadi,
program akan jump ke bagian awal, demikian seterusnya hingga tombol power di-OFF-
kan kembali.

IV.2 Bagian Jelajah
Pada sub bab berikut akan dijelaskan secara khusus bagian jelajah. Pada bagian
jelajah robot akan membaca keempat sensor jarak dan memutuskan pergerakan motor
kiri dan motor kanannya. Mikrokontroler akan mengetahui keberadaan benda
disekeliling robot ketika salah satu pin I/O yang terhubung ke rangkaian sensor jarak
bernilai LOW. Posisi masing-masing sensor jarak dapat dilihat pada lampiran C atau
pada Gambar 3.7. Karena ada empat buah sensor jarak, maka akan ditemukan
enambelas kemungkinan kondisi. Hal ini dapat dilihat pada Tabel 4.1.





Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


46
Tabel 4.1 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Jarak
Kondisi C B A D Gerakan Robot
1 0 0 0 0 Balik Arah
2 0 0 0 1 Belok Kanan
3 0 0 1 0 Belok Kiri
4 0 0 1 1
5 0 1 0 0
6 0 1 0 1
7 0 1 1 0
8 0 1 1 1
Belok Kanan
9 1 0 0 0
10 1 0 0 1
11 1 0 1 0
12 1 0 1 1
Belok Kiri
13 1 1 0 0
14 1 1 0 1
Maju
15 1 1 1 0
16 1 1 1 1
Maju / Belok kiri *

*Maju pada mode lapangan dan belok kiri pada mode ruangan

Ide dasar dari penentuan gerakan robot berdasarkan pembacaan sensor jarak
adalah bagaimana agar robot dapat bergerak secara efektif menghindari tabrakan dengan
benda yang menghalangi jalannya dan bernavigasi didalam ruangan. Dari Tabel 4.1
dapat dilihat bahwa pada bagian jelajah terdapat dua mode, yaitu mode ruangan dan
mode lapangan. Perbedan dari kedua mode ini hanya terdapat pada kondisi limabelas
dan enambelas. Dimana pada mode lapangan robot akan terus maju apabila sensor B dan
C tidak mendeteksi benda. Sedangkan pada mode ruangan, robot akan berbelok terus
berbelok ke kiri apabila sensor pabila sensor B dan C tidak mendeteksi benda dan sensor
jarak A tidak mendeteksi adanya dinding di sebelah kiri. Karena pada mode ruangan,
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


47
robot akan menjelajah ruangan dengan cara mengikuti dinding yang terdapat disebelah
kirinya.
Pada kondisi tigabelas dan empatbelas robot akan bergerak maju karena
terdeteksi benda disebelah kiri dan karena tidak terdeteksi adanya benda yang
menghalangi robot apabila gerakannya maju.
Pada kondisi sembilan hingga duabelas robot akan berbelok ke kiri karena sensor
B mendeteksi keberadaan benda di depan kanan robot, sehingga untuk menghindari
tabrakan dengan benda tersebut robot harus berbelok ke kiri. Dalam hal ini pembacaan
sensor A dan D diabaikan.
Pada kondisi lima hingga delapan robot akan berbelok ke kanan karena sensor
jarak C mendeteksi keberadaan benda di depan kanan robot, sehingga untuk
menghindari benda tersebut robot harus berbelok ke kanan. Dalam hal ini pembacaan
sensor A dan D juga diabaikan.
Pada kondisi empat robot berbelok ke kanan karena sensor B dan C mendeteksi
ada benda tepat didepan robot. Sehingga untuk menghindarinya robot harus berbelok ke
kanan atau kekiri. Dalam hal ini berbelok ke kanan dipilih agar robot dapat
memposisikan benda atau dinding itu disebelah kirinya. Hal ini akan menjadi penting
apabila robot berjalan dalam mode ruangan.
Pada kondisi tiga robot akan berbelok ke kiri karena sensor B, C dan D
mendeteksi ada benda tepat didepan dan dikanan robot. Sehingga untuk menghindarinya
robot harus berbelok kekiri.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


48
Pada kondisi dua robot akan berbelok ke kanan karena sensor A, B dan C
mendeteksi keberadaan benda tepat di depan dan dikiri robot. Sehingga untuk
menghindarinya robot harus berbelok ke kanan.
Sedangkan pada kondisi satu semua sensor jarak mendeteksi keberadaan benda
di sekeliling robot. Sehingga untuk menghindarinya robot harus berbalik arah. Robot
berbalik arah dengan cara berbelok kanan hingga sensor B dan C tidak mendeteksi ada
benda tepat dihadapan robot.
Dengan demikian robot dapat menentukan setiap tindakan berdasarkan setiap
kemungkinan kondisi yang ada. Namun untuk menentukan tindakan apa yang akan
dilakukan, mikrokontroler tidak harus memeriksa pembacaan setiap sensor jarak, hal ini
dapat dilihat pada diagram alir pada Gambar 4.2.

Gambar 4.2 Diagram Alir Bagian Jelajah
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


49
Dari Gambar 4.2 dapat dilihat bahwa urutan prioritas pemeriksaan sensor adalah
sensor C dan sensor B, setelah itu sensor A dan sensor D. Pembacaan sensor A dan D
diperiksa jika pembacaan sensor C dan B bernilai LOW (kondisi 1-4) dan jika kondisi
yang terjadi adalah kondisi limabelas atau enambelas.

IV.3 Bagian penemuan_api
Seperti yang telah dijelaskan pada sub bab III.3, robot pemadam api Phoenix
menggunakan sembilan buah phototransistor yang dibagi dalam 5 kelompok: A, B, C, D
dan E. Hal ini ditunjukkan oleh Gambar 4.3. Mikrokontroler akan mengetahui
keberadaan api lilin disekeliling robot ketika salah satu pin I/O yang terhubung ke
rangkaian sensor api bernilai HIGH. Karena terdapat lima kelompok phototransistor,
maka akan ditemukan tiga puluh dua kemungkinan kondisi. Tabel 4.2 menunjukkan
ketigapuluh dua kondisi itu.










Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


50
Tabel 4.2 Logika Pergerakan Robot Berdasarkan Pembacaan Sensor Api
Depan
Depan
kiri
Depan
kanan
Kiri Kanan
Kondisi
C B D A E
Gerakan Robot
1 0 0 0 0 0 Dilarang*
2 0 0 0 0 1 Belok kanan
3 0 0 0 1 0
4 0 0 0 1 1
Belok kiri
5 0 0 1 0 0
6 0 0 1 0 1
7 0 0 1 1 0
8 0 0 1 1 1
Belok kanan
9 0 1 0 0 0
10 0 1 0 0 1
11 0 1 0 1 0
12 0 1 0 1 1
13 0 1 1 0 0
14 0 1 1 0 1
15 0 1 1 1 0
16 0 1 1 1 1
Belok kiri
17 1 0 0 0 0
18 1 0 0 0 1
19 1 0 0 1 0
20 1 0 0 1 1
Maju
21 1 0 1 0 0
22 1 0 1 0 1
23 1 0 1 1 0
24 1 0 1 1 1
Belok kanan
25 1 1 0 0 0
26 1 1 0 0 1
27 1 1 0 1 0
28 1 1 0 1 1
Belok kiri
29 1 1 1 0 0
30 1 1 1 0 1
31 1 1 1 1 0
32 1 1 1 1 1
Maju
* Kondisi nomor satu terlarang karena program akan jump ke bagian penemuan_api
hanya jika api lilin terdeteksi. Sehingga ketika bagian penemuan_api dieksekusi, tidak
mungkin tidak ada api lilin yang terdeteksi.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


51
Ide dasar dari penentuan gerakan robot berdasarkan pembacaan sensor api adalah
bagaimana agar robot dapat bergerak secara efektif berputar kearah api lilin dan maju
mendekatinya dalam garis lurus. Perhatikan Gambar 4.3.


Gambar 4.3 Daerah Pendeteksian Sensor Api
Apabila api lilin yang terdeteksi berada pada daerah A dan B, robot akan
berputar ke kiri hingga api lilin berada di daerah C2. Apabila api lilin berada pada
daerah D dan E, robot akan berputar ke kanan hingga api lilin berada pada daerah C2.
Ketika api lilin berada di daerah C2, robot akan bergerak maju hingga mencapai jarak 4
cm dari lillin.
Apabila terdapat lebih dari satu api lilin, maka lilin yang terlebih dahulu
dipadamkan (berdasarkan prioritas) adalah lilin yang terdapat disebelah depan, depan
kiri, depan kanan, kiri dan yang terakhir kanan. Dari Gambar 4.4 dapat dilihat bahwa
untuk menentukan tindakan apa yang akan dilakukan, mikrokontroler tidak harus
memeriksa pembacaan setiap sensor api.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008


52
Start
Adaapililindi
depan?
Tidak
Ya
Adaapililindi
depankiri?
Tidak
Ya
Adaapililindi
depankanan?
Tidak
Ya
Adaapililindi
kiri?
Tidak
Ya
Adaapililindi
kanan?
Tidak
Ya
Adaapililindi
depankiri?
Tidak
Ya
Adaapililindi
depankanan?
Tidak
Ya
BelokKanan
Adaapililindi
depankanan?
Ya
BelokKiri
BelokKanan
Tidak
Maju
Keduasensor
jarakdepan
mendeteksi
batanglilin?
Tidak
Ya
Berhentidan
nyalakankipas
angin
Apililinmasih
terdeteksi?
Ya
Tidak
Matikankipas
angindan
mundur
beberapacm
Jumpkeawal
Finish

Gambar 4.4 Diagram Alir Bagian penemuan_api
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
BAB V
IMPLEMENTASI DAN PENGUJIAN


V.1. Implementasi
Perancangan robot pemadam api terdiri dari perancangan software dan
perancangan hardware. Software ini ditulis dalam bahasa assembly dan akan ditanamkan
pada mikrokontroler AT89C51. Software yang digunakan sebagai assembler untuk
menghasilkan file HEX dari bahasa assembly yang digunakan adalah 8051 Editor,
Assembler, Simulator (IDE) Evaluation Vertion 1.20 dari AceBus. Untuk menanamkan
file HEX pada mikrokontroler digunakan program EZ-Downloader V4.0 dan AT89C51
Programmer. Hasil implementasi kemudian diuji secara hardware.

Tahap-tahap implementasi adalah sebagai berikut:
1. Meng-instal program 8051 Editor, Assembler, Simulator (IDE) Evaluation
Vertion 1.20 dan EZ-Downloader V4.0. Sistem operasi yang digunakan adalah
Windows 2000 Profesional Service Pack 4.
2. Menulis program dalam bahasa assembly dengan 8051 Editor, Assembler,
Simulator (IDE) dan meng-compile-nya sehingga dihasilkan file HEX.
3. Menenam file HEX ke mikrokontroler AT89C51 dengan menggunakan EZ-
Downloader dan AT89C51 Programmer.
4. Menguji hardware yang telah ditanam program.

Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
54
V.2 Pengujian
Pengujian software dan pengujian hardware dilakukan secara terpisah dan secara
keseluruhan. Pengujian robot secara terpisah terdiri dari pengujian rangkaian motor
dengan rangkaian Duty Cycle Modulation, rangkaian sensor jarak GP2D12 dengan
rangkaian pembandingnya, rangkaian sensor api dengan rangkaian pembandingnya dan
pengujian sistem secara keseluruhan.
V.2.1 Pengujian Rangkaian Sensor Jarak dengan Pembanding Tegangan
Tujuan pengujian sensor jarak dengan rangkaian pembanding adalah agar sensor
jarak dapat mendeteksi benda pada jarak tertentu. Hasilnya dapat diketahui dari menyala
atau padamnya LED indikator. Pengujian sensor jarak dilakukan sebagai berikut:
1. Sensor jarak dihubungkan dengan pembanding tegangan dan
mikrokontroler AT89C51 yang telah ditanam program seperti terdapat
pada lampiran B.
2. Besar tahanan variabel diatur agar sensor dapat mendeteksi benda pada
jarak tertentu.
3. Sebuah benda didekatkan pada sensor jarak GP2D12 hingga LED
indikator menyala. Hasil pengujian menunjukkan bahwa sensor jarak
dapat mendeteksi benda pada jarak 10 80 cm..
4. Setelah diuji, sensor jarak GP2D12 diletakkan pada badan robot dengan
posisi, kemiringan dan kepekaan tertentu.



Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
55
V.2.2 Pengujian Rangkaian Sensor Api dengan Pembanding Tegangan
Tujuan pengujian sensor api dengan rangkaian pembanding adalah agar sensor
dapat mendeteksi keberadaan api lilin pada jarak yang maksimal. Hasilnya dapat
diketahui dari menyala atau padamnya LED indikator. Pengujian sensor api dilakukan
sebagai berikut:
1. Sensor api dihubungkan dengan pembanding tegangan dan
mikrokontroler AT89C51 yang telah ditanam program seperti terdapat
pada lampiran B.
2. Besar tahanan variabel diatur agar sensor dapat mendeteksi api pada jarak
maksimal.
3. Sebuah lilin yang menyala didekatkan pada sensor api hingga LED
indikator menyala. Hasil pengujian menunjukkan bahwa sensor dapat
mendeteksi api lilin pada jarak maksimal 60 cm dengan toleransi 3 cm.
4. Setelah diuji, sensor api diletakkan pada badan robot.

V.2.3 Pengujian Rangkaian Motor dc dengan Rangkaian Duty Cycle
Modulation
Tujuan pengujian rangkaian motor dc dengan rangkaian duty cycle modulation
adalah agar kecepatan dan arah perputaran motor dc dapat dikendalikan. Dalam hal ini
arah perputaran motor dc diatur dengan menghubungkan pin input IC L293D ke ground
atau Vcc, sedangkan kecepatan motor dc diatur dengan mengubah nilai sebuah
hambatan geser pada rangkaian duty cycle modulation. Pengujian menunjukkan bahwa
rangkaian dapat bekerja dengan baik.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
56
V.2.4 Pengujian Robot Pemadam Api
Tujuan pengujian ini adalah untuk menunjukkan bahwa robot pemadam api
dapat bekerja sesuai dengan tujuan pembuatannya. Pengujian dilakukan sebagai berikut
berikut:
1. Robot diletakkan didalam ruangan dengan beberapa benda terdapat
didalamnya. Kemudian robot dijalankan dengan mode lapangan. Tujuannya
adalah untuk mengetahui apakah robot mampu menghindari tabrakan dengan
benda yang terdapat didepannya.
2. Robot diletakkan didalam ruangan kosong, kemudian robot dijalankan
dengan mode ruangan. Tujuannya adalah untuk mengetahui apakah robot
mampu mengitari ruangan dengan mengikuti dinding yang terdapat di
sebelah kirinya.
3. Robot diletakkan didalam ruangan yang berisi sebuah kardus ditengahnya.
Robot didekatkan kepada kardus dan dijalankan dengan mode ruangan.
Tujuannya adalah untuk mengetahui apakah robot mampu mengitari kardus
dengan baik.
4. Robot diletakkan pada sebuah ruangan yang berisi beberapa benda dan lilin.
Kemudian robot dijalankan dengan mode ruangan. Tujuannya adalah untuk
mengetahui apakah robot mampu memadamkan api lilin.
Hasil yang dicapai dari pengujian ini adalah sebagai berikut:
1. Robot bergerak maju dan mampu menghindari tabrakan dengan benda yang
terdapat didepannya.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
57
2. Robot mampu mengitari ruangan dengan mengikuti dinding yang terdapat
disebelah kirinya. Tetapi robot bergerak secara zig-zag sehingga
perpindahannya lambat.
3. Robot mampu mengitari kardus yang terdapat ditengah ruangan. Tetapi
dengan gerakan zig-zag.
4. Robot belum mampu memadamkan api lilin yang berhasil dideteksinya
dengan baik karena masih terdapat kekurangan dari sisi perangkat keras dan
perangkat lunak.


Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008

58
BAB VI
KESIMPULAN DAN SARAN


VI.1. Kesimpulan
Dari perancangan dan pengujian robot pemadam api dapat diambil beberapa
kesimpulan sebagai berikut:
1. Rangkaian schmitt trigger pada pada Op-Amp untuk sensor jarak dapat
menstabilkan keluarannya.
2. Penggunaan roda gigi pada motor dc memberi keuntungan yaitu memperbesar
torsi, memperlambat putaran roda, mempercepat proses pengereman.
3. Robot pemadam api belum bekerja dengan baik dalam mencari dan
memadamkan api lilin yang terdapat disekitarnya karena terdapat kekurangan
dari perangkat keras dan perangkat lunaknya.

VI.2. Saran
1. Penggunaan sensor api yang lebih peka akan mempercepat proses penemuan api
dan meningkatkan kinerja robot.
2. Pemadaman api akan menjadi lebih cepat apabila robot menggunakan air atau
gas CO
2
.
3. Robot akan bekerja lebih efektif dalam menjelajah ruangan apabila dapat beralih
dari mode rangan ke mode lapangan secara otomatis.
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008



59
DAFTAR PUSTAKA


1. Mc Comb, Gordon, The Robot Builders Bonaza (second edition), McGraw-
Hill, 2001.
2. Siegward, Roland and Nourbakhsh, Illah R., Introduction to Automous Mobile
Robots, The MIT Press, 2004.
3. Catsoulis, Jhon, Designing Embedded Hardware, O'Reilly, 2002.
4. Mazidi, Muhammad Ali and Mazidi, Janice Gillispie, The 8051 Microcontroller
and Embedded Systems, Prentice Hall, 2000.
5. Budiharto, Widodo, Panduan Lengkap Belajar Mikrokontroler dan Aplikasi
Mikrokontroler, PT Elex Media Komputindo, 2005
6. AT89C51 Datasheet, Atmel Corporation, 2000.


Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
LAMPIRAN A
Rangkaian Robot Pemadam Api Phoenix

8 1
4 5
5V
C1
0,1uF
C2
0,01uF
C3
0,1uF
R210kOhm
R1
100kOhm
D1
D2
16 1
9 8
9V
5V
14 1
7 8
5V
10k
Ohm
5v
10k
Ohm
10k
Ohm
10k
Ohm
Photo
TransistorA1
ATMEL
AT89C51
40
30
20
1
10
21
10uF
10k
Ohm
5V
5V
33pF
33pF
12MHz
P0
P1
P3
P2
8
32
28
17
10kOhm
S
39
14 1
7 8
20kOhm
5V
C D E1
5V
PN2222A
10k
Ohm
B
10k
Ohm
A2
10k
Ohm
A3
10k
Ohm
E2
10k
Ohm
E3
470Ohm
14 1
7 8
5V
14 1
7 8
20k
Ohm
5V
5V
10kOhm
Vo
GND
Vcc
Vo
GND
Vcc
Vo
GND
Vcc
Vo
GND
Vcc
5V
GP2D12
GP2D12
GP2D12
GP2D12
A
B
C
D
20kOhm
5V
Motor
Kiri
Motor
Kanan
Kipas
Angin
1,5 k Ohm
100kOhm
1MOhm

Gambar 3.23 Rangkaian Robot Pemadam Api
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
LAMPIRAN B
Source Code

Robot Pemadam Api Phoenix.A51

org 0h
jmp mulai

org 30h
mulai: mov p0, #00000000b ; p0.0 - p0.4 untuk sensor api
mov p1, #00001111b ; p1.0 - p1.3 untuk sensor jarak
mov p2, #00000000b ; robot diam, kipas mati

awal: mov p3, #11111111b ; matikan LED status
setb p1.5 ; matikan LED status
jb p1.0,cek11 ; jika tidak ada benda di kiri, cek apakah ada benda di depan kiri
clr p3.5 ; jika ada benda dikiri, nyalakan LED status
cek11: jb p1.1,cek12 ; jika tidak ada benda di depam kiri, cek apakah ada benda di depan kanan
clr p3.6 ; jika ada benda di depan kiri, nyalakan LED status
cek12: jb p1.2,cek13 ; jika tidak ada benda di depam kanan, cek apakah ada benda di kanan
clr p3.7 ; jika ada benda di depan kanan, nyalakan LED status
cek13: jb p1.3,cek00 ; jika tidak ada benda di kanan, cek apakah ada api di kiri
clr p1.5 ; jika ada benda di kanan, nyalakan LED status

cek00: jnb p0.0, cek01 ; jika tidak ada api di kiri, cek apakah ada api di depan kiri
clr p3.0 ; jika ada api di kiri, nyalakan LED status
cek01: jnb p0.1, cek02 ; jika tidak ada api di depan kiri, cek apakah ada api di depan
clr p3.1 ; jika ada api di depan kiri, nyalakan LED status
cek02: jnb p0.2, cek03 ; jika tidak ada api di depan, cek apakah ada api di depan kanan
clr p3.2 ; jika ada api di depan, nyalakan LED status
cek03: jnb p0.3, cek04 ; jika tidak ada api di depan kanan, cek apakah ada api di kanan
clr p3.3 ; jika ada api di depan kanan, nyalakan LED status
cek04: jnb p0.4, terus ; jika tidak ada api di kanan, jump ke terus
clr p3.4 ; jika ada api di kanan, nyalakan LED status

terus: jnb p1.1, jelajah ; kalau didepan ada benda yang terdeteksi robot, jump ke mode jelajah
jnb p1.2, jelajah
jb p0.0, penemuan_api ; jika tidak ada benda didepan robot tetapi ada api yang terdetaksi, jump ke penemuan_api
jb p0.1, penemuan_api
jb p0.2, penemuan_api
jb p0.3, penemuan_api
jb p0.4, penemuan_api

;-------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Catatan : Angka-angka dalam kurung pada bagian ini mengacu pada Tabel 4.1 Halaman 38

jelajah: jnb p1.1, cek ; jump jika ada benda di depan kiri (yg lolos 9-16)
jnb p1.2, belki ; jump jika ada benda di depan kanan (9-12, yg lolos 13-16)
jnb p1.0, maju ; (13&14)
; menentukan mode ruangan atau mode lapangan (15,16)
jb p1.4, belki ; 0 = mode lapangan, 1 = mode dalam ruangan (15&16 mode ruangan)
jmp maju ; (15&16 mode lapangan)

; (1-8)
cek: jnb p1.2,cek2 ; jump jika juga ada benda di depan kanan (yang lolos 5-8)
jmp belka ; (5-8)

; (1-4)
cek2: jnb p1.3, cek3 ; jump bila ada benda dikanan (yang lolos 2&4)
jmp belka ; (2&4)

; (1&3)
cek3: jnb p1.0, balikarah ; jump jika juga ada benda di kiri (1)
jmp belki ; (3)

;-------------------------------------------------------------------------------------------------------------------------------------------------------------------
;Catatan : Angka-angka dalam kurung pada bagian ini mengacu pada Tabel 4.3 Halaman 42

penemuan_api: jb p0.2, uji ; ada api di depan robot (17-32), yang lolos (0-16)
jb p0.1, belki ; jika ada lilin di depan kiri, belok kiri (9-16), yang lolos (1-8)
jb p0.3, belka ; jika ada lilin dikanan, belok kanan (5-8), yang lolos (1-4)
jb p0.0, belki ; (3&4), yang lolos (1&2)
jb p0.4, belka ; jika belakang kanan ada lilin, belok kanan (2)
jmp awal


Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
; (17-32)
uji: jb p0.1, uji1 ; (25-32), yang lolos (17-24)
jb p0.3, belka ; jika ada lilin dikanan, belok kanan (21-24)
jmp maju1 ; jika ada lilin didepan robot, maju (17-20)

; (25-32)
uji1: jb p0.3, maju1 ; jika ada benda didepan robot, maju (28-32)
jmp belki ; jika ada lilin di depan kiri, belok kiri (25-28)

maju1: mov p2,#00001010b ; maju
acall tunda
jnb p1.2, uji2 ; jika IR sensor depan mendeteksi bahwa lilin sudah dekat, maka lilin siap dimatikan
jmp dekati
uji2: jnb p1.1, padamkan
jmp dekati

padamkan: mov p2,#00010000b ; berhenti dan nyalakan kipas angin
acall tunda1
acall tunda1
acall tunda1
jb p0.2, padamkan
clrb p2.4 ; matikan kipas angin
mov p2,#00000101b ; mundur
acall tunda
acall tunda
jmp awal

dekati: jnb p1.1, belki1 ; jika lilin sudah dihadapan, dekati hingga posisinya tepat untuk dipadamkan
jnb p1.2, belka1
jmp maju1

;-------------------------------------------------------------------------------------------------------------------------------------------------------------------

maju: mov p2,#00001010b ; maju
acall tunda
jmp awal

belki: mov p2,#00001001b ; belok kiri
acall tunda
jmp awal

belka: mov p2,#00000110b ; belok kanan
acall tunda
mp awal

balikarah: mov p2,#00000110b ; terus belok kanan hingga tidak ada benda di depan, dapan kiri dan depan kanan
jb p1.1, balikarah
jb p1.2, balikarah
jmp awal

belki1: mov p2,#00001001b ; belok kiri
acall tunda
jmp maju1

belka1: mov p2,#00000110b ; belok kanan
acall tunda
jmp maju1

tunda: mov r6,#1fh
td: mov R7,#0ffh
djnz r7,$
djnz r6,td
ret

tunda1: mov r5,#05h
td2: mov r6,#0ffh
td1: mov r7,#0ffh
djnz r7,$
djnz r6,td1
djnz r5,td2
ret

end



Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
LAMPIRAN C
Gambar Fisik Phoenix

Sensor Api
Kipas Angin
Sensor nfra
Merah
Sensor nfra
Merah
15 cm
15 cm
21,5 cm

Depan

K
ip
a
s

a
n
g
i
n

Samping
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008
Roda Belakang
Roda Depan
B C
12 cm
15 cm
15 cm
A D

Atas
Raymond T.Simanjuntak : Perancangan Robot Pemadam Api Berbasis Mikrokontrolera T89C51, 2008
USU e-Repository 2008