TUGAS AKHIR
Oleh
RESI PERMANA FIDIANTO
NPM. 0534010170
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL "VETERAN" JATIM
S U R A B A Y A
Dosen Pembimbing I : Basuki Rahmat, S.Si, MT Dosen Pembimbing II : Fetty Tri Anggraeny, S.Kom
Abstraksi
Robot pengikut cahaya yang beberbasis mikrokontroler AT89S52 merupakan suatu bentuk robot bergerak yang sudah terprogram dari otaknya dan telah ditentukan untuk robot mengikuti cahaya senter. Dalam perancangan dan implementasinya robot pengikut cahaya banyak mengalami berbagai masalah-masalah dan yang harus dipecahkan adalah system penglihatan robot biasa disebut sensor, arsitektur perangkat keras yang meliputi perangkat elektronik yang akan dibahas serta memperkenalkan komponen pembantu lainnya dalam makalah ini.
Tujuan di dalam membuat robot pengikut cahaya selain untuk menyelesaikan tugas akhir ini adalah rasa tertarik untuk mengetahui perkembangan hardware pada saat ini diantaranya bentuk – bentuk IC untuk robot yang memakai mikrokontroler AT89S52 sebagai komponen utama pada robot, untuk driver motor menggunakan tansistor, untuk sensor menggunakan LDR (Light Dependent Resistor) serta IC LM358 untuk penguat sensor, komponen lainnya yang akan dijelaskan dalam makalah ini pada pembuatan Robot Pengikut Cahaya dengan menggunakan mikrokontroler AT89S52 dan sensor LDR (Light Dependent Resistor) yang cara kerjanya adalah dengan cara menyorotkan cahaya senter ke sensor robot, maka robot tersebut akan bergerak mengikuti atau mendekati cahaya dari senter.
Kata Kunci : Robot, Mikrokontroler AT89S52, Sensor LDR
Dengan mengucapkan puji syukur kehadirat Allah swt atas rahmat serta
hidayahnya yang diberikan sehingga dapat menyelesaikan Tugas Akhir ini dengan
baik dan tepat waktu dimana hasilnya disusun dengan bentuk laporan yang
berjudul Robot Pengikut Cahaya (Light Follower).
Adapun laporan ini disusun yaitu untuk memenuhi syarat mengikuti
seminar TA serta untuk memenuhi syarat kelulusan salah satu mata kuliah “Tugas
Akhir” di Universitas Pembangunan Nasioanal “Veteran” Jawa Timur.
Penulis menyadari bahwa manusia yang serba kurang sempurna, maka di
dalam upaya menyusun Tugas Akhir ini penulis telah banyak memperoleh
bantuan dan bimbingan dari berbagai pihak, mengingat keterbatasan pengalaman
yang dimiliki oleh penulis, sehingga penulis sangat mengharapkan segala kritik
dan saran yang kontruktif dan membangun demi kebaikan maupun sistematika
penulisan akan selalu penulis terima dengan senang hati guna kesempurnaan
Tugas Akhir ini. Harapan penulis mudah – mudahan apa yang penulis lakukan ini
dapat menjadi sumbangan pemikiran dan berguna bagi semuanya, terutama
Universitas Pembangunan Nasional “Veteran” Jawa Timur.
Surabaya, 26 Mei 2010
Penulis
Dalam pembuat laporan ini, penulis telah mendapatkan bantuan dan
bimbingan dari berbagai pihak yang terkait, baik secara moril maupun materiil
oleh karena itu pada kesempatan kali ini penulis ingin menyampaikan ucapan
terima kasih kepada:
1. Bapak Ir. Sutiyono, MT selaku Dekan Fakultas Teknologi Industri.
2. Bapak Basuki Rahmat, S.Si, MT, selaku Kepala Jurusan Teknik
Informatika Universitas Pembangunan Nasional ”Veteran” Jawa
Timur dan sekaligus sebagai Dosen Pembimbing I yang telah
memberikan bimbingan dan petunjuk selama menyusun Tugas Akhir
ini.
3. Ibu Fetty Tri Anggraeny, S.Kom, yang juga sebagai Dosen
Pembimbing II yang telah meluangkan waktu dan memberikan
bimbingan serta petunjuk selama menyusun Tugas Akhir ini.
4. Para Dosen Penguji : Bapak Nur Cahyo Wibowo, S.Kom, M.Kom
dan Ibu Fetty Tri Anggraeny, S.Kom yang telah membuka wawasan
baru bagi penulis.
5. Kedua Orang Tua tercinta, keluarga, serta teman - teman yang telah
memberikan doa dan semangat kepada penulis.
Semoga kebaikan dan keikhlasan bagi semua pihak yang telah membantu
terwujudnya Tugas Akhir ini dapat dibalas oleh Allah SWT.
BAB I PENDAHULUAN 1.1 Latar Belakang ... 1
BAB II TINJAUAN PUSTAKA 2.1 Sensor LDR………... 6
2.2 Mikrokontroller AT89S52... 8
2.2.1 Konfigurasi Pin... 11
2.2.2 Dasar Mikrokontroler………. 15
2.7 Bascom-8501 Sebagai Compiler Basic... 26
2.7.1 Karakter Dalam Bascom... 27
2.7.7 Operasi-operasi dalam Bascom... 32
2.7.8 Kontrol Program... 33
BAB III PERANCANGAN 3.1 Perancangan Robot……….. 38
3.2 Flowchart... 39
3.4 Kebutuhan Perancangan Robot... 41
3.5 Cara Merancang Robot... 41
3.6 Analisa Perancangan Motor DC………... 42
3.7 Rancangan dan Analisis Robot..………...……… 43
3.8.4 Port Comunication... 46
3.8.5 Mikrokontroler AT89S52... 46
3.8.6 Driver Motor... 46
BAB IV IMPLEMENTASI 4.1 Kebutuhan Sistem... 47
5.2.1 Pengujian Mikrokontroler AT89S52... 55
5.2.2 Pengujian Sensor LDR (Light Dependent Resistor)... 55
5.2.3 Pengujian Rangkaian Driver Motor... 56
5.2.4 Pengujian Alat Secara Keseluruhan... 57
5.3 Pengujian Robot Pengikut Cahaya... 57
5.3.1 Pengujian di Dalam Ruangan Terang……… 59
5.3.2 Pengujian di Dalam Ruangan Gelap………. 62
5.3.3 Pengujian Dengan Dua Senter……….. 67
BAB VI KESIMPULAN DAN SARAN 6.1 Kesimpulan ... 68
6.2 Saran ... 68
DAFTAR PUSTAKA ... 69
2.1 Sensor Cahaya LDR………... 7
2.2 Rangkaian Sensor Cahaya... 7
2.3 Blok Diagram Mikrokontroler..………... 10
2.4 Konfigurasi Pin... 11
2.5 256 byte RAM Internal Bagian Bawah (Lower)……….. 18
2.6 256 byte RAM Bagian Atas ..………... 19
2.7 Bit Latch dan I/O Buffer... 21
2.8 Dasar Pengaturan Arah Putar Motor... 22
2.9 Pengaturan Arah Dengan Menggunakan Saklar....………... 23
2.10 IC LM 358...………... 23
2.11 Internal Blok Diagram IC LM 358...………... 24
2.12 Simbol Transistor NPN dan PNP ...………... 25
2.13 Pendeklarasian Variabel dalam Bascom... 29
3.1 Flowchart Robot ………... 39
3.2 Blok Diagram Hardware Robot………. ... 40
3.3 Rancangan Motor Saat Maju ke Depan .………... 43
3.4 Motor Saat Berputer Ke kanan ...………... 44
3.5 Rancangan Komponen Pada PCB... 45
4.1 Pembuatan Program pada Bascom-8501………... 48
4.2 Check Program………... 49
4.3 Error Program...………... 50
4.4 Compile Program.………... 51
4.5 Send To Chip... 52
5.1 Pengujian Rangkaian Sensor... 56
5.2 Robot Saat Mencari Cahaya... 58
5.3 Robot Mendekati Cahaya... 58
5.4 Robot Bekerja Dengan Jarak ± 5 - 10 Cm... 59
5.5 Robot Bekerja Dengan Jarak ± 20 - 30 Cm …... 60
5.6 Robot Bekerja Dengan Jarak ± 40 - 45 Cm... 61
5.9 Robot Bekerja Dengan Jarak ± 50 – 60 Cm... 65 5.10 Robot Bekerja Dengan Jarak ± 70 – 80 Cm... 66 5.11 Cara Kerja Robot Dengan 2 Senter... 67
viii
2.1 Fungsi Alternatif Port 1... 12
2.2 Fungsi Alternatif Port 3... 13
2.3 Deskripsi Pin-pin LM 358... 24
2.4 Karakter dalam Bascom-8501... 27
2.5 Tipe Data... 28
2.6 Operator Relasi... 32
3.1 Rancangan Rangkaian Driver Motor……... 42
5.1 Hasil Pengujian Rangkaian Sensor... 56
5.2 Pengujian Robot di Ruang Terang... 59
BAB I PENDAHULUAN
1.1 Latar Belakang
Di lingkungan industri sangat mengutamakan faktor keselamatan terutama
pada proses produksi yang menggunakan bahan – bahan yang berbahaya bagi
manusia. Di samping itu proses produksi juga membutuhkan ketelitian yang tinggi
dan mempunyai alur kerja yang rumit. Untuk mencapai keuntungan yang diinginkan
sebuah industri harus dapat menyelesaikan produksi dengan waktu yang singkat agar
dapat meminimalisasikan biaya dan juga dapat memenuhi target dari para konsumen.
Agar proses produksi dapat berjalan dengan lancar, maka banyak dari
lingkungan industri yang memakai bantuan robot otomatis yang dapat memudahkan
para pekerja di dalam melakukan pekerjaanya. Jika ditangani langsung oleh manusia
sering mengakibatkan kesalahan atau kecelakaan pada kerja. Karena faktor – faktor
seperti halnya tidak bisa berkonsentrasi, kelelahan itu dapat merugikan bagi industri
tersebut.
Dengan adanya robot cerdas, kemungkinan hal – hal yang dapat merugikan
industri bisa tidak terjadi. Upaya untuk meningkatkan kerja saat ini, maka
dikembangkan suatu robot yang dapat berjalan di tempat yang gelap sekalipun
dengan bantuan satu titik cahaya yang akan disorotkan ke sensor. Dengan adanya
robot ini maka tujuan dari sebuah industri untuk dapat meminimalisasikan biaya dan
1.2 Rumusan Masalah
Berdasarkan latar belakang diatas, maka dapat diambil rumusan masalah
sebagai berikut :
” Bagaimana membuat atau merangkai sebuah robot yang dapat berjalan di
tempat gelap dengan bantuan cahaya. ”
1.3 Batasan Masalah
Batasan - batasan masalah yang diberikan sesuai dengan permasalahan yang
telah diterangkan diatas, antara lain:
a. Robot ini menggunakan mikrokontroler AT89S52.
b. Jarak sumber cahaya ke sensor ± ½ (setengah) meter.
c. Robot ini menggunakan sensor LDR (Light Dependent Resistor) dalam mencari
satu titik cahaya.
d. Cahaya yang disorotkan ke robot ialah cahaya senter yang nantinya sebagai
masukan untuk sensor.
e. Penyorotan cahaya senter harus lurus dan tepat pada sensor.
1.4 Tujuan
Tujuan yang ingin dicapai dalam Tugas Akhir ini adalah :
a. Merancang robot yang mampu berjalan di tempat gelap dengan bantuan satu titik
cahaya senter.
1.5 Manfaat
Adapun manfaat yang dapat diambil dari pembuatan robot dengan
menggunakan sensor cahaya ini adalah:
Robot dapat di desain untuk membantu melakukan pekerjaan yang sulit
dilakukan oleh manusia. Seperti, dapat digunakan untuk mengirim barang dari satu
tempat ke tempat lain dalam keadaan minim cahaya, dengan bantuan sorotan cahaya
sebagai pengontrol arah robot.
1.6 Metodologi Penelitian
Metodologi yang digunakan dalam penelitian ini adalah sebagai berikut :
a. Studi literatur mengenai pengendalian Motor DC serta penggunaan
Mikrokontroller AT89S52.
b. Merancang serta menguji rangkaian penggerak motor DC yang merupakan
aktuator robot.
c. Merancang serta menguji sistem minimal Mikrokontroller AT89S52 sebagai
pengendali sistem secara keseluruhan.
d. Merancang perangkat lunak yang berfungsi untuk membangkitkan dan
mengendalikan gerakan robot secara keseluruhan.
e. Menguji kinerja sistem secara keseluruhan serta mengambil data dari hasil
perancangan.
1.7 Sistematika Penulisan
Penulisan yang digunakan dalam laporan Tugas Akhir ini adalah sebagai
berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang permasalahan, perumusan masalah,
batasan masalah, tujuan, manfaat dan sistematika penulisan laporan
tugas akhir.
BAB II TINJAUAN PUSTAKA
Pada bab ini akan dijelaskan tentang teori-teori serta
penjelasan-penjelasan yang dibutuhkan dalam pembuatan robot pengikut cahaya
(light follower).
BAB III PERANCANGAN
Bab ini berisi tentang analisa dan perancangan sistem dalam
pembuatan Tugas Akhir robot pengikut cahaya (light follwer) dengan
menggunakan sensor.
BAB IV IMPLEMENTASI
Bab ini berisi penjelasan hasil Tugas Akhir serta pembahasan suorce
code dari robot pengikut cahaya (light follwer).
BAB V PENGUJIAN DAN ANALISA
BAB VI KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran untuk proses pengembangan
selanjutnya.
DAFTAR PUSTAKA
Bab ini berisi tentang literatur sebagai teori pendukung pembahasan
BAB II
TINJAUAN PUSTAKA
2.1 Sensor LDR
Sensor LDR (Light Dependent Resistor) adalah sensor cahaya yang berfungsi
untuk mendeteksi cahaya yang ada di sekitar kita. Sensor ini akan berubah nilai
hambatannya apabila ada perubahan tingkat kecerahan cahaya. LDR (Light
Dependent Resistor) mempunyai hambatan yang bervariasi dengan jumlah cahaya
yang jatuh di atasnya. Perlawanan menjadi lebih rendah sebagai cahaya yang jatuh
pada LDR meningkat. Bentuk sensor LDR dapat dilihat pada Gambar 2.1 dan untuk rangkaiannya dapt dilihat pada Gambar 2.2.
Resistansi LDR berubah seiring dengan perubahan intensitas cahaya yang
mengenainya. Dalam keadaan gelap resistansi LDR sekitar 10MΩ dan dalam keadaan
terang sebesar 1KΩ atau kurang. LDR terbuat dari bahan semikonduktor seperti
kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih
banyak muatan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan
telah mengalami penurunan.
Prinsip inilah yang akan kita gunakan untuk mengaktifkan transistor untuk
dapat menggerakkan motor DC (mirip dengan dinamo pada mainan mobil-mobilan
anak-anak). Perubahan nilai hambatan pada LDR tersebut akan menyebabkan
perubahan beda tegangan pada input basis transistor, sehingga akan
Gambar2.1 Sensor Cahaya LDR
Gambar 2.1 diatas merupakan bentuk dari sensor LDR (Light Dependent Resistor) yang berfungsi sebagai penerima cahaya. Sedangkan pada pada Gambar 2.2 dibawah ini merupakan rangkaian pada saat sensor bekerja.
2.2 Mikrokontroler AT89S52
Mikrokontroler adalah salah satu dari bagian dasar dari suatu sistem
komputer. Meskipun mempunyai bentuk yang jauh lebih kecil dari suatu komputer
pribadi dan komputer mainframe, mikrokontroler dibangun dari elemen-elemen dasar
yang sama. Secara sederhana, komputer akan menghasilkan output spesifik
berdasarkan inputan yang diterima dan program yang dikerjakan. Seperti umumnya
komputer, mikrokontroler adalah alat yang mengerjakan instruksi-instruksi yang
diberikan kepadanya. Artinya, bagian terpenting dan utama dari suatu sistem
terkomputerisasi adalah program itu sendiri yang dibuat oleh seorang programmer.
Program ini menginstruksikan komputer untuk melakukan jalinan yang panjang dari
aksi-aksi sederhana untuk melakukan tugas yang lebih kompleks yang diinginkan
oleh programmer.
Mikrokontroller yang digunakan didalam proyek akhir ini adalah AT89S52
dari ATMEL yang merupakan keluarga MCS 51 yang banyak berada di pasaran.
Mikrokontroller ini merupakan mikrokontroller 8 bit yang merupakan single chip
microcontroller, dimana semua rangkaian termasuk memori dan I/O tergabung dalam
satu pak IC ( diambil dari pustaka no.1 ).
Mikrokontroller AT89S51 memiliki fasilitas antara lain:
a. 4K Bytes In-System Programmable (ISP) Flash Memori
b. Range operasi 4.0V ke 5.5V.
c. Operasi Secara penuh Statis: 0 Hz ke 33 MHZ.
d. Tiga Level Program Memori Lock.
f. 32 jalur I/O Programmable.
g. Dua 16-bit Timer/Counters.
h. Enam Sumber Interrupt.
i. UART Full Duplex Saluran Serial.
j. Low-Power Idle dan Power-Down Modes.
k. Interrupt Recovery dari Power-Down Modes.
l. Tahan hapus isi sampai 1000 kali
AT89S52 adalah 8 bit CMOS mikrokomputer yang dilengkapi dengan 4 Kb
Flash Memory, yang bekerja pada tegangan rendah dengan kemampuan tinggi.
IC ini diproduksi oleh Atmel dengan teknologi kepadatan tinggi (high
density), dengan non-valatile memori yang dapat diisi dengan program yang
intruksinya kompatibel dengan keluarga MCS-51.
Mengombinasikan CPU 8 bit serbaguna dengan Flash Memory pada sebuah
chip monolitik, Atmel 89S51 adalah sebuah mikrokomputer handal yang
menghasilkan banyak aplikasi kontrol menjadi lebih fleksibel dan berbiaya rendah.
AT89S52 menyediakan fitur standar: 4 Kb FlashMemory, 256 Byte RAM, 32
jalur I/O yang full duplex (dapat mengirim dan menerima secara bersamaan),
komparator tegangan analog yang presisi, oscilator, dan generator clock yang On
Chip (sudah tersedia di dalam chip).
Dengan tambahan AT89S52 yang didesain secara Static-Logic untuk
beroperasi hingga ke frekuensi nol dan mendukung dua software penghemat daya
Idle Mode (mode dimana sistem tidak sedang bekerja) akan menghentikan
CPU, namun RAM, timer/counter, serial port dan interupsi tetap dibiarkan
berfungsi. Power Down Mode menyimpan isi RAM, namun menghentikan oscilator
dan menonaktifkan seluruh fungsi chip sampai sistem direset secara hardware
(berikut blok diagram mikrokontroler pada Gambar 2.3).
2.2.1 Konfigurasi Pin
Berikut akan dijelaskan tentang konfigurasi pin dari mikrokontroler AT89S52.
Gambar 2.4 Konfigurasi Pin Berikut adalah penjelasan dari konfigurasi pin di atas:
a. VCC
Tegangan sumber
b. GND
c. Port 0
Sebuah port 8-bit yang dapat dipakai untuk akses I/O 2 arah, sebagai port
output tiap pinnya dapat menurunkan delapan TTL input dan pin-pinnya dapat
digunakan untuk inputan dengan impedansi tinggi
d. Port 1
Port 8-bit yang dapat dipakai untuk akses 2 arah I/O, buffer output port 1
dapat menurunkan empat TTL input. Jika 1s dituliskan maka dapat dinaikkan internal
pull-upsnya dan dapat dipakai sebagai inputan. Sebagai inputan, port 1 akan secara
eksternal menurunkan arus sumber dikarenakan ada internal pull-ups.
Tabel 2.1 Fungsi Alternatif Port 1
Port Fungsi alternatif
P1.5 MOSI (digunakan untuk ISP)
P1.6 MISO (digunakan untuk ISP)
P1.7 SCK (digunakan untuk ISP)
e. Port 2
Sama dengan port 1, port 2 dapat mengeluarkan pengalamatan byte sampai
high-order selama akses pengalamatan dari eksternal program memori dan akses ke
eksternal data memori yang panjang serta menggunakan alamat 16-bit (MOVX
@DPTR). Pada akses ke eksternal data memori yang menggunakan alamat 8-bit
f. Port 3
Adalah sebuah port yang dapat dipakai sebagai input atau outputan dengan
internal pull-ups. Dapat menurunkan empat TTL input, sebagai input pin pada port 3
akan dapat secara eksternal diturunkan oleh arus sumber atau sebagai peredam sinyal
yang disebabkan oleh pull-ups.
Port 3 menerima beberapa sinyal kontrol untuk pemrograman dan verifikasi.
Juga dapat melayani fungsi dari macam-macam fitur spesial dari AT89S51 seperti
yang ditunjukkan pada tabel.
Tabel 2.2 Fungsi Alternatif Port 3
Port Pin Fungsi Alternatif P3.0 RXD (serial input port)
P3.1 TXD (serial output port)
P3.2 INT0 (eksternal interrupt 0)
P3.3 INT1 (eksternal interrupt 1)
P3.4 T0 (timer 0 eksternal input)
P3.5 T1 (timer 1 eksternal input)
P3.6 WR (eksternal data memori write strobe)
P3.7 RD (eksternal data memori read strobe)
g. RST
Reset input. Pin membutuhkan keadaan high untuk 2 siklus mesin sampai
oscilator mengerjakan reset pada alat. Sesudah Watchdog timer, pin membutuhkan
8EH) dapat digunakan untuk menonaktifkan reset. Dalam kondisi default state bit
DISRTO, reset akan berada dalam keadaan high jika telah diaktifkan.
h. ALE/PROG
Address Latch Enable adalah pulsa output untuk mengunci low byte pada
alamat selama akses ke eksternal memori. Pin ini juga berfungsi sebagai inputan
pulsa program selama Flash Programming. Dalam operasi normal ALE dikeluarkan
secara konstan pada 1/6 frekwensi oscilator dan dimungkinkan digunakan untuk
pewaktuan sacara eksternal atau dengan tujuan pewaktuan. Bagaimanapun bahwa
satu dari pulsa ALE akan diloncati selama tiap akses ke eksternal data memori.
Operasi pada ALE dapat dinonaktifkan dengan menyetting bit 0 pada SFR dengan
alamat 8EH. Dengan penyettingan bit, ALE hanya akan aktif selama perintah
MOVX atau MOVC. Dengan cara lain pin dengan bit rendah akan di pull-high.
Penonaktifan setting bit pada ALE tidak akan ada hasilnya jika dieksekusi secara
eksternal mode pada mikrokontroller.
i. PSEN
Program Store Enable berfungsi untuk membaca strobe yang menuju memori
eksternal program. Jika chip AT89S51 melakukan eksekusi kode dari eksternal
program memori, PSEN hanya dapat aktif dua kali tiap siklus mesin, kecuali
pengaktifa 2 PSEN dilompati selama tiap akses ke eksternal data memori.
j. EA/VPP
External Access Enable harus terhubung ke GND untuk mengaktifkan
yang dimulai dari 0000H sampai FFFFH. Bagaimanapun bila bit 1 telah dikunci
lewat program, EA akan secara internal terhubung ke reset. EA seharusnya
tersambung juga ke VCC untuk mengeksekusi internal program. Pin ini juga
menerima tegangan 12 volt untuk program pengaktifan tegangan (VPP) selama Flash
Programming.
k. XTAL1
Yaitu inputan oscilator pembalik dan inputan ke pengoperasian clock internal
pada sirkuit.
l. XTAL2
Outputan dari oscilator pembalik.
m. SFR
Sebuah peta pada chip memori area
2.2.2 Dasar Mikrokontroler
Sebuah mikrokontroler memiliki beberapa perlengkapan dasar, antara lain
adalah CPU, Alamat, Data, Pengendali, Memori, RAM, ROM, Input/ Output.
a. Central Processing Unit (CPU)
Unit pengelola pusat (CPU) terdiri atas dua bagian yaiu unit pengendali (CU)
serta unit aritmatika dan logika (ALU). Fungsi utama unit pengendali adalah untuk
mengambil, mengkode, dan melaksanakan urutan instruksi pada sebuah program
yang tersimpan dalam memori. Sedangkan unit aritmatika atau perhitungan bertugas
b. Alamat
Sistem berbasis mikroprosesor atau mikrokontroler pada umumnya
mempunyai lebih dari satu device / peripheral seperti memori, input output, Analog to
Digital Converter (ADC), dan lain-lain. Masing-masing device ini perlu diberi
alamat, sama seperti rumah kita yang mempunyai alamat unik untuk tiap-tiap rumah.
Bayangkan apa yang terjadi kalau rumah-rumah itu tidak diberi alamat, pasti kita
akan kebingungan untuk menuju ke rumah tertentu. Demikian pula dengan
mikrokontroler, supaya dapat mengakses suatu device maka mikrokontroler tersebut
harus mengetahui alamat device yang akan diakses. Address decoder akan
memberikan alamat untuk tiap device.
c. Data
CPU mikrokontroler AT89S52 mempunyai lebar bus 8 bit. Pena data 8 bit
pada AT89S52 (D0, …..D7) ini terletak didalam chip karena jumlah pena luar pada
mikrokontroler terbatas. Pena untuk bus data di multipleks dengan alamat A0, …..A7
pada port 0, sehingga sering juga disebut AD0, …..AD7.
d. Pengendali
Selain bus alamat dan bus data mikroprosesor atau mikrokontroler dilengkapi
juga dengan bus pengendali (control bus), yang fungsinya untuk menyerempakkan
operasi mikroprosesor atau mikrokontroler dengan operasi rangkaian luar. Contoh
pena pengendali ini antara lain ALE, PSEN, WR, RD, interupsi dan lain-lain.
e. Memori
“Kecanggihan” sebuah komputer atau kontroller ditentukan oleh program
dan stack. Program adalah kumpulan instruksi untuk mengerjakan suatu pekerjaan. Data adalah variabel-variabel yang dapat di ubah saat program berjalan. Stack digunakan untuk menyimpan alamat kembali (return address) dan juga dapat dipakai
untuk menyimpan data. Umumnya didalam mikrokontroller tersedia 2 jenis memori
yaitu ROM dan RAM (Read Only Memory) bersifat hanya dibaca dan isinya tidak
hilang bila catu daya dimatikan, digunakan untuk menyimpan program. Sedangkan
RAM (Random-Access Memory) bersifat bisa dibaca dan ditulis tetapi isinya bisa
hilang bila catu daya dimatikan, digunakan untuk menyimpan data stack. Dengan
berkembangannya teknologi batas antara ROM dan RAM kini agak kabur. ROM
sekarang bisa ditulisi untuk tipe flash atau EEROM. RAM sekarang juga tidak
kehilangaan isinya saat catu daya dimatikan yaitu pada tipe NVRAM (Non-Volatile
RAM).
Memori di dalam Mikrokontroller berukuran terbatas. Untuk itu dan harus tahu
persis berapa kebutuhan memori yang digunakan. Kekurangan memori menyebabkan
program anda tidak berjalan dengan benar, terlalu banyak memori yang tidak dipakai
juga menyebabkan cost yang sia-sia.
f. RAM
RAM (Random Access Memory) pada mikrokomputer bisa mencapai ukuran
sekian megabyte dan bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar
chip CPU-nya, sedangkan RAM pada mikrokontroler ada di dalam chip
mikrokontroler yang bersangkutan dan ukurannya sangat minim, misalnya 128 byte,
256 byte dan seterusnya dan ukuran yang relatif kecil inipun dirasa cukup untuk
Pada 256 byte bagian bawah, perhatikan Gambar 2.5. 32 byte pertama (00h-1Fh) dikelompokkan menjadi 4 bank dari 8 register. Instruksi pada program
mengenalnya dengan sebutan R0 sampai R7. Dua bit pada Program Status Word
(PSW) digunakan untuk memilih bank register yang digunakan. Penggunaan instruksi
yang mengakses register akan menghemat kode mesin dibandingkan dengan instruksi
yang mengakses lokasi secara langsung (direct addressing).
16 byte diatas bank register yaitu pada alamat 20h sampai 2Fh merupakan
daerah yang dapat dialamati secara bit. Alamat bit-bit pada daerah ini adalah 00h
sampai 7Fh.
Pendek kata, untuk RAM internal 256 byte bagian bawah, 32 byte pertama
dapar digunakan sebagai bank register, 16 byte berikutnya dapat dialamati perbit, dan
sisanya 80 byte dapat digunakan seperti biasa.
SFR
RAM internal 256 byte atas merupakan tempat register fungsi khusus (SFR).
Gambar 2.6. menunjukan SFR untuk Mikrokontroller seri 89S52. SFR ini meliputi alamat port, bit status dan kontrol, timer, register, stack pointer, akumularor dan
lainnya. Bagian-bagian yang kosong digunakan untuk pengembangan divais
Mikrokontroller selanjutnya.
Gambar 2.6 256 byte RAM Bagian Atas g. ROM
ROM (Read Only Memory) diisi saat proses produksinya. Informasi yang
dituliskan harus dipesan oleh pelanggan sebelum chip diberikan. Dalam sistem
mikrokontroler, informasi ini dapat dibaca oleh CPU tetapi tidak dapat dirubah. ROM
adalah memori yang paling sederhana, kecil, dan murah. Sifat memori program ini
h. Input/ Output
Diagram latch dan I/O buffer tiap bit dari Port 0 - Port 3. Port 1,2, dan 3
mempunyai pull-up internal. Sedangkan Port 0, konfigurasi outputnya adalah open
drain. Setiap bit I/O ini berdiri sendiri, jadi dapat berfungsi sebagai input atau output
tanpa tergantung satu sama lain. Port 0 dan 2 tidak dapat dipakai sebagai I/O bila
digunakan sebagai jalur alamat / data. Bila port-port tersebut ingin difungsikan
sebagai input, maka bit latch harus berisi '1', yang akan mematikan output driver
FET. Sehingga pin-pin Port 1,2, dan 3 akan 'ditarik' ke high oleh pull-up internal,
tetapi bila diinginkan dapat juga 'ditarik' ke low dengan sumber external. Port 0 agak
berbeda, karena tidak menggunakan pull-up internal. FET pull-up pada output driver
P0 (lihat gambar 6A) hanya digunakan pada saat Port mengeluarkan '1' selama akses
memori external, selain keadaan ini FET pull-up tidak aktif. Akibatnya bila bit-bit P0
berfungsi sebagai output maka bersifat open drain. Penulisan logika '1' ke bit latch
menyebabkan kedua FET tidak bekerja, sehingga pin dalam keadaan mengambang
(floating). Pada kondisi ini pin dapat berfungsi sebagai high impedance input. Port
1,2, dan 3 sering disebut dengan 'quasibidirectional' karena mempunyai pull-up
internal. Saat berfungsi sebagai input maka mereka akan 'ditarik' ke high dan akan
bersifat sebagai sumber arus bila 'ditarik' ke low secara eksternal. Port 0 sering
disebut sebagai 'true-bidirectional', karena bila dikonfigurasikan sebagai input maka
pinpinnya akan mengambang. Pada saat reset semua port latch akan berlogika ’1’
(diambil dari pustaka no.1,2). Berikut adalah rangkaian bit latch dan I/O buffer, dapat
Gambar 2.7 Bit Latch Dan I/O Buffer
2.3 Motor DC
Motor DC adalah alat yang mengubah pulsa listrik menjadi gerak, mempunyai
prinsip dasar yang sama dengan motor stepper namun gerakannya bersifat kontinyu
atau berkelanjutan. Motor DC dibagi menjadi 2 jenis yaitu :
1. Motor DC dengan sikat (mekanis komutasi), yaitu motor yang memiliki sifat
karbon berfungsi sebagai pengubah arus pada kumparan sedemikian rupa sehingga
arah tenaga putaran motor akan selalu sama.
2. Motor DC tanpa sikat, menggunakan semi konduktor untuk merubah maupum
digunakan pada sistem servo, karena mempunyai efisiensi tinggi, umur pemakaian
lama, tingkat kebisingan suara listrik rendah, karena putarannya halus seperti stepper
namun putarannya terus menerus tanpa adanya step.
Dalam aplikasinya seringkali sebuah motor digunakan untuk arah yang searah
dengan jarum jam maupun sebaliknya. Untuk mengubah putaran dari sebuah motor
dapat dilakukan dengan mengubah arah arus yang mengalir melalui motor tersebut.
Secara sederhana seperti yang ada pada Gambar 2.8, hal ini dapat dilakukan hanya dengan mengubah polaritas tegangan motor.
Gambar 2.8 Dasar Pengaturan Arah Putar Motor
Agar pengubahan polaritas tegangan motor dapat dilakukan dengan mudah,
maka hal ini dilakukan dengan menggunakan dua buah saklar seperti pada Gambar 2.9. di mana kedua saklar tersebut harus berada pada posisi yang saling berlawanan. Apabila S1 berada di posisi kiri (terhubung dengan positif) maka S2 harus berada di
posisi kanan (terhubung dengan negatif) dan demikian pula sebaliknya dengan
Gambar 2.9 Pengaturan Arah Dengan Menggunakan Saklar
2.4 IC LM 358
IC LM 358 merupakan suatu IC yang didalamnya dibangun empat buah
rangkaian penguat operasional ( Op – amp ). IC LM 358 memiliki beberapa
keunggulan diatas standart tipe penguat operasional yang lainnya yaitu pada aplikasi
hanya membutuhkan sumber tegangan tunggal untuk mengaktifkannya. Penguat ini
dapat beroperasi pada sumber tegangan rendah 3.0V dan sumber tegangan tinggi
32V. Tegangan keluaran juga meliputi tegangan negatif dari Power Supply.
Sedangakan pada arus bias pada masukan rendah maksimum100mA ( diambil dari
pustaka no.4 ). Bentuk dari IC LM 358 dapat dilihat pada Gambar 2.10 dibawah ini.
2.4.1 Susunan Pin LM 358
IC ini mempunyai pin sebanyak 8 buah pin, susunan pin-pin LM 358
ditunjukkan pada Gambar 2.11 berikut:
Gambar 2.11 Internal Blok Diagram IC LM 358
Berikut ini adalah penjelasan dari pin – pin LM 358, dapat dilihat pada Tabel 2.3 dibawah ini :
Tabel 2.3 Deskripsi Pin-pin LM 358 No. Pin Nama Pin Deskripsi
1 Out 1 Pin keluaran dari Op-Amp pertama
2 Inputs 1 Pin masukan negatif Op-Amp pertama
3 Inputs 2 Pin masukan positif Op-Amp pertama
4 V- Pin sumber tegangan negatif
5 Inputs 2 Pin masukan positif Op-Amp kedua
6 Inputs 2 Pin masukan negatif Op-Amp kedua
7 Out 2 Pin keluaran dari Op-Amp kedua
2.5 Transistor
Transistor bipolar biasanya digunakan sebagai saklar elektronik dan penguat
pada rangkaian elektronika digital. Transistor memiliki 3 terminal. Transistor
biasanya dibuat dari bahan silikon atau germanium. Tiga kaki yang berlainan
membentuk transistor bipolar adalah emitor, basis dan kolektor. Mereka dapat
dikombinasikan menjadi jenis N-P-N atau P-N-P yang menjadi satu sebagai tiga kaki
transistor ( diambil dari pustaka no.5 ). Gambar 2.12 di bawah memperlihatkan bentuk dan simbol untuk jenis NPN. (Pada transistor PNP, panah emitor berlawanan
arah).
Gambar 2.12 Simbol Transistor NPN dan PNP
Pada rangkaian elektronik, sinyal inputnya adalah 1 atau 0 ini selalu dipakai
pada basis transistor, yang mana kolektor dan emitor sebagai penghubung untuk
pemutus (short) atau sebagai pembuka rangkaian. Aturan/prosedur transistor sebagai
berikut:
1. Pada transistor NPN, memberikan tegangan positif dari basis ke emitor,
menyebabkan hubungan kolektor ke emitter terhubung singkat, yang menyebabkan
transistor aktif (on). Memberikan tegangan negatif atau 0 V dari basis ke emitor
menyebabkan hubungan kolektor dan emitor terbuka, yang disebut transistor mati
2. Pada PNP transistor PNP, memberikan tegangan negatif dari basis ke emitor ini
akan menyalakan transistor (on ). Dan memberikan tegangan positif atau 0 V dari
basis ke emitor ini akan membuat transistor mati (off).
2.6 Dinamika Robot
Rangkaian Robot Light Follower dengan menggunakan LDR (Light
Dependent Resistor) pada intinya ialah 2 buah motor DC yang aktif berdasarkan
input dari sensor LDR, jika LDR mendeksi adanya satu titik cahaya dalam ruangan
yang gelap maka akan ada perubahan nilai hambatan pada LDR tersebut, yang akan
mengaktif/menonaktifkan transistor 2N3904. Untuk mengatur input tegangan ke
basis agar dapat membuat transistor 2N3904 saturasi, maka digunakan pembagi
tegangan, dalam hal ini trimpot / potensiometer 50k-100k. Perubahan logika pada
transistor 2N3904 juga akan menyebabkan LED menyala atau mati, sebagai indikator
apakah LDR membaca adanya cahaya. Perubahan logika pada kaki kolektor 2N3904
juga sebagai input pada basis 2N2907, yang akan mengaktifkan/menonaktifkan
motor DC, dimana transistor 2N2907 merupakan transistor switching standar.
2.7 BASCOM-8051 Sebagai COMPILER BASIC
Basic adalah suatu bahasa pemrograman tingkat tinggi karena semua
variabelnya dan konstanta menyerupai bahasa manusia. BASCOM-8051 hadir
sebagai compiler program untuk memudahkan user. Dalam BASCOM-8051 terdapat
program simulasi untuk melihat jalannya program setiap step-nya ( diambil dari
2.7.1 Karakter dalam BASCOM
Dalam program BASCOM, karakter dasar terdiri atas alphabet (A-Z dan a-z),
karakter numerik (0-9), dan karakter spesial. Pada Tabel 2.4 berikut ini akan dijelaskan karakter dalam BASCOM-8501
Tabel 2.4 Karakter Dalam BASCOM-8051
Karakter Nama
Blank atau spasi
' Apostrophe
* Asterisk (simbol perkalian)
+ Plus sign
, Comma
- Minus sign
. Period (decimal point)
/ Slash (division symbol) will be handled
as \
: Colon
" Double quotation mark
; Semicolon
< Less than
= Equal sign (assignment symbol or
relational operator)
> Greater than
\ Backslash (integer/word division
symbol)
' Single quotation mark (apostrophe)
2.7.2 Tipe Data
Setiap variabel dalam BASCOM punya tipe data yang menunjukkan daya
tampungnya. Hal ini berhubungan dengan penggunaan memori mikrokontroler.
Berikut Tabel 2.5 adalah tipe data pada BASCOM. Tabel 2.5 Tipe Data
Berfungsi sebagai tempat penyimpan data sementara, misalnya untuk
menampung hasil perhitungan, data hasil pembacaan register, dan lain sebagainya.
Variabel merupakan pointer yang menunjuk pada alamat memori fisik di
mikrokontroler.
Ada beberapa aturan dalam penamaan sebuah variabel :
a. Nama variabel maksimum terdiri atas 32 karakter
b. Karakter biasa berupa angka atau huruf
d. Variabel tidak boleh menggunakan kata-kata yang digunakan oleh BASCOM
sebagai perintah, pernyataan, internal register, dan nama operator (AND, OR, DIM,
dll).
Sebelum digunakan, maka variabel harus dideklarasikan terlebih dahulu. Pada
Gambar 2.13 berikut ini adalah beberapa cara mendeklarasikan sebuah variabel dan diikuti nama dan tipe datanya.
Gambar 2.13 Pendeklarasian Variabel Dalam BASCOM 2.7.4 Alias
Dengan menggunakan alias, variabel yang sama dapat diberikan nama yang
digunakan untuk mengganti nama variabel yang telah baku, seperti port
mikrokontroler.
LEDBAR alias P1 Tombol1 alias P0.1 Tombol2 alias P0.2
Dengan deklarasi seperti diatas, perubahan pada tombol1 akan mengubah
kondisi P0.1. Selain mengganti nama port, kita dapat pula menggunakan alias untuk
mengakses bit tertentu dari sebuah variabel yang telah dideklarasikan.
Dim Ledbar as byte Led1 as Ledbar . 0 Led2 as Ledbar . 1 Led3 as Ledbar . 2 2.7.5 Konstanta
Selain variabel kita mengenal pula konstanta, perbedaannya dengan variabel
biasa adalah nilai yang dikandungnya tetap. Dengan konstanta, kode program yang
kita buat akan lebih muda dibaca dan dapat mencegah kesalahan penulisan pada
program kita. Misalnya, kita akan lebih muda menulis phi dari pada menulis
3,14159867. Sama seperti variabel, agar konstanta biasa dikenali program, maka
harus dideklarasikan terlebih dahulu. Berikut adalah cara pendeklarasian sebuah
konstanta :
Dim A As Const 5
Const Cbyte = &HF Const Cint = -1000 Const Csingle = 1.1 Const Cstring = “ test ” 2.7.6 Array
Dapat digunakan pada sekumpulan variabel dengan nama dan tipe yang sama.
Untuk mengakses variabel tertentu dalam array harus menggunakan indeks. Indeks
harus berupa angka dengan tipe data byte, integer, atau word. Artinya, nilai
maksimum sebuah indeks sebesar 65535.
Proses pendeklarasian sebuah array hampir sama dengan variabel, namun
perbedaannya kita pun mengikutkan jumlah elemennya. Berikut adalah contoh
pemakaian array :
Program diatas membuat sebuah array dengan nama ‘ kelas ’ yang berisi
seluruh elemen ( 1 – 10 ) dan kemudian seluruh elemennya diisikan dengan nilai C
yang berurutan, Untuk membacanya, kita menggunakan indeks dimana elemen
disimpan, pada program diatas, elemen-elemen array-nya dikeluarkan ke port 1 dari
2.7.7 Operasi-operasi Dalam BASCOM
Berikut adalah beberapa contoh kasus tentang cara menggabungkan,
memodifikasi, membandingkan, atau mendapatkan informasi tentang sebuah
pernyataan dengan menggunakan operator-operator yang tersedia dalam BASCOM.
a. Operator Aritmatika
Digunakan dalam perhitungan meliputi tambah ( + ), kurang ( - ), bagi ( / ),
dan kali ( * ).
b. Operator Relasi
Operator ini berfungsi membandingkan nilai sebuah angka. Fungsi dari
operator relasi dapat dilihat pada Tabel 2.6 berikut ini. Tabel 2.6 Operator Relasi
Operator Relasi Pernyataan
Operator digunakan untuk menguji sebuah kondisi atau memanipulasi bit dan
digunakan juga untuk menguji sebuah byte dengan pola bit tertentu yaitu AND, OR,
Digunakan untuk melengkapi operator yang sederhana.
2.7.8 Kontrol Program
Keunggulan sebuah pemrograman terletak pada kontrol program. Dengan
kontrol program, kita akan mengendalikan alur sebuah program dan menentukan apa
yang harus dilakukan oleh sebuah program ketika menemukan kondisi tertentu.
Kontrol program meliputi kontrol pertimbangan kondisi dan keputusan, kontrol
pengulangan, serta kontrol alternatif. BASCOM menyediakan beberapa kontrol
program yang sering digunakan untuk menguji sebuah kondisi, perulangan, dan
pertimbangan sebuah keputusan. Berikut adalah beberapa kontrol program yang
2.7.8.1 If…Then
Dengan pernyataan If…Then, kita dapat mengetes kondisi tertentu,
kemudian menentukan tindakan yang sesuai dengan kondisi yang
diinginkan, Sintaks penulisannya sebagai berikut :
IF < syarat kondisi > THEN < pernyataan ke-1 >
< pernyataan ke-2 >
< pernyataan ke-n >
END IF
Jika ada dua kondisi atau lebih yang akan diuji, maka sintaks-nya
menjadi :
Pada sintaksis diatas, BASCOM akan menguji kondisi 1, jika kondisi 1
tidak terpenuhi, maka BASCOM akan menguji kondisi 2, begitu
memenuhi. Jika kondisi tidak memenuhinya, maka BASCOM akan
mengeksekusi blok pernyataan ELSE.
2.7.8.2 Select…Case
Perintah Select…Case akan mengeksekusi beberapa blok pernyataan
tergantung pada nilai variabelnya. Perintah mirip dengan perintah
If…Then, namun memiliki kelebihan, yaitu kemudahan dalam
penulisannya. Sintaksisnya sebagai berikut :
SELECT…CASE variabel CASE test1: statements CASE test2: statements CASE ELSE : statements END SELECT
2.7.8.3 While…End
Perintah While…wend akan mengeksekusi sebuah pernyataan secara
berulang ketika masih menemukan kondisi yang sama. Perintah akan
berhenti jika ada perubahan kondisi dan melakukan perintah
selanjutnya. Sintaksisnya sebagai berikut :
WHILE < syarat kondisi > < pernyataan >
WEND 2.7.8.4 Do…Loop
Perintah DO… Loop digunakan untuk mengulangi sebuah blok
menambshkan sebuah syarat kondisi agar perulangannya berhenti dan
perintahnya menjadi Do…Loop Until. Sintaksisnya sebagai berikut : Do
< blok pernyataan >
Loop
Dengan perintah Do…Loop Until :
Do
< blok pernyataan >
Loop Until < syarat kondisi > 2.7.8.5 For…Next
Perintah For…Next digunakan untuk mengeksekusi sebuah blok
pernyataan secara berulang. Perintah hampir sama dengan perintah
Do…Loop, namun pada perintah For…Next nilai awal dan akhir
perulangan serta tingkat kenaikan atau turunnya bisa ditentukan.
Penggunaannya sebagai berikut :
FOR var = start TO/DOWNTO end [ STEP value ] < blok pernyataan >
Next
Untuk menaikkan nilai perulangan, gunakan To, sedangkan untuk
menurunkan gunakan Downto. Tingkat kenaikan merupakan pilihan ,
tidak ditentuksn maka secara otomatis BASCOM akan menentukan
nilainya, yaitu 1.
2.7.8.6 Exit
Perintah Exit digunakan untuk keluar secara langsung dari blok
program For…Next, Do…Loop, Sub…End Sub, While…Wend.
Sintaksis penulisannya adalah :
EXIT [ Do ] [ For ] [ While ] [ Sub ]
Sintaksis selanjutnya setelah EXIT bisa bermacam-macam, tergantung
pada perintah Exit berada pada perintah apa. Jika pada perintah
BAB III PERANCANGAN
Pada Bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana
perancangan robot dirancang, komponen - komponen apa saja yang dibutuhkan dalam
perancangan robot ini, bagaimana cara merancang robot ini, Flowchart Robot, Blok
Diagram Hardware Robot dan Analisa setelah robot itu dibuat.
3.1 Perancangan Robot
Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang
dibutuhkan, yaitu :
a. Robot ini dirancang untuk dapat berjalan secara otomatis dengan kemampuan
program yang telah diinputkan untuk mencari dan mengikuti cahaya.
b. Robot ini bergerak dalam sebuah ruangan yang memiliki intensitas cahaya yang
rendah.
c. Robot ini dirancang dengan kemampuan hanya dapat bergerak dan tidak
mempunyai kemampuan lebih untuk menangani hal yang bersifat berat.
d. Robot ini dirancang dengan menggunakan sensor yang sensor LDR (Light
Dependent Resistor) dengan Mikrokontroller AT89S52 sebagai pengendali
utama pada robot.
e. Robot ini menggunakan LM 358 sebagai penguat operasional dari sensor LDR
3.2 Flowchart
Gambar 3.1 Flowchart Robot 3.2.1 Penjelasan Flowchart
Berikut adalah penjelasan flowchart dari Gambar 3.1 di atas.
1. Setelah diaktifkan robot secara otomatis akan melakukan proses pencarian
cahaya dengan cara berputar-putar ditempat.
2. Jika robot tidak menemukan adanya satu titik cahaya, robot akan terus mencari
lagi cahaya. Dan jika robot menemukan satu titik cahaya, maka akan ke proses
selanjutnya, yaitu robot akan mengikuuti atau mendekati arah dari cahaya yang telah
3.3 Blok Diagram
Gambar 3.2 Blok Diagram Hardware Robot
3.3.1 Penjelasan Blok Diagram Pada Gambar 3.2
Perencanaan perangkat keras pada proyek akhir ini mempergunakan
mikrokontroler AT89S52 sebagai sistem kontrol utama pada robot pengikut cahaya.
Dimana sensor LDR (Light Dependent Resistor) memiliki penguat opresional yang
digunakan untuk mengatur tingkat kesnsitifan dari sensor. Jika sensor mendeteksi
adanya cahaya maka mikrokontroler yang berfungsi sebagai system control utama
akan memerintahkan driver motor untuk baerjalan maju mengikuti cahaya. Dan jika
sensor tidak mendeteksi adanya cahaya maka mikrokontroler akan memerintahkan
3.4 Kebutuhan Perancangan Hardware Robot
Dalam pembuatan robot ini komponen-komponen yang dibutuhkan adalah
sebagi berikut:
1. Sensor LDR (Light Dependent Resistor).
2. Dynamo DC.
3. Transistor.
4. PCB (Printed Circuit Board).
5. Pararel Port.
6. Baterai ukuran AA.
3.5 Cara Merancang Robot
Merancang robot bukanlah suatu hal yang mudah dan tidak dapat dilakukan
oleh banyak kalangan. Dalam menjalani Tugas Akhir ini penulis ingin memaparkan
bagaimana cara merancang robot ini.
Pertama, membeli semua komponen-komponen yang diperlukan dalam
pembuatan robot ini. Setelah membeli semua komponennya, kemudian mendesign
robotnya.
Kedua, setelah mendesign robot, kemudian merakit komponen-komponen
yang sudah ada ke PCB (Printed Circuit Board). Setelah itu untuk menyatukan
Ketiga, di dalam menggerakkan robot maka di gunakan baterai dengan ukuran
AA yang berjumlah masing-masing 8 (delapan) biji untuk mekanik dan komponen
yang terdapat di PCB.
Keempat, untuk menghubungkan CPU ke robot maka digunakan pararel port.
3.6 Analisa Perancangan Motor DC
Motor DC merupakan salah satu bagian terpenting dalam merancang sebuah
robot pengikut cahaya. Motor DC ini mempunyai peran yang sangat penting
disamping sebagai alat penggerak. Pada Tabel 3.1 dibawah ini akan menjelaskan
pada saat robot bekerja, jika robot tersebut maju ke depan maka kedua motor kanan
dan kiri berputar bersama - sama ke arah depan dan apabila robot tersebut berputar
kekanan maka motor bagian kanan akan berputar ke belakang sedangkan motor
bagian kiri berputar ke depan.
Tabel 3.1 Rancangan Rangkaian Driver Motor
Motor Kanan Motor Kiri
Maju Mundur Maju Mundur
Keterangan
0 1 0 1 maju
3.7 Rancangan dan Analisis Robot
Berikut ini adalah cara kerja mekanik yang terdapat pada robot saat
dijalankan.
3.7.1 Rancangan Motor Saat Maju ke Depan
Posisi pada saat maju , dinamo kanan berputar ke arah kanan atau searah
jarum jam sedangkan untuk dinamo kiri berputar ke kiri atau berlawanan searah
jarum jam.
Dinamo
Kiri
Dinamo
Kanan
3.7.2 Rancangan Motor Saat Berputar ke Kanan
Posisi pada saat belok kanan , dinamo kanan dan dinamo kiri berputar ke arah
kanan atau searah jarum jam.
Dinamo
Kiri
Dinamo
Kanan
Gambar 3.4 Robot Saat Berputar Ke Kanan
3.8 Rancangan Komponen Robot
Perencanaan perangkat keras pada proyek akhir ini mempergunakan
mikrokontroler AT89S52 sebagai sistem kontrol utama pada robot penjejak cahaya.
menggunakan IC LM358 untuk pendeteksian cahaya. Sedangkan rangkaian driver
digunakan untuk menjalankan motor DC.
Mikrokontroler AT89S52 On/Off Switch
Sensor LDR
Gambar 3.5 Rancangan Komponen Pada PCB
3.8.1 On/Off Switch
On/off switch adalah tombol untuk mengaktifkan robot, dimana tombol
tersebut komponen dan motor DC dengan baterai sebagai arus listrik untuk
menggerakkan robot.
IC LM 358 Port
3.8.2 Sensor LDR (Light Dependent Resistor)
Sensor LDR merupakan salah satu sensor cahaya yang digunakan dalam
pembuatan robot ini, fungsi dari sensor LDR itu sendiri hanya sebagai penerima
cahaya.
3.8.3 IC LM 358
IC LM 358 merupakan perangkat tambahan untuk sensor, dimana IC tersebut
berfungsi sebagai penguat (Gain) setelah menerima masukan dari sensor didalam
pendeteksian cahaya.
3.8.4 Port Comunication
Port communication adalah tempat untuk menghubungkan robot dengan
komputer dan menggunakan pararel port sebagai sarana penghubung didalam
mengirim program yang telah dibuat pada aplikasi BASCOM – 8051 kedalam chip
robot.
3.8.5 Mikrokontroler AT89S52
Mikrokontroler itu sendiri merupakan chip yang berfungsi sebagai control
utama pada robot pengikut cahaya yang saya buat.
3.8.6 Driver Motor
Driver motor adalah komponen yang digunakan khusus untuk pergerakan
motor DC, dimana fungsi driver motor tersebut mengatur dan menyampaikan
BAB IV IMPLEMENTASI
4.1 Kebutuhan Sistem
Ada beberapa hal dalam pengembangan sistem yang harus diperhatikan
sebelum akhirnya sampai pada langkah menjalankan program, antara lain perangkat
keras (hardware), perangkat lunak (software) serta bagaimana akhirnya sistem dapat
berjalan sesuai dengan program yang telah dibuat.
4.1.1 Perangkat Sistem
Perangkat yang dibutuhkan dalam pembuatan robot pengikut cahaya dengan
menggunakan sensor LDR (Light Dependent Resistor) ini termasuk dalam pembuatan
laporan adalah perangkat keras (hardware) dan perangkat lunak (software).
Adapun perangkat keras yang digunakan dalam pengembangan sistem ini adalah:
1. Komputer Pentium 4 Intel 3.0 Ghz
2. RAM 512 Mb
3. Hard Disk 80 Gb
Sedangkan perangkat lunak yang digunakan adalah BASCOM – 8051.
4.2 Prosedur Pembuatan Program
Ada beberapa cara yang harus dilakukan sebelum program dibuat dan
dimasukkan kedalam chip robot, yaitu :
2. Setelah selesai menginstal maka tahap selanjutnya adalah pembuatan program
yang akan dimasukkan ke dalam chip robot.
Gambar 4.1 Pembuatan Program pada BASCOM - 8501
3. Setelah program di buat terlebih dahulu kita check syntax program dengan cara
memilih menu yang terdapat pada aplikasi BASCOM – 8501 atau dengan cara
menekan tombol ctrl+F7 yang terdapat pada keybord untuk mengetahui apakah
Gambar 4.2 Check Program
4. Setelah melakukan pengecekan, kita dapat mengetahui apakah program yang kita
buat teradapat error atau tidak, apabila dalam program terdapat kesalahan maka akan
muncul tampilan errors. Berikut ini akan ditunjukkan pada Gambar 4.3 jika dalam
Gambar 4.3 Error Program
5. Jika dalam program tidak terdapat kesalahan atau error terlebih kita compile
program sebelum kita masukkan kedalam chip robot, kita dapat memilih menu yang
sudah ada pada aplikasi tersebut untuk meng-compile atau dengan cara menekan
Gambar 4.4 Compile Program
6. Tahap terakhir dalam pembuatan program setelah di-compile yaitu memasukkan
program kedalam chip robot. Dengan cara memilih menu “program" pada aplikasi
tersebut lalu memilih pilhan send to chip atau dengan cara menekan tombol F4 pada
keybord. Setelah itu akan muncul tampilan BASCOM – 8501 *MCS
Gambar 4.5 Send To Chip
4.2 Implementasi Coding
Pada tahapan ini akan dibahas mengenai program yang telah dibuat untuk
robot, berikut adalah penjelasan beserta program yang telah dibuat.
Langkah pertama yang harus dilakukan dalam pembuatan program adalah
mendeklarasikan semua fungsi, delay perintah ke perintah yang lain, dan semua port
pada mikrokontroler yang digunakan sebagai input atau output dari program yang
akan kita susun. Berikut adalah potongan program yang merupakan penentuan port
Sensor Alias P3.2
Relay_maju_kanan Alias P0.0
Relay_mundur_kanan Alias P0.3 deklarasi port
Relay_maju_kiri Alias P0.4
Relay_mundur_kiri Alias P0.7
Setelah proses deklarasi port yang ditentukan ke dalam mikrokontroler selesai,
langkah kedua adalah membuat program yang akan memfungsikan register dan port
mikrokontroler untuk menjalankan dan meneruskan perintah kepada piranti
pendukungnya. Berikut adalah potongan program dimana robot akan berputar - putar
ke kanan jika sensor tidak menerima adanya cahaya.
Do
If Sensor = 1 Then
Relay_maju_kanan = 1 : Relay_mundur_kanan = 0
Relay_maju_kiri = 0 : Relay_mundur_kiri = 1
Waitms 300
Program dibawah ini adalah sederet perintah mutlak mewakili inisialisasi program
diatas jika sensor dalam keadaan menerima cahaya, maka robot akan berjalan maju
Elseif Sensor = 0 Then
Relay_maju_kanan = 0 : Relay_mundur_kanan = 1
Relay_maju_kiri = 0 : Relay_mundur_kiri = 1
Waitms 200
End If
Loop
BAB V
PENGUJIAN
DAN ANALISA
5.1 Pendahuluan
Pada bab ini akan dibahas mengenai pengujian dan analisa pada hardware
yang telah dirancang. Tujuan dari pengujian dan analisa ini adalah untuk mengetahui
apakah hardware tersebut telah berfungsi dengan benar dan sesuai rencana atau tidak.
Pengujian dan analisa ini ditujukan pada pengujian komponen-komponen yang
terdapat pada robot serta pengujian robot pengikut cahaya itu sendiri.
5.2 Pengujian Alat
Berikut ini adalah pengujian alat atau komponen yang terdapat pada robot
pengikut cahaya.
5.2.1 Pengujian Mikrokontroler AT89S52
Untuk menguji mikrokontroller AT89S52 yang telah berisi sebuah program
kita tinggal meletakkan AT89S52 tersebut pada socket yang telah dipasang pada
PCB. Setelah itu tinggal memberi tegangan pada hardware sederhana sebesar + 4V
sampai dengan +5V.
5.2.2 Pengujian Sensor LDR (Light Dependent Resistor)
Tujuan pengujian rangkaian sensor adalah untuk mendapatkan data
karakteristik dari sensor LDR. Rangkaian sensor bertugas memberikan besaran
inisialisasi dengan memanfaatkan rangkaian comparator pada sistem penguat
operasional. Pada rangkaian sensor LDR berfungsi sebagai penerima cahaya sehingga
akan terjadi perubahan tegangan. Saat LDR keadaan terang hambatan LDR sangat
kecil sehingga Vin juga kecil. Sedangkan saat gelap hambatan LDR sangat besar
sehingga Vin juga besar.
Gambar 5.1 Pengujian Rangkaian Sensor
Hasil pengujian rangkaian sensor ditunjukan tabel tabel berikut.
Tabel 5.1 Hasil Pengujian Rangkaian Sensor
Vin (volt) Sensor Vref
(volt) Gelap Terang
Sensor LDR 3.8 4.5 2.9
5.2.3 Pengujian Rangkaina Driver Motor
Pengujian yang dilakukan pada rangkaian driver motor dengan menggunakan
transistor adalah untuk mengetahui apakah data dari mikrokontroler dapat diterima
keadaan arus logika tinggi dan rendah yang diatur melalui mikrokontroler. Arus
logika tinggi dan rendah tersebut diwujudkan ke bentuk tegangan 12V atau 0V. Jika
data dari mikrokontroler dapat masuk ke rangkaian driver motor maka dapat
dipastikan motor tersebut bekerja dengan baik, sehingga dapat menggerakkan robot
sesuai dengan program yang diinginkan.
5.2.4 Pengujian Alat Secara Keseluruhan
Tujuan pengujian alat secara keseluruhan untuk mendapatkan hasil dan data –
data secara keseluran dari awal rangkaian pendeteksi cahaya pada sensor sampai
berkerjanya motor pada waktu robot dijalankan. Pengujian alat secara keseluruhan
dapat dilakukan dengan adanya program yang telah tertanam pada mikrokontroller.
Dengan menjalankan program sesuai dengan fungsinya, maka sistem dapat berjalan
sesuai dengan harapan yaitu robot akan berjalan mengikuti cahaya dengan masukkan
dari pendeteksian cahaya yang dilakukan oleh sensor dan keluarannya berupa
bekerjanya motor yang semuanya diproses oleh mikrokontroler. Apabila sistem tidak
bekerja sesuai dengan harapan, maka telah terjadi kesalahan pada sistem tersebut.
5.3 Pengujian Robot Pengikut Cahaya
Berikut ini akan ditunjukkan cara kerja robot secara keseluruhan, dari robot
mencari cahaya sampai robot mengikuti cahaya. Dalam menguji robot ini harus
dilakukan didalam ruangan yang memiliki intensitas cahaya lebih rendah
Gambar 5.2 Robot Saat Mencari Cahaya
Dalam mencari cahaya robot akan berputar ke kanan apabila sensor LDR
tidak mendeteksi atau menerima cahaya dari senter.
senter
cahaya
Gambar 5.3 Robot Mendekati Cahaya
Gambar di atas menunjukkan cara kerja robot yang berjalan maju mendekati
5.3.1 Pengujian di Dalam Ruangan Terang
Tabel dibawah ini akan menunjukkan jarak - jarak yang dibutuhkan robot
dalam keadaan ruang yang memiliki intensitas cahaya terang dengan senter sebagai
alat bantu pada robot tersebut.
Tabel 5.2 Pengujian Robot di Ruang Terang
Sensor LDR Jarak
Ruang
(3.8 V) Senter Min - Max
± 5 - 10 Cm
± 20 - 30 Cm
Terang (2.9 V) 30 V
± 40 - 45 Cm
Berikut akan ditunjukkan gambar - gambar disaat robot bekerja didalam
ruangan yang terang :
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang terang,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) menurun dari tegangan normal 3.8 V
menjadi 2.9 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
sejajar dengan sensor LDR, dengan jarak minimal ± 10 – 20 Cm ( Centimeter ).
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang terang,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) menurun dari tegangan normal 3.8 V
menjadi 2.9 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
sejajar dengan sensor LDR, dengan jarak ± 20 – 30 Cm ( Centimeter ) robot masih
bias untuk mengikuti cahaya.
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang terang,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) menurun dari tegangan normal 3.8 V
menjadi 2.9 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
sejajar dengan sensor LDR, maka jarak maksimal yang dibuthkan oleh robot agar
dapat mengikuti cahaya ± 40 – 45 Cm ( Centimeter ). Jika jarak yang ditentukan lebih
dari ± 40 – 45 Cm maka keadaan ruangan harus lebih gelap lagi, sehingga tingkat
kesensitifan dari sensor akan bertambah.
5.3.2 Pengujian di Dalam Ruangan Gelap
Tabel dibawah ini akan menunjukkan jarak - jarak yang dibutuhkan robot
dalam keadaan ruang yang memiliki intensitas cahaya gelap dengan senter sebagai
alat bantu pada robot tersebut.
Tabel 5.3 Pengujian Robot di Ruang Gelap
Berikut akan ditunjukkan gambar - gambar disaat robot bekerja didalam
ruangan yang gelap :
Gambar 5.7 Robot Bekerja Dengan Jarak ± 10 – 20 Cm
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang gelap,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) meningkat dari tegangan normal 3.8 V
menjadi 4.5 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
Gambar 5.8 Robot Bekerja Dengan Jarak ± 30 – 40 Cm
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang gelap,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) meningkat dari tegangan normal 3.8 V
menjadi 4.5 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
Gambar 5.9 Robot Bekerja Dengan Jarak ± 50 – 60 Cm
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang gelap,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) meningkat dari tegangan normal 3.8 V
menjadi 4.5 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
sejajar dengan sensor LDR, dengan jarak ± 50 – 60 Cm ( Centimeter ) robot masih
Gambar 5.10 Robot Bekerja Dengan Jarak ± 70 – 80 Cm
Gambar diatas menunjukkan saat robot bekerja didalam ruangan yang gelap,
dimana pada intensitas cahaya dari ruangan tersebut membuat tingkat kesensitifan
sensor LDR ( Light Dependent Resistor ) meningkat dari tegangan normal 3.8 V
menjadi 4.5 V. Dengan bantuan senter yang memiliki tegangan 3.0 V dan disorotkan
sejajar dengan sensor LDR, maka jarak maksimal yang diperoleh oleh robot agar
5.3.3 Pengujian Dengan 2 ( Dua ) Senter
Gambar dibawah ini akan menunjukkan bagaimana cara kerja robot bila
menggunakan 2 ( dua ) senter.
Gambar 5.11 Cara Kerja Robot Dengan 2 Senter
Saat robot menyala terlebih dahulu robot akan berputar untuk mencari cahaya,
bila didalam ruangan terdapat cahaya lebih dari satu maka robot hanya dapat
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Dari hasil uraian yang telah digambarkan, baik secara teori maupun
berdasarkan hasil-hasil pengujian yang telah dilakukan pada Tugas Akhir ini, maka
dapat di ambil kesimpulan sebagai berikut :
Komponen terpenting yang dipergunakan pada Tugas Akhir Robot Pengikut
Cahaya adalah dengan menggunakan salah satu jenis Mikrokontroller yaitu AT89S52
sebagai komponen utama dan sensor LDR ( Light Dependent Resistor ) sebagai
penerima cahaya. Robot ini tidak harus dapat berjalan di ruangan gelap, tetapi juga
bisa digunakan di ruangan terang, akan tetapi pada ruangan yang terang jarak robot
untuk mengikuti cahaya lebih pendek dibandingkan pada ruangan yang lebih gelap.
6.2 Saran
Dengan adanya kekurangan dalam kinerja dari robot penjejak cahaya banyak
hal – hal yang perlu dilakukan untuk mendapatkan sistem yang lebih baik :
a. Pembuatan robot penjejak cahaya pada saat ini sudah sedikit ketinggalan karena
tidak ada aksi tertentu selain robot bergerak mendekati cahaya. Sebaiknya robot
diberi aksi tertentu seperti menyemprotkan air seperti robot pemadam kebakaran.
b. Agar dapat mempermudah robot di dalam mencari cahaya, sebaiknya robot diberi
lebih dari satu sensor, atau juga dapat menggunakan kamera agar dapat menjangkau
cahaya dengan jarak yang jauh.
DAFTAR PUSTAKA
1. Eko Putra, Agfianto. 2003. Belajar Mikrokontroler AT 89C51/52/55 Teori dan
Aplikasi. Gaya Media. Yogyakarta.
2. Wahyudin, Didin. 2007. Belajar Mudah Mikrokontroler AT89S52 dengan Bahasa
Basic Menggunakan BASCOM-8051. Yogyakarta: ANDI.
3. Corporation, Atmel. “Migrating from AT89C51/C52 to AT89S51/S52 Ap Note.”
http://www.atmel.com/dyn/resources/prod_documents/doc3487.pdf ( diakses
tanggal 17 Maret 2010 ).
4. Corporation, Atmel. “Migrating from IC LM 358 Ap Note.”
http://www.atmel.com/dyn/resources/prod_documents/doc7001.pdf ( diakses
tanggal 17 Maret 2010 ).
5. Toko Elektronika. “Sensor LDR Dan Transistor.”
http://www.toko-elektronika.com/tutorial/linefollowertanpamikro.html ( diakses tanggal 17 Maret
2010 ).