makalah robot lt
DESCRIPTION
makalah tugas robotikaTRANSCRIPT
ROBOT LINE TRACKER
Makalah
Diajukan Untuk Memenuhi
Tugas Robotika
Disusun Oleh :
Andri Bangun Rahardjo 115060309111001
Rahmat Alvian 125060309111001
As’ad Shidqy Aziz 125060309111002
Taufiq Yudi Sulistiyono 125060309111004
DEPARTEMEN PENDIDIKAN NASIONAL
UNIVERSITAS BRAWIJAYA
FAKULTAS TEKNIK
MALANG
2013
ROBOT LINE TRACKER
1. Pendahuluan
Bila seseorang mendengar kata “robot” untuk pertama kali, maka yang ada
dalam benaknya adalah suatu peralatan mekanik yang dilengkapi dengan
berbagai kemampuan khusus untuk dapat menentukan gerakannya sendiri. Tetapi
kenyataannya tidak demikian, karena robot yang ada di kehidupan nyata adalah
susunan besi/almunium/arkilik yang dibuat sedemikian rupa sehingga
membentuk body robot dan dilengkapi perangkat hardware & software yang
berfungsi sebagai sumber tegangan dan sistem kendali robot dimana fungsi dari
robot tersebut tergantung dari apa yang kita perintahkan dan apa yang kita
tanamkan pada chip yang ada didalam robot tersebut. Pada kesempatan kali ini,
penulis bersama teman – teman yang lain mencoba merancang dan membuat
robot sederhana dengan kemampuan mampu mengikuti garis yang berada
dilapangan, robot ini umumnya disebut dengan robot line tracker atau robot
pengikut garis. Rancangan dan desain robot yang telah dibuat akan dimasukkan
di dalam makalah robot line tracker ini sehingga pembahasan masalah dalam
makalah ini dibahas secara rinci. Masalah yang akan dibahas yaitu bagian –
bagian robot yang terdiri dari bagian mekanik, hardware, dan software serta
implementasi robot dilapangan yang mencakup teknik pembacaan sensor dan
cara mengatasi error jika robot keluar dari garis lintasan.
2. Bagian – Bagian Robot Line Tracker
Pada dasarnya bagian – bagian robot terdiri dari 3 bagian utama, yaitu bagian
mekanik, bagian hardware, dan bagian software. Di dalam masing – masing
bagian tersebut terdapat berbagai macam komponen dan peralatan yang
menyusunnya sehingga saling melengkapi dan menjadi satu kesatuan di dalam
bagian tersebut. Pada bagian selanjutnya akan dijelaskan masing – masing bagian
tersebut beserta komponen yang menyusunnya.
2.1. Bagian Mekanik
Pada bagian mekanik, chassis robot didesain se-effisien mungkin dengan
menggunakan 2 buah motor DC sebagai penggerak utamanya. Pada robot
ini ditambahkan pula perbandingan gear untuk memenuhi torsi dan
kecepatan yang diinginkan. Selain itu, pada bagian depan robot terdapat
roda bebas yang berupa roller berbentuk setengah lingkaran yang
difungsikan agar roller ini dapat bergerak bebas mengikuti pergerakan dari
roda utama pada robot. Untuk penjelasan lebih spesifik mengenai bagian
mekanik akan dijelaskan pada penjelasan berikut.
a) Motor DC
Motor listrik merupakan perangkat elektromagnetis yang mengubah
energi listrik menjadi energi mekanik. Dalam perancangan robot line
tracker ini menggunakan motor DC 12V. Motor DC memerlukan
suplai tegangan yang searah pada kumparan medan untuk diubah
menjadi energi mekanik. Kumparan medan pada motor dc disebut
stator (bagian yang tidak berputar) dan kumparan jangkar disebut rotor
(bagian yang berputar). Jika terjadi putaran pada kumparan jangkar
dalam pada medan magnet, maka akan timbul tegangan (GGL) yang
berubah-ubah arah pada setiap setengah putaran, sehingga merupakan
tegangan bolak-balik. Prinsip zkerja dari arus searah adalah membalik
phasa tegangan dari gelombang yang mempunyai nilai positif dengan
menggunakan komutator, dengan demikian arus yang berbalik arah
dengan kumparan jangkar yang berputar dalam medan magnet. Bentuk
motor paling sederhana memiliki kumparan satu lilitan yang bisa
berputar bebas di antara kutub-kutub magnet permanen. Untuk
konstruksi motor DC sederhana ditunjukkan pada Gambar 2.1.1.
Gambar 2.1.1. Konstruksi Motor DC Sederhana
Pemilihan motor DC ini dikarenakan untuk pengendaliannya mudah
dilakukan dengan menggunakan driver transistor ataupun relay yang
dapat di sambungkan dengan mikrokontroller. Untuk pengendaliannya
pada motor DC ini mempunyai dua kutub negatif dan positif yang
dihubungkan dengan driver agar dapat dikendalikan untuk putar CW
dan CCW berdasarkan algoritma program yang diinginkan. Bentuk
motor DC 12V yang digunakan ditunjukkan pada Gambar 2.1.2.
Gambar 2.1.2. Bentuk Fisik Motor DC pada Robot
b) Chassis
Chassis pada robot line tracker digunakan sebagai kerangka robot
dimana dalam pemilihannya harus sesuai agar nantinya kecepatan dan
berat robot dapat seimbang. Chasis yang digunakan dalam robot yang
dirancang menggunakan bahan akrilik dan rangkaian minimum sistem
dari robot line tracker. Bentuk dari akrilik ditunjukkan pada Gambar
2.1.3.
Gambar 2.1.3. Bentuk akrilik yang belum dibentuk
Acrylic atau Akrilik sendiri adalah semacam plastik yang menyerupai
kaca,namun memiliki sifat yang membuatnya lebih unggul daripada
kaca. Acrilic digunakan untuk membuat berbagai produk. Hal ini
dipilih karena berbagai alasan. Acrylic lebih kuat dari kaca, sehingga
lebih tahan dan tidak pecah sehingga lebih lebih aman. Keuntungan
lain darinya adlah acrylic jauh lebih ringan dari pada kaca. Hal ini
membuat bekerja dengan acrylic lebih mudah. Sebuah properti yang
unik dari Acrylic adalah kemampuan untuk dibentuk. Juga tidak ada
lapisan atau serat dalam struktur acrylic. Gambar 2.1.4. menunjukkan
akrilik yang mudah dibentuk.
Gambar 2.1.4. Akrilik Yang Sudah Dibentuk
Pada perancangan chasis ini akrilik digunakan sebagai chasis untuk
menopang motor yang dirancang sedemikian rupa agar dapat sesuai
dengan gear dan roda yang digunakan. Untuk bagian body line traker
langsung menggunakan PCB rangkain minimum sistem yang langsung
disambungkan dengan akrilik dan rangkaian sensor proximity yang
dipakai. Perancangan chasis ditunjukkan pada gambar 2.1.5.
Keterangan :
1. Akrilik
2. PCB Minimum
sistem
dan driver
3. Motor DC
4. Roda Line Traker
5. PCB sensor
Gambar 2.1.5. perancangan chasis
Untuk gambar hasil dari perancangan chassis robot line tracker
ditunjukkan pada gambar 2.1.6.
Gambar 2.1.6. Chassis Robot Line Tracker
c) Gear
Gear dalam perancangan ini difungsikan untuk mengendalikan roda
robot agar dapat sinkron dengan motor DC 12v yang digunakan, selain
itu pemilihan gear ini agar kecepatan dan torsi sesuai dengan yang
diinginkan. Pada robot line traker yang dirancang tidak menggunakan
sebuah gearbox jadi gear yang digunakan include pada roda line
tracker. Pemilihan jenis ini dikarenakan faktor yang diutamakan dalam
perancangan adalah kecepatan robot bukanlah torsi. Apabila
menginginkan torsi yang besar maka harus menggunakan gearbox
dengan konsekuensi kecepatan akan menurun dibandingkan gear yang
langsung include pada roda. Untuk gear yang dipakai ditunjukkan pada
Gambar 2.1.7.
Gambar 2.1.7. Gear Line traker
d) Roda Utama & Roda Bebas
Roda utama adalah roda yang nantinya di letakkan pada sisi belakang
robot. Fungsi dari roda utama ini adalah untuk menggerakkan robot
line tracker roda utama yang dipilih adalah roda berbahan spon dan
plastik untuk velg dari roda, pemilihan roda berjenis ini karena ringan
dan juga dapat mempengaruhi kecepatan robot. Untuk bentuk roda
ditunjukkan pada Gambar 2.1.8.
Gambar 2.1.8. Bentuk Roda Line Traker
Roda bebas adalah roda tunggal yang diletakkan didepan robot yang
bergerak berdasarkan arah robot. Roda bebas yang dipakai
menggunakan roller parfum karena mudah didapatkan. Untuk bentuk
roda bebas ditunjukkan pada Gambar 2.1.9.
Gambar 2.1.9. Bentuk Roda Bebas Pada Robot
2.2. Bagian Hardware
Pada bagian hardware, robot ini terdiri dari 6 bagian utama yaitu sensor
garis sebagai navigasi robot, switch push-button sebagai pemilih mode
program dan mengatur nilai ADC, driver motor sebagai pemberi logika
pada motor DC, supply tegangan sebagai pemberi catudaya terhadap semua
bagian hardware, LCD sebagai penampil kondisi sensor, dan
mikrokontroller sebagai tempat menyimpan algoritma dan program dari
robot tersebut. Sehingga dapat dianalogikan sensor dan switch push-button
sebagai input, Mkirokontroller sebagai pemroses data, LCD dan Driver
motor sebagai output dari sistem. Blok diagram bagian hardware dapat
dilihat dalam gambar 2.2.1.
Gambar 2.2.1. Blok Diagram Bagian Hardware
Untuk penjelasan lebih spesifik mengenai bagian – bagian hardware akan
dijelaskan pada penjelasan berikut.
a) Regulator/Supply Tegangan
Pada robot ini, regulator/supply tegangan yang digunakan berupa
baterai Li-Po 12v dengan arus sebesar 2200 mAh untuk mensupply
semua blok hardware. Akan tetapi untuk mensupply blok
mikrokontroller, LCD, Sensor Garis, dan Push-Button, tegangan dari
baterai harus dikonversi lagi menjadi tegangan 5v menggunakan IC
7805. Hal ini dikarenakan kebutuhan tegangan maksimal untuk blok –
blok hardware tersebut hanya berkisar 5v sampai 5,5v sehingga
tegangan dari baterai harus diturunkan lagi. Sedangkan untuk blok
driver motor, Tegangan yang digunakan langsung dari baterai sebesar
12v. Bentuk fisik dari baterai Li-Po 12v dapat dilihat dalam gambar
2.2.2.
Gambar 2.2.2. Bentuk Fisik Baterai Li-Po
b) Sensor Garis
Sensor Garis digunakan untuk mendeteksi garis yang sifatnya Single
Line. Sensor pada robot ini terdiri dari 15 pasang LED dan Photodioda
yang tergabung dalam satu modul. LED difungsikan sebagai
transmitter sedangkan Photodioda difungsikan sebagai receiver dari
sensor. Komponen photodioda ini merubah energi cahaya, yang
dipancarkan oleh LED menjadi pulsa-pulsa listrik. Komponen ini harus
menerima cahaya sebanyak mungkin agar sinyal listrik yang dihasilkan
kualitasnya cukup baik sehingga pulsa – pulsa yang di kirimkan akan
mudah di proses pada mikrokontroller. modul sensor ini mengeluarkan
sinyal analog yang tergantung pada tingkat kecerahan permukaan
lapangan yang dibaca oleh sensor tersebut. Jika permukaan lapangan
semakin cerah, maka cahaya LED yang terpantul semakin banyak dan
sebaliknya jika permukaan lapangan semakin gelap, maka cahay LED
yang terpantul semakin sedikit. Gambar 2.2.3. menjelaskan konsep dari
pembacaan sensor garis dalam membaca garis pada lapangan.
Gambar 2.2.3. Konsep sensor garis
Prinsip kerja dari sensor ini yaitu jika cahaya LED mengenai
permukaan lapangan yang berwarna hitam, maka pantulan cahaya yang
diterima Photodioda lebih sedikit sehingga tegangan keluaran sensor
akan kecil. Sebaliknya jika cahaya LED mengenai permukaan lapangan
yang berwarna putih, maka pantulan cahaya yang diterima Photodioda
lebih banyak sehingga tegangan keluaran sensor menjadi lebih besar.
Tegangan output dari Photodioda inilah yang akan diolah oleh
mikrokontroller melalui pin ADC sebagai penentu posisi robot
dilapangan. Bentuk fisik dari modul sensor garis dapat dilihat dalam
gambar 2.2.4. Sedangkan skema dari modul sensor ini dapat dilihat
dalam gambar 2.2.5.
Gambar 2.2.4. Bentuk Fisik Modul Sensor Garis
Gambar 2.2.5. Skema Modul Sensor Garis
c) Switch Push-Button
Robot ini dilengkapi dengan switch push-button yang berfungsi untuk
memilih mode program saat ada dilapangan. Sehingga jika terdapat dua
atau lebih lapangan yang berbeda, maka kita tinggal memilih tombol
mana yang harus digunakan untuk membaca garis pada lapangan
tersebut. Selain itu fungsi lainnya dari switch push-button yaitu untuk
mengatur besarnya pembacaan nilai ADC yang ada dilapangan
sehingga pengaturan ADC tidak perlu dilakukan melalui komputer
melainkan hanya dilakukan menggunakan switch – switch push-button
yang telah tersedia. Bentuk fisik dari modul switch push-button dapat
dilihat dalam gambar 2.2.6, sedangkan skema dari switch push-button
dapat dilihat dalam gambar 2.2.7.
Gambar 2.2.6. Modul switch push-button
Gambar 2.2.7. Skema Modul switch push-button
d) Mikrokontroller ATmega 16
Mikrokontroller ATmega 16 digunakan untuk menyimpan listing
program dan memproses inputan dari sensor, sehingga bisa dioutputkan
menuju driver motor. Mikrokontroller ini terdiri dari 4 port
input/output, yaitu port A, Port B, Port C, dan Port D. Selain itu
mikrokontroller ini juga memiliki beberapa kelebihan lainnya yaitu
sifat penyimpanan listing program yang non-volatile sehingga listing
dapat dihapus dan diisi ulang lebih dari 1000 kali penyimpanan,
mampu beroperasi pada clock 16 MHz, ADC yang mampu mensupport
10-bit, mempunyai 3 timer/counter untuk memproses data inputan dan
terdapat 4 port PWM yang bisa digunakan pada mikrokontroller ini
serta beberapa kelebihan lainnya yang tidak dituliskan. Pada robot ini
Port A digunakan untuk 8 masukan sensor garis, sehingga output dari
sensor akan diproses menggunakan ADC pada mikrokontroller. Port B
digunakan untuk input switch push-button. Port C digunakan sebagai
output menuju LCD, sehingga data proses pembacaan sensor dapat
ditampilkan. Dan port D digunakan sebagai output PWM dan motor
enable menuju driver motor. Mikrokontroller ini bekerja pada tegangan
4,5v – 5,5v sehingga tegangan dari baterai dikonversi menggunakan
IC7805 sehingga tegangan input yang masuk ke mikrokontroller
menjadi 5v. Tampilan fisik dari modul mikrokontroller ATmega 16
dapat dilihat dalam gambar 2.2.8. sedangkan skema dari modul
mirkokontroller ini dapat dilihat dalam gambar 2.2.9.
Gambar 2.2.8. Modul Mikrokontroller ATmega 16
Gambar 2.2.9 Skema Mikrokontroller ATmega 16
e) Driver Motor
Driver motor berfungsi untuk memberi tegangan menuju ke motor DC
sehingga motor dapat berfungsi sebagaimana mestinya. Pada robot ini
terdapat 2 buah driver motor yang menggunakan tegangan 12v untuk
mengontrol motor kiri dan motor kanan. Pada satu modul driver
menggunakan 4 mosfet untuk memproses pulsa PWM yang dikirimkan
oleh mikrokontroller. Sistem kerja dari driver ini yaitu saat
mikrokontroller mengirimkan logika 1 menuju Motor Enable dan pulsa
PWM dari mikrokontroller dikirimkan menuju driver, maka motor
akan berputar ke arah kanan. Sebaliknya jika mikrokontroller
mengirimkan logika 0 menuju Motor Enable dan pulsa PWM dari
mikrokontroller dikirimkan menuju driver, maka motor akan berputar
ke arah kiri. Tampilan fisik dari modul driver motor dapat dilihat
dalam gambar 2.2.10. sedangkan skema driver motor dapat dilihat
dalam gambar 2.2.11.
Gambar 2.2.10. Modul Driver Motor
Gambar 2.2.11. Skema Driver Motor
f) LCD
LCD pada robot digunakan untuk menampilkan pembacaan sensor saat
dilapangan. Sehingga sensor yang membaca garis putih dan garis hitam
dilapangan dapat dilihat melalui LCD. Selain itu LCD juga digunakan
untuk menampilkan pembacaan besarnya nilai ADC sensor saat
membaca lapangan dan pengaturan kalibrasi multiplexer sensor.
Tampilan fisik dari modul LCD dapat dilihat dalam gambar 2.2.12.
sedangkan skema dari modul LCD dapat dilihat dalam gambar 2.2.13.
Gambar 2.2.12. Tampilan fisik Modul LCD
Gambar 2.2.13. Skema Modul LCD
2.3. Bagian Software
Pada bagian software akan diberikan penjelasan tentang algoritma robot,
logika pembacaan sensor di lapangan, logika pemrograman motor DC dan
logika pengaturan PID robot. Nantinya pada bagian algoritma robot akan
dijelaskan flowchart dari sistem logika robot tersebut, pada bagian
pembacaan sensor akan dijelaskan proses pembacaan sensor dilapangan dan
pemilihan multiplexer saat melakukan pembacaan sensor. Pada bagian
pemrograman motor DC akan dijelaskan masalah pemrograman motor
dengan menggunakan pulsa PWM agar motor dapat bergerak maju dan
mundur. Dan terakhir pada bagian Logika pengaturan PID akan dijelaskan
masalah pemrograman kontrol robot menggunakan kontrol PID sehingga
pergerakan robot akan lebih smooth. Untuk lebih jelasnya akan dijelaskan
pada bagian berikut.
a) Algoritma
Secara umum, flowchart algoritma robot ini adalah sebagai berikut :
Gambar 2.3.1. Flowchart Algoritma Robot.
Dari flowchart tersebut dapat dijelaskan bahwa pertama-tama robot
membaca posisi sensor terlebih dahulu. Kemudian robot mengolah data
posisi sensor tersebut. Setelah itu robot menentukan pergerakan motor
berdasarkan hasil pengolahan data tersebut. Berikut adalah listing
program “Main” dari algoritma robot tersebut :
Gambar 2.3.2. Listing Program “Main” Algoritma Robot
b) Logika Pembacaan Sensor
Untuk logika pembacaan sensor, pada robot ini menggunakan fungsi
read_line(). Fungsi ini akan melaksanakan pembacaan sensor dan
mengembalikan nilai perkiraan posisi robot terhadap garis, dengan nilai
antara 0 dan 4000. Nilai 0 berarti garis berada di sebelah kiri sensor 0,
nilai antara 0 dan 2000 berarti garis berada dibawah sensor-sensor
sebelah kiri(seperti pada gambar nomor 6, 7, 8, dan 9), nilai 2000
berarti garis berada tepat di bawah sensor tengah(seperti pada gambar
nomor 5), dan seterusnya. ilustrasinya dapat dilihat dalam gambar
berikut.
Gambar 2.3.3. Ilustrasi Posisi Sensor pada Garis
Berikut adalah listing program fungsi read_line().
Gambar 2.3.4. Listing Program fungsi membaca garis
c) Logika Pemrograman Motor
Untuk logika Pemrograman motor, pada robot ini menggunakan fungsi
set_motors(m_left , m_right). Jika nilai masukan fungsi tersebut
bernilai positif, maka motor akan bergerak maju. Sedangkan bila
masukannya bernilai negatif, maka motor akan bergerak mundur. Agar
motor bisa bergerak maju atau mundur, maka kita bisa mengatur driver
motor dengan pemberian polaritas pada motor DC seperti pada gambar
ilustrasi berikut
Gambar 2.3.5. Ilustrasi Polaritas motor DC
Agar pergerakan robot dapat dikontrol dengan halus, maka motor perlu
diatur kecepatannya. Untuk mengatur kecepatan motor dapat
menggunakan PWM. Semakin besar nilai masukan yang diberikan
pada fungsi set_motors(m_left , m_right), maka nilai PWM nya akan
semakin besar dan kecepatan motor juga semakin meningkat. Begitu
pula sebaliknya jika nilainya semakin kecil, maka kecepatan motor
akan semakin lambat. Grafik hubungan PWM dengan kecepatan motor
adalah seperti gambar berikut.
Gambar 2.3.6. Grafik Hubungan PWM dengan Kecepatan Motor
Sebagai contoh apabila masukan m_left dan m_right pada fungsi
set_motors di beri nilai PWM sama misalkan 180, maka pergerakan
robot akan berjalan lurus seperti pada gambar paling kiri. Namun
apabila masukannya berbeda misalkan m_left = 255 dan m_right =
120, maka pergerakan robot akan belok ke kanan seperti pada gambar
di tengah. Kemudian jika masukan m_left = 255 dan m_right = -255,
maka robot akan belok kanan (putar balik) tajam seperti pada gambar
paling kanan.
Gambar 2.3.7. Ilustrasi Aksi Robot Dengan Beberapa Nilai PWM.
d) Logika Pengaturan PID
Bergerak smooth-nya robot sangat tergantung dari aksi kontrol robot
tersebut, jika hanya menggunakan kontrol on-offf (diskontinyu) akan
sangat berbeda dengan aksi kontrol kontinyu PID. Kontrol PID saat ini
banyak digunakan dalam aksi-aksi di dunia industri dan juga kontrol
robot. Berikut ini adalah blok diagram aksi kontrol PID:
Gambar 2.3.8. Blok Diagram Kontrol PID
PID adalah singkatan dari Proporsional, Integral, Derivatif, ini adalah
tiga nilai input yang digunakan dalam rumus sederhana untuk
menghitung kecepatan motor agar robot harus berbelok ke kiri atau
kanan. Nilai proporsional kira-kira sebanding dengan posisi robot
terhadap garis. Artinya, jika robot justru berada tepat di pusat
garis(tengah), nilai proporsional diharapkan tepat 0. Jika di sebelah kiri
garis, nilai proporsional akan menjadi positif, dan di sebelah kanan
garis, maka akan negatif. Ini dihitung dari hasil dikembalikan oleh
fungsi read_line() hanya dengan mengurangkan 2000. Nilai Integratif
mencatat sejarah gerak robot. Nilai tersebut adalah jumlah dari semua
nilai-nilai dari nilai proporsional yang tercatat sejak robot mulai
berjalan. Nilai derivatif adalah laju perubahan nilai proporsional.
Dalam hal ini dihitung sebagai perbedaan dari dua nilai proporsional
terakhir. Berikut adalah bagian dari kode yang menghitung nilai input
PID:
Gambar 2.3.9. Listing Perhitungan PID
3. Implementasi Robot di Lapangan
3.1. Teknik Pembacaan Sensor
Teknik pembacaan sensor pada software robot ini adalah menggunakan
fungsi read_sensor(num). Dimana num adalah menunjuk ke nomor sensor
yang ingin di baca. Fungsi tersebut akan mengembalikan nilai ADC dari
sensor yang dibaca. ADC yang digunakan adalah 8-bit dan Vreff 5volt.
Sehingga nilai pembacaan tersebut berkisar antara 0 sampai 255. Jika
sensor berada di atas warna putih, maka nilai ADC akan sangat
kecil(mendekati 0). Namun jika sensor berada di atas warna hitam, maka
nilai ADC akan sangat besar(mendekati 255). Berikut adalah listing
program dari fungsi read_sensor(num).
Gambar 3.1.1. Listing Program Fungsi read_sensor
Fungsi selector (a,b,c) pada program di atas adalah untuk memilih sensor
mana yang akan di baca pada multiplexer. Multiplexer terhubung pada
channel ADC0. Sedangkan sensor yang lain langsung terhubung ke channel
ADC lainnya. Berikut adalah listing program dari fungsi adc_read(ch).
Gambar 3.1.2. Listing Program fungsi adc_read(ch)
3.2. Cara Mengatasi error
Error bisa disebabkan karena robot keluar lintasan, sehingga robot tidak
bisa kembali ke lintasan seperti yang diharapkan. Error tersebut bisa terjadi
karena lintasan mempunyai belokan yang tajam. Untuk mengatasi error
tersebut maka robot kita program agar mengenali belokan tajam tersebut.
Selain itu bisa juga kita program agar robot melakukan aksi tertentu di
bagian lintasan yang cenderung membuat robot keluar lintasan. Berikut
adalah potongan listing program agar robot belok ke kanan setelah robot
keluar lintasan.
Gambar 3.2.1. Listing agar Robot Belok Kanan Saat Keluar Lintasan
Dari potongan program tersebut dapat dilihat bahwa pada saat variabel
sensor bernilai tidak sama dengan nol (sensor!=0) maka mikrokontroller
akan menjalankan program yang berada di dalam while(sensor!=0) tersebut
yaitu membaca sensor dan mengikuti garis. Sehingga robot akan selalu
mengikuti garis. Namun saat sensor robot keluar lintasan maka variabel
sensor bernilai sama dengan nol sehingga kondisi (sensor!=0) bernilai salah
dan mengakibatkan mikrokontroller tidak lagi menjalankan program yang
berada di dalam while(sensor!=0) tetapi menjalankan instruksi selanjutnya.
Instruksi selanjutnya yaitu saat sensor berada di luar lintasan, maka nilai
variabel sensor akan sama dengan nol. Sehingga kondisi (sensor==0) akan
bernilai benar dan mokrokontroller akan menjalankan program yang berada
di dalam while(sensor==0) tersebut yaitu membaca sensor dan
set_motors(90,-30) yang artinya robot akan belok ke kanan tajam. Sehingga
robot akan belok ke kanan tajam sampai mendeteksi adanya garis. Saat
sensor robot mengenai garis maka kondisi (sensor==0) akan bernilai salah
dan mikrokontroller akan menjalankan instruksi selanjutnya.
4. Kesimpulan & Penutup
Dari penjelasan yang telah dibahas diatas, dapat diambil kesimpulan sebagai
berikut :
Penggunaan chassis yang presisi dengan bahan yang tepat membuat robot
menjadi lebih seimbang dan lebih baik saat berada di lintasan.
Penggunaan motor DC dengan gearbox dapat mempengaruhi kecepatan
robot, tapi kelebihannya yaitu memperbesar torsi pada robot tersebut.
Selain itu besarnya diameter roda utama dan roda bebas juga
mempengaruhi kecepatan pada robot.
Sensor garis yang digunakan sangat peka terhadap cahaya luar/noise dari
luar sehingga dalam pemasangannya harus diberi penutup untuk
melindungi sensor dari cahaya yang ada di luar.
Driver motor yang digunakan hanya mampu untuk motor DC dengan arus
kecil, sehingga jika robot memakai motor DC dengan arus besar maka
driver motor in tidak cocok digunakan.
Pada pengaturan kontrol PID, jika menggunakan robot dengan spesifikasi
berbeda maka pengaturan kontrol PID-nya pun otomatis akan berbeda.
Dari desain dan rancangan yang kami buat, masih banyak kekurangan yang
terdapat dalam robot ini. Untuk kedepannya diharapkan mahasiswa – mahasiswa
yang mengambil mata kuliah robotika ini lebih dapat menyempurnakan desain
robot ini. Sehingga hasil yang didapatkan akan lebih maksimal dan lebih
berkembang.