1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kemajuan teknologi yang pesat saat ini mendorong setiap manusia untuk
meningkatkan kemampuan di bidang teknologi, salah satunya adalah bidang
robot. Perkembangan elektronika juga memberikan kemajuan dalam mengontrol
robot itu sendiri. Sekarang ini, ilmu pengetahuan dan teknologi sangat diperlukan
untuk membantu aktivitas manusia yang semakin berkembang. Perkembangan
ilmu dan teknologi ini didorong oleh kebutuhan akan suatu inovasi dan juga
ketersediaan sumber daya yang dibutuhkan, baik hardware, software maupun
sumber daya manusia. Salah satu teknologi yang banyak digunakan pada saat
sekarang ini adalah teknologi mikrokontroler. Robot merupakan salah satu
kemajuan dalam bidang teknologi mikrokontroler.
Dalam perkembangannya, robot dapat digunakan dalam suatu industri,
dengan adanya robot maka proses produksi dalam industri akan lebih cepat. Robot
juga memiliki tingkat ketelitian yang tinggi jika dibandingkan dengan tenaga
manusia.
Pada industri, untuk membedakan jenis produk biasannya dari kemasan atau
kotak (box) yang diberi tanda seperti warna pada box atau kode – kode lain yang
dapat membedakan box. Warna yang sama pada box menyatakan jenis produk
yang sama. Di dalam industri, barang hasil produksi dikelompokkan berdasarkan
jenis yang sama.
Dengan adanya mobile robot yang dapat mengangkut box secara otomatis
tentu mengurangi bahaya terhadap pekerja dan pekerjaan akan lebih cepat. Dalam
tugas akhir ini mobile robot dapat mengenali benda berdasarkan warna (RGB)
dengan menggunakan basic stamp sebagai pusat kendali. Robot akan
mengelompokkan box yang sejenis secara otomatis sesuai dengan track yang
Perancangan Robot Pengangkut Box Berdasarkan Perbedaan Warna Berbasis
Mikrokontroler.
1.2 Maksud dan Tujuan
Maksud dari tugas akhir ini adalah merancang sebuah robot pengangkut box
yang dapat memindahkan box dari asal produksi ke tujuan penyimpanan pada
suatu industri secara otomatis, mengurangi bahaya terhadap pekerja dan pekerjaan
akan lebih cepat.
Sedangkan tujuan perancangan robot pengangkut box berdasarkan
perbedaan warna sebagai simulasi robot di bidang industri dimana box
dikelompokkan berdasarkan warna.
1.3 Batasan Masalah
Pada perancangan robot pengangkut box yang dibuat ini terdapat beberapa
batasan masalah yaitu:
1. Menggunakan mikrokontroler basic stamp.
2. Program dibuat dengan menggunakan bahasa basic.
3. Menggunakan motor dc sebagai kendali putaran roda yang dikendalikan
oleh mikrokontroler.
4. Bentuk track 1 meter x 1,5 meter.
5. Box di angkat dengan cara dicapit.
6. Box yang digunakan adalah warna merah, hijau, dan biru dengan dimensi
box panjang 6 cm, lebar 6 cm, tinggi 6 cm dan berat 20 gram.
7. Kondisi box di asal selalu ada dengan penempatan warna box secara
random.
1.4 Metodologi Penelitian
Metodologi penelitian yang dilakukan dalam penyelesaian tugas akhir ini
3
1. Studi literatur
Suatu metode pengumpulan data dengan membaca atau mempelajari buku
yang berhubungan dengan masalah yang menjadi topik tugas akhir.
2. Perancangan
Mengaplikasikan teori yang didapat dalam perancangan sistem untuk
perangkat keras, perangkat lunak dan pengujian sistem.
3. Eksperimen
Melakukan eksperimen atau uji coba alat, komponen dan kerja robot.
4. Analisa data
Analisa yang dilakukan dari pengujian sistem dan mengambil sebuah
simpulan dari penelitian ini.
1.5 Sistematika Penulisan
Sistematika penulisan laporan Tugas Akhir ini adalah sebagai berikut :
BAB I : Pendahuluan
Bab ini berisi tentang latar belakang, maksud dan tujuan, batasan
masalah, metodologi penelitian dan sistematika penulisan.
BAB II : Landasan Teori
Bab ini membahas tentang teori- teori pendukung yang digunakan
dalam perencanaan dan pembuatan tugas akhir
BAB III : Perancangan Sistem
Bab ini berisikan tentang perancangan alat yang dibuat untuk tugas
akhir ini, meliputi garis besar sistem, perancangan perangkat keras
dan perancangan software yang digunakan.
BAB IV : Pengujian dan Analisa Sistem
Bab ini berisi tentang pengujian – pegujian dan analisa data pada tugas akhir ini.
BAB V : Simpulan dan Saran
BAB II
LANDASAN TEORI
Robot telah banyak dikembangkan, karena robot berguna untuk membantu
kerja manusia misalnya, untuk pekerjaan dengan resiko bahaya ataupun
melakukan pekerjaan yang membutuhkan tenaga besar seperti di bidang industri.
Jenis robot yang dipakai merupakan mobile robot, yaitu robot yang ciri khasnya
adalah mempunyai aktuator berupa roda untuk menggerakkan keseluruhan badan
robot tersebut, sehingga robot tersebut dapat melakukan perpindahan posisi dari
satu titik ke titik yang lain. Dalam bab ini dijelaskan mengenai teori - teori tentang
perancangan robot pengangkut box berdasarkan perbedaan warna. Berikut ini teori
perangkat keras dan perangkat lunak yang digunakan.
2.1 Perangkat Keras (Hardware)
2.1.1 Mikrokontroler Basic Stamp (BS2P40)
Basic stamp adalah mikrokontroler yang dikembangkan oleh
Parallax Inc yang diprogram menggunakan format bahasa pemrograman
basic. Program yang dibuat di-download melalui port serial dan dapat
menggunakan konverter USB to Serial untuk komputer yang tidak memiliki
port serial. Mikrokontroler basic stamp membutuhkan power supply saat
mendownload pemrograman dan tidak kehilangan program yang sudah di
download saat baterai atau power supply dicabut.
Kode PBasic disimpan di dalam EEPROM serial pada board basic
stamp. EEPROM menyediakan penyimpanan yang sulit diubah, yaitu
menjaga memory saat kehilangan power. EEPROM digunakan dalam basic
stamp 1 dan 2 yang dijamin menyimpan selama 40 tahun ke depan dan
mampu ditulisi ulang 10.000.000 kali per lokasi memori.
Mikrokontroler basic stamp memiliki versi yang berbeda - beda.
Basic stamp memiliki tujuh versi, yaitu basic stamp 1, basic stamp 2, basic
5 stamp jalan pada tegangan DC 5 sampai 15 volt. Pada modul basic stamp
terdapat IC regulator LM7805 dengan output 5 volt yang mengubah input 6
hingga 15 volt (pada pin VIN) turun menjadi 5 volt yang dibutuhkan
komponen. Basic stamp yang di pakai adalah basic stamp BS2P40 yang
mempunyai 40 pin I/O. Pemilihan basic stamp ini karena membutuhkan
banyak input atau output yang dipakai. Berikut ini adalah tampilan basic
stamp BS2P40.
Gambar II.1. Modul basic stamp (BS2P40)
Basic stamp ini mempunyai spesifikasi hardware sebagai berikut:
1. Mikrokontroler basic stamp 2P40 Interpreter Chip (PBASIC48W/P40)
2. 8 x 2Kbyte EEPROM yang mampu menampung hingga 4000 instruksi.
3. Kecepatan prosesor 20MHz Turbo dengan kecepatan eksekusi program
hingga 12000 instruksi per detik.
4. RAM sebesar 38byte (12 I/O, 26 variabel) dengan Scratch Pad sebesar
128 byte.
5. Jalur input / output sebanyak 32 pin.
6. Tersedia jalur komunikasi serial UART RS-232 dengan konektor DB9.
Berikut ini adalah alokasi pin yang terdapat pada mikrokontroler
basic stamp BS2P40.
Gambar II.2. Alokasi pin basic stamp
2.1.2 Sensor Garis
Sensor garis adalah jenis sensor yang yang berfungsi mendeteksi
warna garis hitam atau putih. Sensor ini sangatlah penting karena sensor
menentukan arah dan gerakan robot.
Sensor pendeteksi garis yang digunakan dalam robot adalah
mendasarkan pada prinsip pemantulan cahaya dan phototransistor sebagai
penerima cahaya. Dengan memanfaatkan IC komparator sebagai pembanding
tegangan, yang nantinya akan menghasilkan output digital dari sensor.
2.1.2.1 Phototransistor
Phototansistor merupakan suatu jenis transistor yang sangat
peka trahadap cahaya yang ada disekitarnya. Ketika basis
menangkap cahaya maka collector akan terhubung dengan emitter
dalam hal ini transistor bekerja. Prinsip kerja phototransistor sama
seperti transistor pada umumnya dengan kata lain phototransistor
akan bekerja seperti saklar dengan parameter cahaya untuk
mendapatkan kondisi on dan off. Berikut ini adalah simbol
7
Gambar II.3. Bentuk fisik phototransistor dan simbol phototransistor
2.1.2.2 Komparator
Komparator adalah sebuah rangkaian elektronik yang
berfungsi untuk membandingkan sebuah sinyal masukan dengan
tegangan referensi (VRef). Asumsi sebuah garis bilangan, dimana nol
dianggap sebagai tegangan referensi atau threshold atau pembatas,
jika ada bilangan yang lebih dari nol maka bilangan itu disebut
bilangan positif tetapi sebaliknya, jika ada bilangan di bawah nol
maka disebut bilangan negatif. [4]
Gambar II.4. Bentuk fisik IC LM 393 dan simbol komparator
Pada komparator, threshold berfungsi membandingkan
sebuah sinyal input, sedangkan outputnya akan memiliki dua kondisi
berbeda yaitu low atau high, tergantung rancangan dan konfigurasi
dari rangkaian op-amp yang digunakan. Ilustrasi sebuah rangkaian
Gambar II.5. Rangkaian komparator
Dari dua gambar di atas, komparator terbagi ke dalam dua
konfigurasi, yaitu mode inverting atau mode non-inverting. Pada
rangkaian inverting (gambar sebelah kiri), sinyal input masuk ke pin
+ dari op-amp, dan tegangan referensi masuk ke pin -. Jika sinyal
input melewati / di atas threshold, maka output akan berlogika low,
dan jika sinyal input di bawah threshold, maka output berlogika
high.
Untuk konfigurasi non-inverting ada di (gambar sebelah
kanan), jika sinyal input di bawah threshold, maka output akan
berlogika low, dan jika sinyal input di atas threshold maka output
akan berlogika high. Detil ilustrasi sinyal input, threshold dan output
ada di gambar II.5. bagian bawah kiri dan bawah kanan. [4]
2.1.3 Penggerak Mobil Robot 2.1.3.1 Motor DC
Roda digerakkan menggunakan dua buah motor DC yang
dipasang pada roda sebelah kiri dan kanan. Motor DC merupakan
9 tenaga listrik menjadi tenaga mekanik. Secara umum, kecepatan
putaran poros motor DC akan meningkat seiring dengan
meningkatnya tegangan yang diberikan. Dengan demikian, putaran
motor DC akan berbalik arah jika polaritas tegangan yang diberikan
juga dirubah.
Gambar II.6. Motor DC
Motor gear DC tidak dapat dikendalikan langsung oleh
mikrokontroler, karena kebutuhan arus yang besar sedangkan
keluaran arus dari mikrokontroler sangat kecil. Motor driver
merupakan alternatif yang dapat digunakan untuk menggerakkan
motor DC.
2.1.3.2 IC Motor Driver
L298 adalah IC yang dapat digunakan sebagai driver motor
DC. IC ini menggunakan prinsip kerja H-Bridge. Tiap H-Bridge
dikontrol menggunakan level tegangan TTL yang berasal dari output
mikrokontroler. L298 dapat mengontrol 2 buah motor DC. Tegangan
yang dapat digunakan untuk mengendalikan robot bisa mencapai
tegangan 46 VDC dan arus 2 A untuk setiap kanalnya. Berikut ini
bentuk IC L298 yang digunakan sebagai motor driver.
Pengaturan kecepatan kedua motor dilakukan dengan cara
pengontrolan lama pulsa aktif (mode PWM – Pulse width
Modulation) yang dikirimkan ke rangkaian driver motor oleh
pengendali (mikrokontroler basic stamp). Duty cycle PWM yang
dikirimkan menentukan kecepatan putar motor DC.
2.1.3.3 PWM (Pulse Width Modulation)
PWM (Pulse width Modulation), adalah sebuah metode
untuk pengaturan kecepatan perputaran, dalam hal ini adalah motor
DC untuk gerak robot. PWM dapat dihasilkan oleh empat metode,
sebagai berikut :
1. Metode analog
2. Metode digital
3. IC diskrit
4. Mikrokontroler
Pada robot ini, metode PWM dikerjakan oleh
mikrokontroler. Metode PWM ini akan mengatur lebar atau
sempitnya periode pulsa aktif yang dikirimkan oleh mikrokontroler
ke driver motor. Pada pengaturan kecepatan robot, nilai PWM mulai
dari 0-255. Secara analog besaran PWM dihitung dalam prosentase,
nilai ini didapat dari perbandingan: T high / (T high + T low ) *
100%. Dimana T adalah periode atau waktu tempuh untuk sebuah
pulsa, yang terbagi menjadi bagian puncak positif (T high) dan
11 Gambar II.8. Ilustrasi prosentase PWM
Semakin rapat periode antar pulsa, maka frekuensi yang
dihasilkan akan semakin tinggi, ini berarti kecepatan akan
bertambah. Semakin lebar jarak antar pulsa, maka frekuensi semakin
rendah ini berarti kecepatan berkurang atau menurun. Kondisi
pemberian kecepatan harus disesuaikan dengan kondisi track yang
akan dilewati oleh robot, misal pada saat jalan lurus, naik atau turun
harus mendapatkan nilai PWM yang tepat. [1]
2.1.4 Catu Daya
Catu daya memegang peranan yang sangat penting dalam hal
perancangan sebuah robot. Tanpa bagian ini robot tidak akan berfungsi.
Begitu juga bila pemilihan catu daya tidak tepat, maka robot tidak akan
bekerja dengan baik.
Penentuan sistem catu daya yang akan digunakan ditentukan oleh
banyak faktor, diantaranya :
1. Tegangan
Setiap aktuator tidak memiliki tegangan yang sama. Hal ini akan
berpengaruh terhadap disain catu daya. Tegangan tertinggi dari salah
satu aktuator akan menentukan nilai tegangan catu daya.
2. Arus
lama daya tahan baterai bila digunakan pada beban yang sama.
3. Teknologi Baterai
Baterai isi ulang ada yang dapat diisi hanya apabila benar-benar
kosong, dan ada pula yang dapat diisi ulang kapan saja tanpa harus
menunggu baterai tersebut benar-benar kosong.
Baterai yang digunakan pada mobile robot ini adalah baterai berjenis
Nickel Metal Hydride. Hal ini karena jenis baterai ini merupakan jenis
baterai yang dapat diisi ulang (rechargeable). Baterai ini memiliki tegangan
kerja 1,2 Volt. Berikut ini adalah contoh sebuah baterai Ni-MH 2700 mAh.
Gambar II.9. Baterai Ni-MH 2700 mAh
Untuk pengisian baterai ini dapat dilakukan kapan saja, selain jenis
baterai Ni-MH, masih banyak lagi jenis baterai yang tersedia di pasaran
dengan spesifikasi yang beragam dan dapat digunakan untuk catu daya pada
sebuah robot. Diantaranya baterai Ni-cd, Alkaline, Lithium, Lead Acid dan
sebagainya, yang masing-masing mempunyai kelebihan dan
kekurangannya. [8]
2.1.5 Penggerak Gripper
Gripper / penjepit digunakan untuk alat pengangkat box, gripper
digerakkan dengan menggunakan 2 buah mini servo, dimana untuk menjepit
dan mengangkat box. Berikut adalah mini servo yang dipakai:
13
Sebuah motor servo standard adalah alat yang dapat mengendalikan
posisi, dapat membelokkan dan menjaga suatu posisi berdasar penerimaan
pada suatu signal elektronik itu. Karena motor DC servo merupakan alat
untuk mengubah energi listrik menjadi energi mekanik, maka magnit
permanent motor DC servo yang mengubah energi listrik ke dalam energi
mekanik melalui interaksi dari dua medan magnit.
Gambar II.11. Servo standar
Bagian - bagian dari sebuah motor servo standard adalah sebagai
berikut:
1. Konektor yang digunakan untuk menghubungkan motor servo dengan
Vcc, Ground dan signal input yang dihubungkan ke Basic Stamp.
2. Kabel menghubungkan Vcc, Ground dan signal input dari konektor ke
motor servo.
3. Tuas menjadi bagian dari motor servo yang kelihatan seperti suatu
bintang four-pointed. Ketika motor servo berputar, tuas motor servo
akan bergerak ke bagian yang dikendalikan sesuai dengan program.
4. Cassing berisi bagian untuk mengendalikan kerja motor servo yang
pada dasarnya berupa motor DC dan gear. Bagian ini bekerja untuk
menerima instruksi dari basic stamp dan mengkonversi ke dalam
2.1.6 Sensor Warna
Sensor warna berfungsi sebagai pembeda warna box. Warna di pakai
adalah warna dasar yaitu Red, Green dan Blue (RGB) untuk nantinya akan
dikelompokkan berdasarkan warna yang sama di tempat penyimpanan.
Berikut ini adalah sensor warna seri TCS3200 yang dipakai.
Gambar II.12. Modul sensor warna TCS3200
2.2 Perangkat Lunak (Software)
2.2.1 Pengenalan Basic Stamp Editor
Perangkat lunak merupakan faktor penting dalam tahap perancangan
robot. Perangkat lunak ini merupakan algoritma gerak dan tugas robot
dalam bentuk listing program yang ditanamkan kedalam mikrokontroler.
Program dapat bermacam - macam bentuk versi dan bahasa
pemrogramannya, sesuai dengan spesifikasi dari mikrokontroler yang
digunakan.
Mikrokontroler basic stamp (BS2P40) menggunakan bahasa
pemrograman basic. Software yang digunakan adalah basic stamp editor.
Basic stamp editor adalah sebuah editor yang dibuat oleh Paralax Inc untuk
menulis program, mengkompile dan mendownloadnya ke mikrokontroler
keluarga basic stamp. Program ini memungkinkan penggunanya
memprogram basic stamp dengan bahasa basic yang relatif ringan
dibandingkan bahasa pemrograman lainnya. Berikut ini beberapa
15
Menu utama editor Jenis basic stamp Versi bahasa basic Run Tabel II.1. Beberapa instruksi dasar basic stamp
Instruksi Keterangan
DO...LOOP Perulangan
GOSUB Memanggil prosedur
IF..THEN Percabangan
FOR...NEXT Perulangan
PAUSE Waktu tunda milidetik
IF...THEN Perbandingan
PULSOUT Pembangkit pulsa
PULSIN Menerima pulsa
GOTO Loncat ke alamat memori tertentu
HIGH Menset pin I/O menjadi 1
LOW Menset pin I/O menjadi 0
PWM Konversi suatu nilai digital ke keluaran analog lewat pulse
width modulasi
Gambar II.13. Tampilan basic stamp editor
2.2.2 Memprogram Basic Stamp
Dalam pemrograman, sebuah program lengkap secara umum dapat
dibagi menjadi empat bagian penting, yaitu :
1. Header
2. Variabel
3. Program utama
4. Prosedur
Pemrograman dalam basic stamp editor, secara blok dibagi
menjadi empat bagian penting.
Gambar II.14. Urutan bagian dari program dalam basic stamp
2.2.2.1 Directive
Directive ditulis paling awal program yang dibuat. Bagian
ini menentukan tipe prosesor yang digunakan dan versi dari
compiler PBASIC yang digunakan untuk mengkompile bahasa basic
menjadi bahasa mesin. Tampilannya adalah seperti gambar berikut :
Gambar II.15. Tampilan bagian directive Directive
Deklarasi variabel
Program utama
17
2.2.2.2 Menentukan Variabel
Menentukan PIN mikrokontroler yang digunakan serta
membuat variabel. Ada beberapa ketentuan untuk mendeklarasikan
variabel yaitu :
1. PIN : PIN dari mikrokontroler (0-15)
2. VAR : Variabel
3. CON : Konstanta
PIN yang digunakan sudah ditentukan sesuai dengan
konfigurasi hardware / mainboard yang digunakan adalah BS2P40.
Selain itu dapat membuat variabel bebas yang nantinya dapat
digunakan untuk keperluan perulangan atau yang lainnya.
Gambar II.16. Tampilan bagian deklarasi variabel
Setelah menentukan variabal dan PIN yang digunakan,
selanjutnya membuat program utama. Pada bagian program utama
bisa melakukan dua mode, yaitu mode pengetikan langsung atau
mode pemanggilan prosedur. Mode pengetikan langsung akan efektif
jika program tidak terlalu banyak dan hanya untuk menangani kasus
yang sederhana. Tetapi jika program sudah mulai banyak, rumit dan
lebih dari satu slot, maka sebaiknya program utama memanggil
prosedur. Pemanggilan prosedur akan mempermudah urutan/alur
2.2.2.3 Bagian Program Utama
Berikut ini contoh program utama yang memanggil
prosedur MAJU. Listing programnya dapat dilihat pada gambar
berikut.
Gambar II.17. Tampilan bagian program utama yang memanggil prosedur
2.2.2.4 Bagian Prosedur
Berikut adalah blok prosedur MAJU yang dipanggil oleh
program utama.
Gambar II.18. Tampilan bagian prosedur MAJU
Sebuah prosedur harus mempunyai nama prosedur yang
disimpan dibagian paling atas prosedur itu sendiri, serta harus
diakhiri dengan Return supaya kembali lagi ke program utama dan
melanjutkan kembali urutan program berikutnya. Sebuah prosedur
mempunyai fungsi khusus, misal untuk prosedur maju ini hanya
bertugas untuk menjalankan robot dengan arah maju.
2.2.2.5 Memeriksa Sintaks Program
Sangat penting untuk memeriksa sintaks program, hal ini
19 memeriksa sintaks ini bisa pilih menu RUN, Cek Syntax atau
kombinasi tombol CTRL+T. Berikut ini adalah tampilan jika listing
program yang kita buat sudah benar.
Gambar II.19. Hasil pemeriksaan sintaks yang sukses (tokenize successful)
2.2.3 Menjalankan Program
Setelah program selesai, program siap di download ke modul basic
stamp. Cara untuk menjalankan program dapat memilih menu RUN atau
kombinasi tombol CTR+R. Berikut adalah tampilan jika pendownlodan
program sukses.
BAB III
PERANCANGAN SISTEM
Bab ini menjelaskan mengenai komponen yang membangun robot
pengangkut box berdasarkan perbedaan warna berdasarkan landaasan teori.
Gambar III.1 merupakan diagram blok keseluruhan dari sistem.
Gambar III.1. Diagram blok sistem
3.1 Perangkat Keras (Hardware)
3.1.1 Mikrokontroler Basic Stamp (BS2P40)
Mikrokontroler yang digunakan adalah mikrokontroler jenis basic
stamp BS2P40 dengan dilengkapi 40 port yang bisa digunakan sebagi input
ataupun output. Pemilihan mikrokontroler jenis ini didasari kemampuannya
yang cukup handal, permrograman yang tidak terlalu sulit dan harganya
yang relatif tidak terlalu mahal. Berikut konfigurasi portnya yang dipakai.
Mikrokontroler
Basic Stamp (BS2P40)
Driver Motor
Motor DC Sensor Garis
21
Tabel III.1. Konfigurasi port yang digunakan pada mikrokontroler basic stamp.
3.1.2 Sensor Garis
Sensor garis berfungsi untuk mendeteksi warna dari permukaan yang
berada dibawah robot line follower dengan maksud agar sensor garis ini
dapat mengasilkan logika posisi dari robot line follower terhadap garis tepat
berada dibawah robot.
Logika posisi yang dihasilkan oleh sensor garis ini kemudian akan
dijadikan input ke mikrokontroler pada robot. Pada sensor garis, komponen
yang digunakan yaitu phototransistor sebagai pendeteksi garis hitam dengan
dasar putih yang menjadi jalur robot dan LED ( Light Emitting Diode )
sebagai pemancar cahaya ke lantai yang kemudian dipantulkan dan diterima
oleh phototransistor.
Gambar III.2. Prinsip kerja sensor garis
Phototransistor bekerja dengan cara menangkap emisi cahaya yang
dikeluarkan oleh LED.Prinsip kerja dari phototransistor adalah ketika basis
menangkap cahaya maka collector akan terhubung dengan emitter dalam hal
ini transistor bekerja. Phototransistor memiliki mode aktif artinya transistor
akan menghasilkan reaksi yang sebanding dengan besaran cahaya yang
diterima sampai dengan tingkatan tertentu.
Output dari phototransistor yaitu berupa tegangan. Semakin besar
intensitas cahaya yang didapat maka makin besar pula tegangan yang
dihasilkan. Dengan memanfaatkan mode aktif dari phototransistor maka
ditambahkan sebuah komparator sehingga nilai keluaran dari
phototransistor yang berupa data analog dirubah menjadi data digital. Hal
LED Phototransistor LED Phototransistor
23
ini dilakukan karena mikrokontroler hanya bisa bekerja dengan data digital.
Berikut ini adalah rangkaian sensor garis yang dipakai.
VCC
Gambar III.3. Rangkaian sensor garis
3.1.3 Penggerak Roda
3.1.3.1 Modul Penggerak Roda
L298 bisa men-drive dua buah motor dc sampai tegangan
46 VDC dan arus sebesar 2A untuk tiap kanal, supply tegangan yang
diberikan ke motor dc sebesar 7.2 VDC yang berasal dari baterai
Ni-MH 2700 mAh, sedangkan untuk tegangan logic pada driver motor
diberikan tegangan sebesar 5 VDC yang berasal dari mikrokontroler.
Penggunaan dioda pada perancangan driver motor ini ditujukan agar
driver motor dapat menahan arus balik yang datang dari motor dc.
Satu motor dapat dikontrol dengan 3 pin yaitu Aenable, A+
dan A-. Berikut ini adalah tabel kebenaran untuk salah satu motor.
Tabel III.2. Tabel kebenaran untuk salah satu motor
AEN A+ A- Reaksi Motor
L L L Motor off
L L H Motor off
L H L Motor off
H L L Stop
H H L Berputar searah jarum jam
H L H Berputar berlawanan arah jarum jam
H H H Stop
Ket: H = High = 1 dan L = Low = 0
Gambar III.4. Rangkaian driver motor L298
Pengontrolan kedua motor kiri dan kanan dibutuhkan 6 port
output pada mikrokontroler, yaitu untuk motor kiri masing-masing
AEN, A+ , A- dan motor kanan BEN, B+, B- seperti yang terlihat pada
tabel berikut.
Tabel III.3. Tabel kebenaran untuk dua motor
Gerak AEN A+ A- BEN B+ B-
Maju H L H H H L
Belok kanan H L H H L H
Belok kiri H H L H H L
25 3.1.3.2 Pengaturan Gerak Robot Dengan Metode PWM
Pada dasarnya PWM yang dihasilkan mikrokontroler akan
berubah menjadi tegangan analog yang akan diterima oleh bagian
motor driver. Jika PWM diberi kondisi High, maka tegangan
keluaran mendekati 7,4 Volt, dan jika PWM diberi kondisi Low,
maka tegangan keluaran mendekati 0 Volt. Diantara kondisi itu
maka nilai tegangan keluaran dapat kita hitung, yaitu :
(Duty ÷ 255) x 7,4 V.
Sebagai contoh, ketika Duty adalah 100, maka :
(100 ÷ 255) x 7,4 V = 2,90 V, tegangan keluaran PWM sebesar 2,90
V. Duty cycle sebagai pengaturan kecepatan, mulai (0-255)
Hal-hal yang harus diperhatikan dalam pemrogramannya
adalah nama pin tujuan, lamanya PWM diberikan dan kecepatannya
(duty cycle). Perintah yang digunakan dalam pemrograman bahasa
basic untuk mikrokontroler BS2P40 adalah sebagai berikut :
Syntax: PWM Pin, Duty, Duration
Keterangan :
1. Pin adalah variable, dengan rentang nomor pin dari (0-15).
2. Duty adalah variabel, (0-255), menentukan besarnya tegangan
analog, yang oleh motor driver akan diterima untuk mengatur
kecepatan putarannya.
3. Duration adalah varibel (0-255) untuk durasi PWM tersebut
dikerjakan.
Berikut adalah contoh pemrograman PWM untuk mengatur
kecepatan gerak maju :
Gambar III.5. Syntax PWM
Pada listing program di atas, PWM adalah perintahnya,
bagian variabel. Nilai 150 dan 200 adalah kecepatan (duty cycle) dan
40 adalah durasi PWM.
Nilai duty cycle atau kecepatan untuk motor kiri dan motor
kanan nilainya berbeda. Hal ini dilakukan untuk mendapatkan gerak
lurus, karena secara tipikalnya kedua motor tersebut berbeda, maka
solusinya harus memberikan nilai kecepatan berbeda agar hasil
geraknya sama / lurus.
3.1.4 Sensor Warna (TCS3200)
Modul sensor warna TCS3200 merupakan pendeteksi warna RGB
menggunakan array fotodetektor berupa chip warna dari TAOS TCS3200.
Aplikasinya antara lain pada pendeteksi obyek di industri.
Fitur:
- Tegangan Kerja : 2.7 - 5.5 V
- Sensor Array : 8 x 8 photo dioda, 16 photodioda filter merah, 16
photodioda filter hijau, 16 photodioda tanpa filter.
- Lensa : 5.3 mm (dalam jarak 25 mm mampu melihat area bujur sangkar
dengan sisi 4 mm).
Gambar III.6. Sketsa fisik dan blok fungsional TCS3200
Setiap warna bisa disusun dari warna dasar. Untuk cahaya, warna
dasar penyusunnya adalah warna Merah, Hijau dan Biru, atau lebih dikenal
27
Photodiode pada IC TCS3200 disusun secara array 8x8 dengan
konfigurasi: 16 photodiode untuk menfilter warna merah, 16 photodiode
untuk memfilter warna hijau, 16 photodiode untuk memfilter warna biru,
dan 16 photodiode tanpa filter. Kelompok photodiode mana yang akan
dipakai bisa diatur melalui kaki selektor S2 dan S3.
Tabel III.4. Kombinasi fungsi dari S2 dan S3
S2 S3 Photodiode yang aktif
0 0 Pemfilter Merah
0 1 Pemfilter Biru
1 0 Tanpa Filter
1 1 Pemfilter Hijau
Photodiode akan mengeluarkan arus yang besarnya sebanding
dengan kadar warna dasar cahaya yang menimpanya. Arus ini kemudian
dikonversikan menjadi sinyal kotak dengan frekuensi sebanding dengan
besarnya arus. Frekuensi Output ini bisa diskala dengan mengatur kaki
selektor S0 dan S1.
Tabel III.5. Penskalaan Output
S0 S1 Skala frekuensi Output
0 0 Power Down
0 1 2%
1 0 20%
1 1 100%
3.1.5 Design Gripper
Gripper digunakan untuk mengangkat box yang ada di asal yang
akan di pindahkan ke tujuan. Gripper di design disesuaikan dengan bentuk
9,5 cm
5 cm
3 cm 4 cm
4,5 cm 7 cm
Sensor Warna
Gambar III.7. Design gripper
Dari gambar diatas terlihat dimensi dari gripper. Pada gripper
terdapat 2 mini servo sebagai penggerak gripper dan sensor warna sebagai
mendeteksi warna box.
3.1.6 Design Robot
Berikut ini adalah robot yang dipakai dengan spesifikasi sebagai
berikut:
1. Jenis robot merupakan robot beroda yang memiliki 4 buah roda yang
digerakkan dengan 2 motor dc di roda bagian kiri dan kanan.
2. Bentuk robot berdimensi 25 cm x 18 cm.
3. Sensor garis dipasang di bawah bagian depan.
4. Gripper sebagai pengangkat box dipasang pada bagian depan robot.
29
(a)
(b) (c)
Gambar III.8. (a) Robot tampak depan (b) Robot tampak samping kiri (c) Robot
tampak samping kanan
3.2 Perangkat Lunak (Software) 3.2.1 Algoritma dasar
Perancangan algoritma dasar sangat penting untuk sistem kendali
pada robot, karena algoritma yang akan menjadi panduan dalam
mengembangkan algoritma kendali keseluruhan dari track yang telah
1
2
3
G
B
R
HOMEASAL
TUJUAN
S1 S2
S3
Gambar III.9. Miniatur track robot
Pencarian box dimulai dari home, box yang akan dipindahkan ke
tujuan berada di 3 sumber asal, box akan diacak dan dan dipindahkan ke
tujuan penyimpanan sesuai dengan warna. Pencarian box di asal terurut dari
asal 1 sampai dengan 3, dengan proses pencarian warna merah, hijau dan
biru. Setelah ketiga warna dasar dipindahkan robot kemudian kembali ke
home.
3.2.2 Algoritma Seluruh Kendali Robot
Pada bagian ini adalah algoritma jalan robot dengan tugas
memindahkan box ke tujuan pada tiga bagian asal box yang di random
31 Awal
Inisialisasi program
Baca data sensor Garis
Apakah data semua sensor = 0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Apakah data sensor1 sblumnya =
0 ?
Apakah data sensor4 sblumnya =
0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Berhenti Simpan data sensor1
dan sensor4, panggil prosedur maju lurus
y
Algoritma diatas adalah algoritma untuk program awal jalan robot
yang start di home, jalan mengikuti garis. Robot selalu akan menuju ke asal
1 untuk mendeteksi warna awal d asal 1. Selama proses jalan ke asal 1,
setiap persimpangan yang dilewatinya selalu belok kiri karena di sesuaikan
dengan track jalan ke asal 1 dan akan berhenti jika semua sensor garis pada
robot berada pada permukaan putih. Berikut ini adalah penjelasan flowchart
program:
Tabel III.6. Penjelasan flowchart program utama
No Keterangan
a Memulai awal program.
b Pendeklarasian program. Pengaturan nama prosesor,nama
kompiler, konfigurasi pin-pin dan deklarasi variabel.
c Membandingkan nilai a, jika a=1 maka siap untuk baca
warna
d Jika a tidak bernilai 1, maka nilai target dan asal=1
e Baca sensor garis, untuk mengetahui posisi robot terhadap
garis.
f
Membandingkan semua sensor dengan nilai nol. Sensor
bernilai 0, berarti sensor berada pada garis hitam. Jika
semua sensor hitam, robot berada pada persimpangan.
g
Jika sensor berada di persimpangan, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kiri.
h Jika semua sensor tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 1 dengan nilai nol.
i Jika sensor 1 bernilai nol, simpan data terakhir sensor 1
33
j Jika sensor 1 tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 4 dengan nilai nol.
k Jika sensor 4 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
l
Jika sensor 4 tidak bernilai nol, maka lakukan lagi
perbandingan data semua sensor dengan nilai satu. Sensor
bernilai 1, berarti sensor berada pada permukaan putih.
Jika semua sensor putih, robot berada di luar jalur hitam.
m
Jika semua sensor bernilai satu, lakukan perpandingan lagi
terhadap kondisi bebelum data semua sensor, sensor 1
bernilai nol.
n
Jika kondisi sensor 1 sebelumnya nol, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kanan.
o
Jika data semua sensor tidak bernilai satu, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
maju lurus.
p Jika kondisi sensor 1 sebelumnya tidak nol, lakukan
perbandingan lagi dengan data sensor 4 sebelumnya nol.
q
Jika data sensor 4 sebelumnya adalah nol, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
belok kiri.
r Jika data sensor 4 sebelumnya tidak nol, maka robot
Turunkan gripper
c Panggil prosedur
jalan ke tujuan merah dari asal 1 Apakah Target=1 jalan ke tujuan merah dari asal 2
Panggil prosedur jalan ke tujuan merah dari asal 3
Panggil prosedur jalan ke tujuan hijau dari asal 1
E jalan ke tujuan hijau dari asal 2
Apakah Target=2 and Asal=3 ?
Naikkan gripper
Belok kanan
Panggil prosedur jalan ke tujuan hijau dari asal 3
F
35 jalan ke tujuan biru
dari asal 1 jalan ke tujuan biru
dari asal 2
Naikkan gripper
Belok kanan
Panggil prosedur jalan ke tujuan biru
dari asal 3
Gambar III.12. Flowchart program utama lanjutan2
Algoritma di atas adalah algoritma program untuk proses
pendeteksian warna box, pencarian box di asal, memindahkan box ke tujuan
sesuai dengan target warna sampai tugas robot selesai kembali ke home.
Berikut ini adalah penjelasan diagram alir program:
Tabel III.7. Penjelasan flowchart program utama lanjutan
No Keterangan
a Robot berada di posisi asal 1, baca data sensor jarak
b Turunkan gripper, maka baca data warna box dengan
menggunakan sensor warna.
c Apakah target pencarian warna box merah di asal 1
d Bandingkan warna box dengan target merah
e Jika target sesuai dengan warna box, maka angkat box dan
f Panggil prosedur jalan ke tujuan merah dari asal 1
g Jika target dengan warna box tidak sama, maka cari di asal
2
h Apakah target pencarian warna box merah di asal 2
i Bandingkan warna box dengan target merah
j Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
k Panggil prosedur jalan ke tujuan merah dari asal 2
l Jika target dengan warna box tidak sama, maka cari di asal
3
m Apakah target pencarian warna box merah di asal 3
n Angkat box dan belok kanan sampai ketemu garis hitam
o Panggil prosedur jalan ke tujuan merah dari asal 3
p Apakah target pencarian warna box hijau di asal 1
q Bandingkan warna box dengan target hijau
r Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
s Panggil prosedur jalan ke tujuan hijau dari asal 1
t Jika target dengan warna box tidak sama, maka cari di asal
2
u Apakah target pencarian warna box hijau di asal 2
v Bandingkan warna box dengan target hijau
w Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
x Panggil prosedur jalan ke tujuan hijau dari asal 2
y Jika target dengan warna box tidak sama, maka cari di asal
3
z Apakah target pencarian warna box hijau di asal 3
aa Angkat box dan belok kanan sampai ketemu garis hitam
37
ac Apakah target pencarian warna box biru di asal 1
ad Bandingkan warna box dengan target biru
ae Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
af Panggil prosedur jalan ke tujuan biru dari asal 1
ag Jika target dengan warna box tidak sama, maka cari di asal
2
ah Apakah target pencarian warna box biru di asal 2
ai Bandingkan warna box dengan target biru
aj Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
ak Panggil prosedur jalan ke tujuan biru dari asal 2
al Jika target dengan warna box tidak sama, maka cari di asal
3
am Jika target sesuai dengan warna box, maka angkat box dan
belok kanan sampai ketemu garis hitam
Baca data sensor Garis
Apakah data semua sensor = 0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri Apakah data sensor1 sblumnya =
0 ?
Apakah data sensor4 sblumnya =
0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Berhenti Simpan data sensor1
dan sensor4, panggil prosedur maju lurus
y
Mengatur posisi untuk mencari box
a=1 a
p
39
Tabel III.8. Penjelasan flowchart program pencarian box di asal
No Keterangan
a Mengatur posisi robot untuk siap mencari box di asal
selanjutnya
b Baca sensor garis, untuk mengetahui posisi robot terhadap
garis.
c
Membandingkan semua sensor dengan nilai nol. Sensor
bernilai 0, berarti sensor berada pada garis hitam. Jika
semua sensor hitam, robot berada pada persimpangan.
d
Jika sensor berada di persimpangan, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kiri.
e Jika semua sensor tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 1 dengan nilai nol.
f Jika sensor 1 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kanan.
g Jika sensor 1 tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 4 dengan nilai nol.
h Jika sensor 4 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
i
Jika sensor 4 tidak bernilai nol, maka lakukan lagi
perbandingan data semua sensor dengan nilai satu. Sensor
bernilai 1, berarti sensor berada pada permukaan putih. Jika
semua sensor putih, robot berada di luar jalur hitam.
j
Jika semua sensor bernilai satu, lakukan perpandingan lagi
terhadap kondisi bebelum data semua sensor, sensor 1
bernilai nol.
k Jika kondisi sensor 1 sebelumnya nol, simpan data terakhir
kanan.
l
Jika data semua sensor tidak bernilai satu, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
maju lurus.
m Jika kondisi sensor 1 sebelumnya tidak nol, lakukan
perbandingan lagi dengan data sensor 4 sebelumnya nol.
n
Jika data sensor 4 sebelumnya adalah nol, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
belok kiri.
o Jika data sensor 4 sebelumnya tidak nol, maka robot
berhenti.
41 Baca data sensor Garis
Apakah data semua sensor = 0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Apakah data sensor1 sblumnya =
0 ?
Apakah data sensor4 sblumnya =
0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Berhenti Simpan data sensor1
dan sensor4, panggil prosedur maju lurus
y
Simpan data sensor1 dan sensor4, panggil prosedur maju lurus
t
Tabel III.9. Penjelasan flowchart program jalan menuju asal 1 dari tujuan R
No Keterangan
a Nilai simpang=0
b Baca sensor garis, untuk mengetahui posisi robot terhadap
garis.
c
Membandingkan semua sensor dengan nilai nol. Sensor
bernilai 0, berarti sensor berada pada garis hitam. Jika
semua sensor hitam, robot berada pada persimpangan.
d Nilai simpang ditambah 1
e Apakah nilai simpang 1 atau 3
f Jika nilai simpang 1 atau 3, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
g
Jika nilai simpang tidak 1 atau 3, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur maju
lurus.
h Jika semua sensor tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 1 dengan nilai nol.
i Jika sensor 1 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kanan.
j Jika sensor 1 tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 4 dengan nilai nol.
k Jika sensor 4 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
l
Jika sensor 4 tidak bernilai nol, maka lakukan lagi
perbandingan data semua sensor dengan nilai satu. Sensor
bernilai 1, berarti sensor berada pada permukaan putih. Jika
semua sensor putih, robot berada di luar jalur hitam.
m
Jika semua sensor bernilai satu, lakukan perpandingan lagi
terhadap kondisi bebelum data semua sensor, sensor 1
43
n
Jika kondisi sensor 1 sebelumnya nol, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kanan.
o
Jika data semua sensor tidak bernilai satu, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
maju lurus.
p Jika kondisi sensor 1 sebelumnya tidak nol, lakukan
perbandingan lagi dengan data sensor 4 sebelumnya nol.
q
Jika data sensor 4 sebelumnya adalah nol, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
belok kiri.
r Jika data sensor 4 sebelumnya tidak nol, maka robot
berhenti.
Baca data sensor Garis
Apakah data semua sensor = 0 ?
Simpan data sensor1 dan sensor4, panggil prosedur maju lurus
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Apakah data sensor1 sblumnya =
0 ?
Apakah data sensor4 sblumnya =
0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Berhenti Simpan data sensor1
dan sensor4, panggil prosedur maju lurus
y
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
t
45
Tabel III.10. Penjelasan flowchart program jalan menuju asal 1 dari tujuan G
No Keterangan
a Nilai simpang=0
b Baca sensor garis, untuk mengetahui posisi robot terhadap
garis.
c
Membandingkan semua sensor dengan nilai nol. Sensor
bernilai 0, berarti sensor berada pada garis hitam. Jika
semua sensor hitam, robot berada pada persimpangan.
d Nilai simpang ditambah 1
e Apakah nilai simpang 1 atau 2
f Jika nilai simpang 1 atau 2, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur maju lurus.
g
Jika nilai simpang tidak 1 atau 2, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kiri.
h Jika semua sensor tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 1 dengan nilai nol.
i Jika sensor 1 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kanan.
j Jika sensor 1 tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 4 dengan nilai nol.
k Jika sensor 4 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
l
Jika sensor 4 tidak bernilai nol, maka lakukan lagi
perbandingan data semua sensor dengan nilai satu. Sensor
bernilai 1, berarti sensor berada pada permukaan putih. Jika
semua sensor putih, robot berada di luar jalur hitam.
m
Jika semua sensor bernilai satu, lakukan perpandingan lagi
terhadap kondisi bebelum data semua sensor, sensor 1
n
Jika kondisi sensor 1 sebelumnya nol, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kanan.
o
Jika data semua sensor tidak bernilai satu, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
maju lurus.
p Jika kondisi sensor 1 sebelumnya tidak nol, lakukan
perbandingan lagi dengan data sensor 4 sebelumnya nol.
q
Jika data sensor 4 sebelumnya adalah nol, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
belok kiri.
r Jika data sensor 4 sebelumnya tidak nol, maka robot
berhenti.
47 Baca data sensor Garis
Apakah data semua sensor = 0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Apakah data sensor1 sblumnya =
0 ?
Apakah data sensor4 sblumnya =
0 ?
Simpan data sensor1 dan sensor4, panggil prosedur belok kanan
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
Berhenti Simpan data sensor1
dan sensor4, panggil prosedur maju lurus
y
Simpan data sensor1 dan sensor4, panggil prosedur belok kiri
t
Tabel III.11. Penjelasan flowchart program jalan menuju home dari tujuan G
No Keterangan
a Nilai simpang=0
b Baca sensor garis, untuk mengetahui posisi robot terhadap
garis.
c
Membandingkan semua sensor dengan nilai nol. Sensor
bernilai 0, berarti sensor berada pada garis hitam. Jika
semua sensor hitam, robot berada pada persimpangan.
d Nilai simpang ditambah 1
e Apakah nilai simpang 1
f Jika nilai simpang 1, simpan data terakhir sensor 1 dan
sensor 4 kemudian panggil prosedur belok kanan.
g Jika nilai simpang tidak 1, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
h Jika semua sensor tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 1 dengan nilai nol.
i Jika sensor 1 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kanan.
j Jika sensor 1 tidak bernilai nol, maka lakukan lagi
perbandingan data sensor 4 dengan nilai nol.
k Jika sensor 4 bernilai nol, simpan data terakhir sensor 1
dan sensor 4 kemudian panggil prosedur belok kiri.
l
Jika sensor 4 tidak bernilai nol, maka lakukan lagi
perbandingan data semua sensor dengan nilai satu. Sensor
bernilai 1, berarti sensor berada pada permukaan putih. Jika
semua sensor putih, robot berada di luar jalur hitam.
m
Jika semua sensor bernilai satu, lakukan perpandingan lagi
terhadap kondisi bebelum data semua sensor, sensor 1
49
n
Jika kondisi sensor 1 sebelumnya nol, simpan data terakhir
sensor 1 dan sensor 4 kemudian panggil prosedur belok
kanan.
o
Jika data semua sensor tidak bernilai satu, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
maju lurus.
p Jika kondisi sensor 1 sebelumnya tidak nol, lakukan
perbandingan lagi dengan data sensor 4 sebelumnya nol.
q
Jika data sensor 4 sebelumnya adalah nol, simpan data
terakhir sensor 1 dan sensor 4 kemudian panggil prosedur
belok kiri.
r Jika data sensor 4 sebelumnya tidak nol, maka robot
BAB IV
PENGUJIAN DAN ANALISA SISTEM
4.1 Pengujian Driver Motor L298
Pengujian driver motor untuk menggerakkan motor. Pengujian ini berlaku
untuk kedua motor ( motor kiri dan motor kanan ). Hasilnya dapat dilihat pada
tabel IV.1 berikut.
Tabel IV.1. Hasil pengujian driver motor untuk menggerakkan motor
Enable IN+ IN- Kondisi motor Keterangan
0 X X Tidak berputar Berhasil
1
0 0 Tidak berputar Berhasil
0 1 Berputar Berhasil
1 0 Berputar berlawanan arah Berhasil
1 1 Tidak berputar Berhasil
Keterangan:
a. Jika enable bernilai nol, maka berapapun inputnya motor tidak
akan berputar
b. Jika enable bernilai satu, maka kondisi motor sesuai dengan
inputan. Kondisi motor dapat terlihat pada tabel IV.1.
Pengujian putar motor dc menggunakan driver motor ini dilakukan dengan
cara memberikan inputan dari mikrokontroler ke driver motor. Untuk
menggerakkan satu motor dc dibutuhkan tiga inputan yaitu input enable, input
positif dan input negatif.
4.2 Pengujian Sensor Garis
Sensor garis yang dipakai adalah dengan memanfaatkan cahaya tampak dari
led dan phototransistor sebagai penerima. Output sensor terhubung ke input
inverting pada komparator, yang dibandingkan dengan tegangan referensi yang
51
Robot ini memiliki empat sensor garis. Sensor ini dapat menjadi input posisi
robot, yang dikendalikan dengan motor sehingga robot tidak keluar dari garis
hitam. Hasilnya dapat dilihat pada tabel IV.2 dan IV.3.
Tabel IV.2. Pengujian sensor garis di permukaan putih
Sensor Non-Inverting Inverting Output Keterangan
1 3.00 V 2,47 V High Berhasil
2 3,00 V 1,58 V High Berhasil
3 3,00 V 2,10 V High Berhasil
4 3,00 V 2,70 V High Berhasil
Tabel IV.3. Pengujian sensor garis di permukaan hitam
Sensor Non-Inverting Inverting Output Keterangan
1 3,00 V 4,37 V Low Berhasil
2 3,00 V 4,35 V Low Berhasil
3 3,00 V 4,39 V Low Berhasil
4 3,00 V 4,61 V Low Berhasil
Keterangan:
a. Input non-inverting, merupakan tegangan referensi.
b. Input inverting, merupakan output sensor.
c. Output didapat dari membandingan tegangan output sensor
dengan tegangan referensi.
d. Keterangan merupakan hasil pengujian sensor yang telah
dibandingkan dengan ketentuan dari komparator yang dipakai.
Pengujian terhadap sensor garis, dengan cara mengukur tegangan pada
kedua input di komparator yaitu input inverting dan non-inverting sesuai dengan
ketentuan komparator dimana jika tegangan non-inverting > tegangan inverting
maka output high, sebaliknya jika tegangan non-inverting < tegangan inverting
4.3 Pengujian Warna
Pengujian terhadap warna menggunakan sensor warna yang dilakukan di
ruangan Lab. Elektronika berdasarkan jarak tertentu. Berikut ini adalah hasil
pengujian terhadap warna merah, hijau dan biru pada jarak 1 cm yang dibaca oleh
mikrokontroler.
Gambar IV.1. Data sensor warna yang terkadung dalam warna merah
53
Gambar IV.3. Data sensor warna yang terkadung dalam warna biru
Dari gambar di atas terlihat bahwa nilai dominan terhadap masing – masing
data merupakan warna dasar dari objek yang dideteksi. Data sensor ini sangat
tergantung dengan kondisi cahaya sekitar dan jarak sensor dengan objek warna.
Data pengujian warna terhadap 10 jenis warna sebagai sample dapat dilihat pada
halaman lampiran A.
4.4 Pengujian Memindahkan Box Di Track
Pengujian jalan robot dimulai dari home ke asal 1 dan selanjutnya robot
akan jalan sesuai dengan algoritma yang sudah ditentukan. Pengujian jalan robot
terhadap tugas yang harus dikerjakan terlihat pada tabel IV.4 berikut.
Tabel IV.4. Pengujian memindahkan box di track
No Pengujian Banyak
percobaan
Tingkat keberhasilan
1 Jalan Di Track Ke Asal 1 10 100%
2 Memindahkan Box Warna Merah Dari Asal 1
Ke Tujuan R 10 80%
3 Memindahkan Box Warna Merah Dari Asal 2
Ke Tujuan R 10 90%
4 Memindahkan Box Warna Merah Dari Asal 3
5 Memindahkan Box Warna Hijau Dari Asal 1
Ke Tujuan G 10 70%
6 Memindahkan Box Warna Hijau Dari Asal 2
Ke Tujuan G 10 60%
7 Memindahkan Box Warna Hijau Dari Asal 3
Ke Tujuan G 10 70%
8 Memindahkan Box Warna Biru Dari Asal 1
Ke Tujuan B 10 60%
9 Memindahkan Box Warna Biru Dari Asal 2
Ke Tujuan B 10 60%
10 Memindahkan Box Warna Biru Dari Asal 3
Ke Tujuan B 10 50%
Rata-rata 71%
Pengujian terhadap tugas robot yang berhasil memindahkan box di track
dari 10 pengujian didapat persentase keberhasilan 71% dan faktor kegagalan
antara lain:
a. Robot keluar dari jalur hitam yang sudah ditentukan dalam perjalanan ke
asal atau dalam proses pemindahan box ke tujuan.
b. Robot gagal dalam proses pengangkatan box di asal karena jarak robot
dengan box yang terlalu jauh sehingga robot tidak dapat menjangkau
box.
c. Robot salah memindahkan box di tujuan.
Pengujian lebih lengkap terhadap masing – masing tugas robot dalam
mengangkat box berdasarkan warna dari asal ke tujuan, dapat dilihat pada
55
BAB V
SIMPULAN DAN SARAN
5.1 Simpulan
Dari hasil pengujian terhadap sensor garis terbukti handal dalam mendeteksi
pembeda antara permukaan hitam atau putih. Pengujian terhadap data warna yang
dilakukan menjadi pembanding antara warna, terbukti handal dalam mendeteksi
warna dasar RGB.
Pengujian dari tugas robot yang berhasil dikerjakan didapat nilai rata-rata
keberhasilan 71%. Faktor kegagalan robot dalam memindahkan box antara lain
robot keluar dari jalur hitam yang sudah ditentukan dalam perjalanan ke asal atau
dalam proses pemindahan box ke tujuan, robot gagal dalam proses pengangkatan
box di asal karena jarak robot dengan box yang terlalu jauh sehingga robot tidak
dapat menjangkau box dan robot salah memindahkan box di tujuan.
5.2 Saran
Hasil penetilian ini masih perlu disempurnakan untuk menghasilkan robot
yang handal. Berikut adalah beberapa saran yang bisa dikembangkan antara lain,
memperbesar body robot sehingga dapat mengangkat dimensi box yang lebih
besar, sistem track robot berupa labirin dan memanfaatkan sensor jarak sebagai
sensor dinding, dan Membedakan warna tidak hanya warna dasar saja, melainkan
PERANCANGAN ROBOT PENGANGKUT BOX BERDASARKAN
PERBEDAAN WARNA BERBASIS MIKROKONTROLER
TUGAS AKHIR
Disusun untuk memenuhi syarat kelulusan pada
Program Studi Strata Satu di Jurusan Teknik Komputer
Disusun Oleh :
WAHYUDI 10206047
Pembimbing :
Asep Solih Awalluddin, M.Si
Agus Mulyana, M.T
JURUSAN TEKNIK KOMPUTER
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
BANDUNG
v
DAFTAR GAMBAR
Gambar II.1. Modul basic stamp (BS2P40) ...5
Gambar II.2. Alokasi pin basic stamp ...6
Gambar II.3. Bentuk fisik phototransistor dan simbol phototransistor ...7
Gambar II.4. Bentuk fisik IC LM 393 dan simbol komparator ...7
Gambar II.5. Rangkaian komparator ...8
Gambar II.6. Motor DC ...9
Gambar II.7. IC driver motor L298 ...9
Gambar II.8. Ilustrasi prosentase PWM ...11
Gambar II.9. Baterai Ni-MH 2700 mAh ...12
Gambar II.10. GWS servo ...12
Gambar II.11. Servo standard ...13
Gambar II.12. Modul sensor warna TCS3200 ...14
Gambar II.13. Tampilan basic stamp editor ...15
Gambar II.14. Urutan bagian dari program dalam basic stamp ...16
Gambar II.15. Tampilan bagian directive ...16
Gambar II.16. Tampilan bagian deklarasi variabel ...17
Gambar II.17. Tampilan bagian program utama yang memanggil prosedur ..18
Gambar II.18. Tampilan bagian prosedur “MAJU” ...18
Gambar II.19. Hasil pemeriksaan sintaks yang sukses ...19
Gambar II.20. Tampilan jika pendownloadan sukses ...19
Gambar III.1. Diagram blok sistem ...20
Gambar III.2. Prinsip kerja sensor garis ...22
Gambar III.3. Rangkaian sensor garis ...23
Gambar III.4. Rangkaian driver motor L298N ...24
Gambar III.5. Syntax PWM ...25
Gambar III.6. Sketsa fisik dan blok fungsional TCS3200 ...26
Gambar III.7. Design gripper ...28
Gambar III.8. (a) Robot tampak depan, (b) Robot tampak samping kiri dan (c) Robot tampak samping kanan ...29
Gambar III.10. Flowchart program utama ...31
Gambar III.11. Flowchart program utama lanjutan 1 ...34
Gambar III.12. Flowchart program utama lanjutan 2 ...35
Gambar III.13. Flowchart program pencarian box di asal ...38
Gambar III.14. Flowchart program jalan robot menuju asal 1 dari tujuan R ....41
Gambar III.15. Flowchart program jalan robot menuju asal 1 dari tujuan G ....44
Gambar III.16. Flowchart program jalan robot menuju home dari tujuan B ....47
Gambar IV.1. Data sensor warna yang terkandung dalam warna merah ...52
Gambar IV.2. Data sensor warna yang terkandung dalam warna hijau ...52
iii
DAFTAR LAMPIRAN ...viii
ABSTRAK ...ix
BAB I PENDAHULUAN ...1
1.1 Latar Belakang ...1
1.2 Maksud dan Tujuan ...2
1.3 Batasan Masalah ...2
1.4 Metodologi Penelitian ...2
1.5 Sistematika Penulisan ...3
BAB II LANDASAN TEORI ...4
2.1 Perangkat Keras (Hardware) ...4
2.1.1 Mikrokontroler Basic Stamp (BS2P40) ...4
2.1.2 Sensor Garis ...6
2.1.2.1 Phototransistor ...6
2.1.2.2 Komparator ...7
2.1.5 Penggerak Gripper ...12
2.1.6 Sensor Warna ...14
2.2 Perangkat Lunak (Software) ...14
2.2.1 Pengenalan Basic Stamp Editor ...14
2.2.2 Memprogram Basic Stamp ...16
2.2.2.1 Directive ...16
2.2.2.2 Menentukan Variabel ...17
2.2.2.3 Bagian Program Utama ...18
2.2.2.4 Bagian Prosedur ...18
2.2.2.5 Memeriksa Sintaks Program ...18
2.2.3 Menjalankan Program ...19
BAB III PERANCANGAN SISTEM ...20
3.1 Perangkat Keras (hardware) ...20
3.1.1 Mikrokontroler Basic Stamp (BS2P40) ...20
3.1.2 Sensor Garis ...22
3.1.3 Penggerak Roda ...23
3.1.3.1 Modul Penggerak Roda ...23
3.1.3.2 Pengaturan Gerak Robot Dengan Metode PWM ....25
3.1.4 Sensor Warna (TCS3200) ...26
3.1.6 Design Robot ...28
3.2 Perangkat Lunak (Software) ...29
3.2.1 Algoritma Dasar ...29
3.2.2 Algoritma Seluruh Kendali Robot ...30
BAB IV PENGUJIAN DAN ANALISA SISTEM ...50
4.1 Pengujian Driver Motor L298 ...50
4.2 Pengujian Sensor Garis ...50
4.3 Pengujian Warna ...52
4.4 Pengujian Memindahkan Box Di Track ...53
BAB V SIMPULAN DAN SARAN ...55
5.1 Simpulan ...55
5.2 Saran ...55
viii
DAFTAR LAMPIRAN
LAMPIRAN A : HASIL PENGUJIAN
LAMPIRAN B : SKEMATIK RANGKAIN
LAMPIRAN C : LISTING PROGRAM
DAFTAR PUSTAKA
[1]. Divisi robotika unikom. 2007. Modul Pelatihan Robot Tingkat Dasar.
Bandung
[2]. Malvino, Albert paul. 2003. Prinsip – Prinsip Elektronika. Jakarta:
Salemba teknika
[3]. McComb, Gordon. 2001. The Robot Builder’s Bonanza Second Edition.
United States of America: McGraw-Hill
[4]. Mulyana, Agus. 2009. Modul Praktikum Elektronika Lanjut. Bandung
[5].
http://andrelectric.blogspot.com/2009/07/sensor-garis-denganphototransistor.html. Diakses tanggal 11 Mei 2010
[6].
http://darry.wordpress.com/2008/08/24/mikrokontroller-avr-r8c-application/. Diakses tanggal 25 Juni 2010
[7]. http://www.robotindonesia.com/article/bagianrobot1.pdf. Diakses tanggal
21 Juni 2010
[8]. http://www.shatomedia.com/2008/12/robot-avoidance/
[9].
http://www.unhas.ac.id/rhiza/arsip/grant2005/Faizal-LaporanAkhir_RG-05/BAB%205_PrototipeWahanaPenghindarRintangan.doc. Diakses tanggal
vii
DAFTAR TABEL
Tabel II.1. Beberapa instruksi dasar basic stamp ...15
Tabel III.1. Konfigurasi port yang digunakan pada mikrokontroler basic stamp ...21
Tabel III.2. Tabel kebenaran untuk salah satu motor ...23
Tabel III.3. Tabel kebenaran untuk dua motor ...24
Tabel III.4. Kombinasi fungsi dari S2 dan S3 ...27
Tabel III.5. Penskalaan Output ...27
Tabel III.6. Penjelasan flowchart program utama ...32
Tabel III.7. Penjelasan flowchart program utama lanjutan ...35
Tabel III.8. Penjelasan flowchart program pencarian box di asal ...39
Tabel III.9. Penjelasan flowchart program jalan menuju asal 1 dari tujuan R ...42
Tabel III.10. Penjelasan flowchart program jalan menuju asal 1 dari tujuan G ...45
Tabel III.11. Penjelasan flowchart program jalan menuju home dari tujuan B ...48
Tabel IV.1. Hasil pengujian driver motor untuk mrnggerakkan motor ...50
Tabel IV.2. Pengujian sensor garis di permukaan putih ...51
Tabel IV.3. Pengujian sensor garis di permukaan hitam ...51