SKRIPSI
Disusun Oleh :
Mas Ngabei Erawan Zuhri Moekti ( 0534010023 )
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
JAWA TIMUR
Penyusun : MAS NGABEI ERAWAN ZUHRI MOEKTI
Abstraksi
Prototype mobil automatis merupakan prototype mobil yang menggunakan
konsep robot line follower, dimana prototype mobil ini dapat bergerak secara otomatis di dalam rute yang sudah disediakan. Dengan menggunakan microcntroller ATMega8535 prototype mobil otomatis ini mempunyai fungsi lebih yaitu dapat membedakan warna rambu-rambu lalu lintas yang terletak di dasar rute.
Prototype mobil otomatis ini menggunakan dua logika sensor yang saling
berhubungan. Dua logika sensor tersebut adalah logika sensor proximity yang digunakan sebagai sensor garis dan logika sensor warna yang menggunakan fasilitas ADC microcontroller ATMega8535. Sensor ini memanfaatkan rangkaian elektronika LED dan Photodioda, dimana Photodioda adalah sebuah receiver cahaya yang dapat mengkonversikan cahaya menjadi tegangan, dan tegangan yang didapat yang akan dijadikan indikasi untuk membaca warna dan membedakan warna rambu-rambu lalu lintas yang ada.
Pembuatan prototype ini diharapkan dapat menjadi landasan teori untuk pengembangan selanjutnya berkaitan dengan otomatisasi sebuah kendaraan dengan menggunakan microcontroller dan sensor-sensor yang ada.
1. 1.Latar Belakang
Saat ini ilmu pengetahuan dan teknologi berkembang dengan sangat pesat,
perkembangan tersebut memberi banyak kemudahan bagi manusia dalam
memenuhi kebutuhannya. Kemajuan teknologi menuntut segala sesuatu
dikerjakan secara otomatis, cepat, akurat dan efisien. Salah satu kemajuan di
bidang teknologi tersebut adalah diciptakannya microcontroller.
Microcontroller adalah salah satu terobosan teknologi microprosesor dan microcomputer yang memiliki RAM dan I/O pendukung sehingga ukuran board microcontroller sangat ringkas tetapi memiliki fasilitas yang lengkap. Keuntungan
microcontroller dari segi ukuran dan biaya membuat penulis termotivasi untuk
mengaplikasikannya pada sebuah kendaraan yang dalam hal ini adalah mobil
untuk dapat membantu sebuah mobil melaju secara otomatis menuju tempat
tujuan yang diinginkan pengemudi.
Agar sebuah mobil dapat melaju secara otomatis maka dibutuhkan
ketepatan pengenalan jalur mana yang akan diambil, juga fasilitas – fasilitas lain
yang harus dimiliki sebuah mobil agar aman untuk digunakan, salah satu fasilitas
tersebut adalah sebuah mobil harus secara otomatis dapat membaca rambu-rambu
lalu lintas. Karena alasan-alasan di atas maka penulis mencoba membuat simulasi
mobil automatis dengan menerapkan teknologi robot line follower yang dapat
membaca jalur secara tepat dan menambahkan sensor warna untuk dapat
mengenali warna-warna pada rambu-rambu lalu lintas.
Perumusan masalah dalam Laporan Akhir ini adalah :
a. Bagaimana membuat simulasi sebuah mobil yang dapat berjalan
dengan tepat di jalur yang telah disediakan.
b. Bagaimana membuat simulasi sebuah mobil dapat mengenali
rambu-rambu lalu lintas dan melakukan action yang tepat sesuai warna yang
dikenali.
1. 3.Batasan Masalah
Agar nantinya di dalam pembahasan Laporan Akhir ini tidak keluar dari
pokok permasalahan, maka ruang lingkup permasalahannya akan dibatasi pada:
a. Mobil yang dibuat hanya untuk mengenali jalur dan warna rambu lalu
lintas (merah, kuning dan hijau) yang dibuat oleh penulis.
b. Mobil yang dibuat hanya dapat membedakan warna rambu lalu lintas
yang ditempatkan didasar lintasan.
c. Bahasa pemrograman yang akan digunakan adalah bahasa C.
1. 4.Tujuan
Adapun tujuan yang ingin dicapai dalam pembuatan simulasi kendaraan
ini adalah :
a. Untuk mengetahui apakah dimungkinkan pembuatan mobil automatis
yang dapat melaju menuju tempat tujuan dengan tetap berada di jalur
mengenali perbedaan warna rambu-rambu lalu lintas dan dapat
melakukan action yang tepat
1. 5.Manfaat
Adapun manfaat yang dapat diambil dari pembuatan simulasi ini, adalah :
a. Memberikan informasi mengenai penggunaan microcontroller dalam
pengaturan otomatis sebuah kendaraan.
b. Menjadi landasan teori untuk penelitian selanjutnya yang
bersangkutan dengan microcontroller.
1. 6.Metodologi Penelitian
Beberapa metode penelitian yang digunakan oleh penulis dalam
melakukan tugas akhir ini, antara lain:
a. Studi literatur
Mempelajari dasar-dasar pemrograman microprocessor yang
menggunakan bahasa C sebagai dasar pemrograman. Mempelajari
berbagai logika sensor yang akan digunakan dalam pembuatan
simulasi.
b. Desain Sistem
Membuat desain sistem simulasi mobil automatis, desain mekanik
c. Pembuatan robot, jalur dan progam pada ATMega8535
Setelah dilakukan desain yang sekiranya sesuai maka desain tersebut
akan diwujudkan dalam hal yang lebih nyata yaitu dalam pembuatan
robot berbentuk mobil, jalur dan program pada ATMega8535.
d. Pengujian
Tahap pengujian meliputi apakah robot yang dibuat sudah sesuai
dengan rancangan desain yang telah dibuat sebelumnya, lalu
mengecek kinerja robot tersebut apakah sudah mampu mengikuti
jalur yang dibuat, mampu mengurangi atau menambah kecepatan
juga mampu mengenali perbedaan warna dan melakukan action yang
2. 1.Tinjauan Tentang Robot
Istilah robot diperkenalkan oleh seorang penulis bernama Karel Capek
yang menggunakan istilah robot yang berarti boneka / pekerja yang bisa bekerja
secara mandiri, pada kisah yang ditulisnya di tahun 1921. [3]
Sementara itu, cikal bakal teknologi robot sudah dikembangkan sejak
abad 18, seperti Jacques de Vaucanson di tahun 1738, yang membuat bebek
mekanik yang dapat memakan dan mencincang biiji bijian, membuka dan
menutup sayapnya. Tahun 1796, Tanaka Hisashige di Jepang berhasil membuat
mainan mekanik yang dapat menghidangkan teh dan menulis huruf kanji.
Tahun1926, Nikola Tesla membuat perahu bot yang dapat dikontrol dengan radio.
Tahun 1948, William Grey Walter membuat robot elektronik otomatis pertama
dimana robot ini dapat me-respons cahaya dan dapat melakukan kontak dengan
objek dari luar. Tahun 1954, saat dimulainya zaman digital, sebuah robot digital
yang dapat deprogram ditemukan oleh George Devol.
Selain Karel Capek yang menggunakan istilah robot sebagai boneka /
pekerja, ada juga Webster’s Dictionary yang mendefinisikan robot sebagai
perangkat otomatis yang membantu fungsi-fungsi menyerupai manusia. Sistem
kelas dalam robot mengelompokkan Autonomous Mobile Robot (AMR) sebagai
salah satu tahapan paling penting dalam tahap evolusi intelegensi dan struktur
robot. Robot diberi kemampuan khusus untuk berpindah tempat atau bergerak
dengan alat gerak konvensional seperti kaki atau roda.
Kata “autonomi” dapat diartikan sebagai kemampuan diri untuk
mengambil tindakan pada perubahan situasi atau kemampuan untuk mengambil
keputusan tanpa campur tangan manusia. Kemampuan autonomi robot pada
dasarnya dikendalikan oleh operator, meskipun pada beberapa operasi lain dapat
direncanakan, dikontrol dan dikerjakan tanpa campur tangan manusia itu sendiri.
Menurut klasifikasinya robot dapat dibagi menjadi 4, yaitu :
1. Robot Non Mobile
Robot Non Mobile merupakan type robot yang tidak dapat bergerak,
kebanyakan robot jenis ini digunakan di dalam industri.
2. Robot Mobile
Robot ini memiliki fungsi untuk dapat bergerak atau berpindah tempat, pada
awal perkembangannya robot mobile menggunakan roda untuk dapat berpindah
tempat, namun saat ini telah muncul berbagai teknologi yang dapat mendukung
robot mobile untuk berpindah tempat, salah satunya adalah hexapod, memiliki
kaki seperti laba – laba yang dapat bergerak lebih flexible. Berikut ini beberapa
contoh robot mobile:
3. Humanoid, Animaloid, extra ordinary
Robot jenis ini sangat banyak digunakan saat ini karena memiliki fungsi yang
menyerupai manusia / hewan sehingga sangat bermanfaat untuk menyelesaikan
pekerjaan manusia yang mengharuskan tingkat keakuratan tinggi.
Secara garis besar robot jenis ini dapat diklasifikasikan sebagai berikut:
a. Humanoid
Robot yang memiliki bentuk fisik menyerupai manusia.
b. Android
Robot yang menyerupai laki – laki baik sifat, perasaan juga anggota tubuh.
c. Cyborg
Robot yang tidak menyerupai manusia tetapi memiliki fungsi seperti manusia.
d. Gynoid
Berasal dari kata gyne, yang berarti wanita. Robot ini sama seperti Android,
hanya saja Gynoid berjenis kelamin wanita
e. A.I
Robot yang mempunyai kecerdasan dan fungsi seperti manusia / hewan
f. Disabled Robotic
Robot yang diciptakan untuk membantu orang yang kekurangan secara fisik.
g. Domotics
Robot yang digunakan dalam industry, dimana pengoperasiannya masih harus
Transformasi
Berikut ini contoh robot humanoid :
Gambar 2.2 Robot Humanoid
2. 1. 1.Teori Kinematika Pergerakan Robot
Terdapat dua metode analisa untuk menganalisis pergerakan robot, yaitu
analisa kinematika dan analisa dinamik. Pada bab ini penulis hanya akan
Konsep kinematik didasarkan pada diagram system control robotik yang
dijelaskan pada Gambar 2.3
Pada gambar 2.3 di atas, output ( ) yang diukur dari gerakan robot
adalah dalam domain sudut dari sendi – sendi, baik sendi pada system tangan/kaki
ataupun sudut dari perputaran roda jika robot adalah robot mobile. Sedang yang
diperlukan oleh user adalah posis (titik tertentu pada bagian robot) yang
dinyatakan sebagai koordinat 2D ataupun 3D (Ruang Cartesian). Dengan
demikian diperlukan transformasi koordinat antara ruang kerja Cartesian dengan
ruang sendi / sudut. Kombinasi antara transformasi koordinat P ke dengan
controller G(s) disebut sebagai controller kinematik. Inputnya berupa sinyal P,ep
dan outputnya berupa sinyal kemudi U. Dalam konteks praktis, sinyal U ini adalah
sinyal – sinyal analog dari DAC untuk seluruh aktuator (variable sendi) robot
Jadi, kinematik dalam robot adalah suatu bentuk pernyataan yang berisi
tentang deskripsi matematik geometri dari suatu struktur robot. Dari persamaan
kinematik dapat diperoleh hubungan antara konsep geometri ruang sendi pada
robot dengan konsep koordinat yang biasa dipakai untuk menentukan kedudukan
dari suatu objek. Dengan model kinematik, programmer dapat menentukan
konfigurasi referensi input yang harus diumpankan ke tiap actuator agar roboot
dapat melakukan gerakan dimultan (seluruh sendi) untuk mencapai posisi yang
dikehendaki. [1]
B. Kinematik robot mobile
Untuk dapat dianalisis menggunakan analisa kinematik maka sebuah
robot mobile harus memiliki dua roda kiri – kanan yang dikemudikan terpisah
(differentially driven mobile robot, disingkat DDMR) seperti ditunjukkan dalam
Gambar 2.4 DDMR pada medan 2D Cartesian
Robot diasumsikan berada dalam kawasan 2D pada koordinat Cartesian
XY. Parameter – parameter dalam gambar adalah :
Ф : sudut arah hadap robot
2b : lebar robot yang diukur dari garis tengah roda ke roda
r : jari – jari roda (rodakiri dan kanan sama sebangun)
d : jarak antara titik tengah antaran 2 roda, G dengan titik F
(x,y) : koordinat acuan di tubuh robot terhadap sumbu XY
Dalam kajian kinematik ini robot diasumsikan bergerak relative pelan
dan roda tidak slip terhadap permukaan jalan. Maka komponen x dan y dapat
diekspresikan dalam suatu persamaan nonholonomic sebagai berikut :
XG sin Ф – YG cos Ф = 0 ……….. (2.1)
Pada DDMR ada variable F yang digunakan sebagai acuan analisa,
sehingga persamaan di atas menjadi :
Masalah klasik dalam control kinematik DDMR adalah bahwa DDMR
memiliki dua actuator, namun parameter kontrolnya lebih dari dua, yaitu x untuk
gerakan ke arah X dan y untuk arah Y yang diukur relative terhadap perpindahan
titik G, dan gerakan sudut hadap Ф yang diukur dari garis hubung titik G dan F
terhadap sumbu X.
Dari rumus 2.2 nampak bahwa derajat kebebasan dalam control
kinematika DDMR berjumlah tiga, yaitu (x, y, Ф) karena ketiga parameter ini
perlu dikontrol secara simultan untuk mendapatkan gerakan nonholomonic. Untuk
lebih jelasnya dapat dilihat pada gambar 2.5
Gambar 2.5 Contoh Manuver DDMR
Perpindahan kedudukan robot dari Start ke Stop bila dipandang pada titik
G adalah perpindahan dari koordinat (XG1. YG1) ke (XG2, YG2) secara translasi.
Namun hal ini tidak dapat dilakukan secara langsung sebab robot harus bergerak
maju sehinggan ia harus membuat maneuver belok untuk mengarahkannya pada
koordinat (XG2, YG2). Oleh karena itu diperlukan titik acuan F yang berada di luar
garis yang menghuungkan kedua roda agarsudut hadap dapat dihitung.
Bentuk umum persamaan kinematik untuk DDMR ini dapat dinyatakan
XF
YF = TNH atau q (t) = TNH (q) (t) ………. (2.3)
ФF
TNH adalah matriks transformasi nonholomonic, L dan R adalah
kecepatan radial roda kiri dan kanan, dan q adalah system koordinat umu robot.
2. 1. 2.Robot Line Follower
Robot Line Follower adalah suatu robot yang dirancang / dibuat
menyerupai mobil, dan cara kerjanya ialah robot tersebut akan mengikuti garis
hitam / putih secara otomatis dimana pengendalinya berupa sensor-sensor dan
selanjutnya akan dieksekusi oleh komparator berupa transistor-transistor
dilanjutkan ke motor-motor yang membuat robot bisa bekerja sabagai mana
mestinya. [4]
A. Bagian – Bagian Robot Line Follower
1. Body / Chasis
Body ini berguna sebagai tempat penyimpanan komponen – kompnonen
yang akan digunakan nantinya. Body ini juga sangat penting karena dapat
mempengaruhi kinerja robot yang akan dibuat.
2. Sensor Proximity
Sensor proximity adalah sensor untuk mendeteksi ada atau tidaknya suatu
obyek. Dalam dunia robotika, sensor proximity seringkali digunakan untuk
mendeteksi ada atau tidaknya suatu garis pembimbing gerak robot atau lebih
dikenal dengan istilah “Line Follower Robot “ atau “Line Tracer Robot”, juga
biasa digunakan untuk mendeteksi penghalang berupa dinding atau penghalang
lain pada Robot Avoider. Jenis sensor proximity ini ada beberapa macam, seperti
ultrasonic proximity, proximity (infra merah), kamera dan lain sebagainya.
Sensor proximity yang digunakan untuk robot line follower dibuat
menggunakan pasangan LED / Infrared dan phototransistor / photodioda. Jika
sensor berada diatas garis hitam maka photodioda akan menerima sedikit cahaya
pantulan. Tetapi jika sensor berada diatas garis putih maka photodioda akan
menerima banyak cahaya pantulan, hal ini dapat dilihat pada gambar 2.5. Sifat
dari photodioda adalah jika semakin banyak cahaya yang diterima, maka nilai
resistansi diodanya semakin kecil. Sehingga bila sensor berada di atas garis hitam
maka cahaya LED akan memantul pada garis dan diterima oleh photodioda
kemudian photodioda menjadi on sehingga tegangan output akan mendekati 0
volt. Sebaliknya jika sensor berada di atas garis putih yang berarti tidak terdapat
pantulan cahaya maka photodioda tidak mendapat arus bias sehingga menjadi off,
dengan demikian tegangan output sama dengan tegangan Induk (Vcc).
Gbr 2.6 Prinsip kerja sensor proximity
Berikut ini bagian-bagian dari photodiode :
A. LED
LED adalah singkatan dari Light Emiting Dioda, yakni merupakan
produk temuan lain yang cara kerja serta strukturnya sama dengan dioda, LED
akan melepaskan sebuah dioda berbentuk cahaya apabila diberikan tegangan
maju. Jika terintegrasi pada sebuah rangkaian LED hendaknya diberikan penahan
arus (resistor) pada anoda (sumbu positif) guna mencegah kerusakan serta
membatasi kuat arus maju yang dikonsumsi.
B. Photodioda
Sedangkan untuk tegangan yang dikeluarkan dapat dicari dengan menggunakan
rumus 2.4.
comparator untuk kemudian dibandingkan dengan tegangan threshold (variable
3. Rangkaian Komparator
Rangkaian Komparator adalah bagian robot yang berupa rangkaian yang
berfungsi sebagai pengeksekusi hasil output dari sensor proximity yang
selanjutnya akan dilanjutkan ke motor - motor DC.
Rangkaian komparator ini sangat penting karena output dari sensor
proximity masih memiliki kemungkinan tidak pada kondisi ideal bila intensitas
pantulan cahaya LED pada garis lemah, misalnya karena perubahan warna atau
lintasan yang kotor.
Cara kerja rangakain komparator ini adalah membandingkan output
sensor proximity dengan suatu tegangan threshold yang dapat diatur dengan
memutar trimmer potensio (variable resistor). Jika tegangan dari threshold lebih
besar dari tegangan output proximity maka keluaran dari comparator akan bernilai
1 (High Digital Output).
Karena rangkaian comparator ini bekerja dengan cara membandingkan
tegangan output proximity dengan threshold maka kita juga harus mengetahui
besarnya tegangan threshold yang dibutuhkan, untuk mencari nilai tegangan
threshold yang dibutuhkan maka dicari nilai rata-rata dari output-output
photodiode pada sensor proximity. [5]
Vref = (Vp1+Vp2) / 2 ……….. (2.5)
Keterangan :
Vref : tegangan threshold
Untuk mengetahui hasil dari sensor, alangkah baiknya diberi lampu
indicator yang disambungkan dengan output dari komparator.
4. Roda
Roda ini berfungsi sebagai penopang body dan juga berfungsi agar robot
yang dibuat dapat berjalan sesuai dengan yang diinginkan.
Bagian – bagian dari roda adalah
A. Motor DC
Motor DC adalah motor arus searah yang memiliki kemampuan untuk
mengubah besaran listrik menjadi gerak. Motor DC memiliki dua buah terminal
input. Pemberian beda tegangan pada kedua terminal input tersebut akan
menyebabkan motor berputar ke satu arah. Jika polaritas dari tegangan input
dibalik maka arah putaran dari motor tersebut akan berubah, secara sederhana
dapat dilihat pada gambar 2.7
Gambar 2.7 Dasar Pengaturan Arah Motor DC
Prinsip kerja motor DC adalah sebagai berikut : ketika terminal input
mendapat beda tegangan, maka arus akan mengalir pada terminal input dan
kemudian mengalir pada penghantar yang terletak pada medan magnet. Konversi
medan magnet tersebut, dengan demikian medan magnet selain berfungsi sebagai
tempat untuk menyimpan energi sekaligus berfungsi sebagai tempat
berlangsungya perubahan energi dan daerah tersebut dapat dilihat pada gambar
2.8
Gambar 2.8 Medan Magnet Pada Motor DC
Dengan mengacu pada hukum kekekalan energi :
”Proses energi listrik = energi mekanik + energi panas + energi di dalam
medan magnet”
Maka dalam medan magnet akan dihasilkan kumparan medan (stator,
bagian motor DC yang tidak berputar) dengan kerapatan fluks sebesar B dengan
arus I serta panjang konduktor L, maka diperoleh gaya F sebesar :
F = B x I x L ... (2.6)
Sedangkan arah gaya F dapat ditentukan dengan aturan tangan kanan
Gambar 2.9 Arah Gaya (F)
Bila motor DC memiliki jari – jari r maka persamaan di atas akan
menjadi:
Fr = B x I x L x r ……… (2.7)
Besarnya gaya (F) akan berpengaruh pada perputaran motor, hal ini
dikarenakan saat gaya (F) dibandingkan, konduktor akan bergerak dalam
kumparan medan magnet dan menimbulkan gaya gerak listrik yang merupakan
reaksi lawan terhadap tegangan sumber.
Agar proses perubahan energi mekanik tersebut dapat berlangsung secara
sempurna, maka tegangan sumber harus lebih besar daripada tegangan gerak yang
disebabkan reaksi lawan.
Dengan demikian dapat diketahui bahwa tegangan akan mempengaruhi
kecepatan perputaran motor. Sedangkan arus akan berfungsi untuk menentukan
kekuatan torsi motor. Dimana torsi dapat didefinisikan sebagai aksi dari suatu
B. Driver Motor
Agar motor DC dapat bergerak maju, mundur atau berhenti maka
diperlukan sebuah driver motor. Ada banyak jenis driver motor yang dapat
digunakan namun dalam pembuatan simulasi mobil automatis ini driver motor
yang digunakan adalah rangkaian yang bernama H-Bridge.
Rangkaian H-Bridge merupakan rangkaian yang menggunakan 4 buah
transisitor sebagai pengatur tegangan yang akan dimasukkan ke motor.
2. 2.Microcontroller ATMega8535
Microcontroller adalah sebuah piranti berupa IC yang memiliki
kemampuan manipulasi data (informasi) berdasarkan suatu urutan instruksi
(program) yang dibuat oleh programmer. Microcontroller merupakan contoh
suatu sistem komputer sederhana yang masuk dalam kategori embedded komputer
(komputer yang berintegrasi dengan sistem lain dan digunakan untuk suatu fungsi
tertentu, contoh handphone, DVD player, dll). Dalam struktur microcontroller
akan kite temukan juga komponen – komponen seperti prosesor, memory, clock,
dll.
Pada awal perkembangannya (sekitar tahun 1970-an) sumber daya
perangkat keras serta perangkat lunak microcontroller sangat terbatas. Saat itu,
system microcontroller hanya dapat diprogram menggunakan perangkat yang
dinamakan “EPROM programmer” dan perangkat lunak yang digunakan
Seiring dengan perkembangan teknologi saat ini pemrograman
microcontroller relative mudah dilakukan terutama dengan digunakannya metode
ISP (In System Programming) sehingga kita dapat memprogram system
microcontroller sekaligus mengujinya pada system minimumnya secara langsung.
Selain itu dewasa ini banyak alternative bahasa aras tinggi (pascal, C, dll) yang
dapat digunakan, hal ini sangat membantu karena selain akan menghemat waku
pengembangan, kode program yang disusun juga akan lebih terstruktur dan
relative mudah dipelajari.
Dengan berbagai macam kelebihan yang dimiliki serta hal – hal yang
menjadi pertimbangan di atas, dewasa ini microcontroller AVR 8 bit produk
perusahaan Atmel adalah salah satu microcontroller yang banyak merebut minat
kalangan profesional dan juga cocok dijadikan saran berlatih bagi pemula
mengingat banyak fitur dan kemudahan yang diberikan microcontroller tersebut.
ATMega8535 merupakan salah satu produk perusahaan atmel yang
paling banyak digunakan saat ini. Harga yang relative terjangkau, banyak
ditemukan di pasaran, kemudahan dalam pemrograman dan fitur – fitur yang
menarik di dalamnya menjadi daya tarik tersendiri bagi ATMega8535. [2]
2. 2. 1. Spesifikasi ATMega8535
1. 130 macam instruksi, yang hampir semuanya diekekusi dalam satu siklus
clock. Instruksi ini dapat berupa transfer data, aritmatika & logika,
percabangan, dan lain – lain.
3. Kecepatan mencapai 16 MIPS (Million Instruction per Second) dengan clock
16 MHz. ATMega8535 memiliki kemampuan dapat menjalankan 1 instruksi
dalam siklus 1 clock dengan kecepatan clock 16 MHz. Berbeda dengan type
lain seperti MCS51 yang memerlukan siklus 12 clock dalam mengeksekusi 1
instruksi.
4. 8 Kbyte Flash Memori
5. 512 Byte Internal EEPROM (Elecrically Erasable Programmable Read Only
Memory). EEPROM merupakan tempat menyimpan data semi permanen.
EEPROM ini dapat menyimpan data meskipun catu daya dimatikan. Dengan
adanya EEPROM internal maka tidak diperlukan komponen pendukung
seperti EEPROM external seperti beberapa microcontroller lain sehingga
penggunaan hardware bisa lebih efisien.
6. 512 Byte SRAM (Static Random Access Memory). Sama halnya seperti
computer yang memiliki RAM, microcontroller ATMega8535 juga memiliki
SRAM sebesar 512 Byte.
7. Programming Lock fasilitas yang memungkinkan untuk mengamankan kode
program.
8. 2 buah timer/counter 8-bit dan 1 buah timer/counter 16-bit. ATMega8535
memiliki 3 modul yang terdiri dari 2 buah timer/counter 8-bit dan 1 buah
timer/counter 16-bit. Ketiga modul ini dapat diatur dalam mode yang berbeda
secara individu dan tidak saling memperngaruhi satu sama lain.
10. 8 channel ADC (Analog Digital Converter) 10-bit. ADC ini merupakan fungsi
untuk membantu programmer saat akan mengolah data secara digital. Sesuai
dengan namanya ADC ini merubah data awal yang berupa data analog
menjadi data digital.
Untuk mendapatkan nilai ADC digunakan rumus :
VADC = (Vin / Vref) * 256 ……….. (2.8)
Keterangan :
VADC = Tegangan ADC (mV)
Vin = Tegangan inputan yang akan diconvert (V)
Vref = Tegangan referensi.
256 = Resolusi ADC, ATMega8535 memiliki resolusi 256 dan 1024.
11. Serial USART (Universal Synchronus and Asynchronus Serial Receive and
Transmitter). USART merupakan salah satu mode komunikasi serial yang
dimiliki oleh ATMega8535. USART merupakan komunikasi yang memiliki
fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik
antar mikrokontroller maupun dengan pheripheral eksternal termasuk PC yang
memiliki fiutr UART
12. Master/Slave SPI serial interface. Serial Peripheral Interface (SPI) merupakan
salah satu mode komunikasi serial synchronus kecepatan tinggi yang dimiliki
ATMega8535. Komunikasi SPI ini membutuhkan 3 jalur yaitu MOSI, MISO
mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar
mikrokontroller.
a) MOSI (Master Output Slave input)
Artinya jika dikonfigurasikan sebagai master maka pin MOSI ini
sebagai output tetapi jika dikonfigurasi sebagai slave maka pin
MOSI ini sebagai input.
b) MISO (Master Input Slave Output)
Berkebalikan dengan MISO di atas, jika dikonfigurasikan sebagai
master maka pin MISO ini sebagai input tetapi jika dikonfigurasikan
sebagai slave maka pin MISO ini sebagai output.
c) CLK (Clock)
Jika dikonfigurasikan sebagai master maka pin CLK berlaku sebagai
output (pembangkit clock) tetapi jika dikonfigurasikan sebagai slave
maka pin CLK berlaku sebagai input (menerima sumber clock dari
master).
pengaturan konfigurasi Master atau Slave ditentukan oleh pin . Jika
pin tersebut diberi tegangan high (1) maka terkonfigurasi sebagai
pin AIN1. Kemudian hasilnya akan ditunjukkan oleh pin AC0, dimana pin
AC0 ini akan bernilai 1 jika tegangan masukan pin positfi lebih besar dari pin
negative, begitu juga sebaliknya.
2. 2. 2. Deskripsi Pin ATMega8535
Gambar 2.10 Konfigurasi Pin ATMega8535
Keterangan :
d) VCC : pin masukan catu daya.
e) Gnd : pin ground.
f) Port A (PA0 – PA7) : pin I/O dan pin ADC.
g) Port B (PB0 – PB7) : pin I/O dan pin timer/counter, analog
comparator, SPI.
h) Port C (PC0 – PC7) : pin I/O dan TWI, analog comparator,
Timer, Oscilator.
i) Port D (PD0 – PD1) : pin I/O dan analog comparator, interupsi
eksternal, USART.
k) XTAL1 dan XTAL 2 : pin untuk clock external.
l) AVCC : pin catu daya yang digunakan untuk masukan ADC.
m) AREF : pin untuk teganga referensi ADC.
2. 3.Komponen – Komponen Elektronik
Dalam pembuatan mobil automtatis ini ada beberapa komponen
elektronik yang digunakan, resistor, IC, dioda, Motor DC, Sensor warna TCS230.
2. 3. 1.Resistor
Resistor merupakan salah satu komponen pasif yang memiliki fungsi
untuk mengatur dan menghambat arus listrik. Resistor di beri lambang huruf R
dengan satuannya yaitu Ohm ( ). Secara umum resistor berdasarkan nilainya
dapat dibagi menjadi 3 bagian,yaitu :
1. Fixed Resistor
Merupakan resistor yang nilai hambatannya tetap. Berikut ini
adalah bentuk resistor:
Gambar 2.11 Bentuk Fisik Resistor
Nilai hambatan resistor dapat kita ketahui dari gelang warna yang
terdapat pada badan resistor, dimana ketentunanya adalah sebahai
berikut:
1. Gelang ke-1 dan gelang ke-2 menyatakan nilai resistor.
2. Gelang ke-3 menyatakan faktor pengali.
3. Gelang ke-4 menyatakan toleransi.
Jika resistor memiliki 5 gelang warna, maka nilai gelang ke-1, 2
dan 3 menyatakan nilai resistor, gelang ke-4 merupakan faktor pengali
dan gelang ke-5 menyatakan toleransi. [6]
Sedangkan untuk mengetahui nilai dari warna gelang resistor, kita
bisa lihat pada tabel 2.1
Tabel 2.1 Tabel kode warna resistor
Warna Nilai Faktor Pengali Toleransi
Sebuah resistor memiliki gelang warna seperti berikut ini :
Gelang ke-1 : Jingga, memiliki nilai 3
Gelang ke-3 : Merah, merupakan faktor pengali 102
Gelang ke-4 : Emas, memiliki nilai toleransi 5%
Jadi, resistor di atas memiliki nilai 3000 ± 5 %
2. Variable Resistor
Merupakan resistor yang nilai hambatannya dapat diubah-ubah.
Berdasarkan cara merubah hambatannya variable resistor dibagi menjadi
2, yaitu :
1. Trimpot
Merupakan variable resistor yang nilai hambatannya dapat
dirubah menggunakan obeng atau alat bantu. [7]
Berikut ini beberapa contoh trimpot:
Gambar 2.13 Variable resistor jenis trimpot
2. Potensio
Merupakan variable resistor yang nilai hambatannya dapat
dirubah langsung menggunakan tangan (tanpa menggunakan alat
bantu) dengan cara memutar poros engkol atau menggeser kenop
untuk potensio geser [7]
Gambar 2.14 Variable resistor jenis potensio
3. Resistor Non Linier
Ada beberapa jenis resistor non linier, diantaranya adalah :
1. PTC ( Positive Temperature Coefisien )
Adalah jenis resistor non linier yang nilai hambatannya
terpengaruh oleh perubahan suhu. Makin tinggi suhu di sekitarnya
maka makin besar nilai hambatannya. [7]
Berikut adalah contoh PTC:
Gambar 2.15 Bentuk fisik PTC
2. NTC ( Negative Temperature Coefisien )
Jenis resistor ini hampir sama dengan PTC, nilai hambatannya
terpengaruh oleh perubahan suhu, perbedaannya adalah jika suhu
semakin tinggi maka nilai hambatannya akan semakin kecil,
sebaliknya jika suhu semakin rendah maka makin besar niai
Berikut adalah contoh NTC:
Gambar 2.16 Bentuk fisik NTC
3. LDR ( Light Dependent Resistor )
Adalah jenis resistor non linier yang nilai hambatannya
terpengaruh oleh intensitas cahaya yang mengenainya. Makin besar
intensitas cahaya yang mengenainnya makin kecil nilai
hambatannya. [7]
2. 3. 2.Dioda
Dioda adalah komponen elektronika yang paling sederhana dari keluarga
semikonduktor, dari simbolnya menunjukkan arah arus dan ini merupakan sifat
dioda, bahwa dioda hanya mengalirkan arus pada satu arah, arus hanya mengalir
dari kutub Anoda ke kutub Katoda. Satu sisi dioda disebut Anoda untuk
pencatuan positif (+), dan sisi lainnya disebut Katoda untuk pencatuan negatif (-),
yang dalam pemasangannya tidak boleh terbalik. Secara fisik bentuk dioda seperti
silinder kecil dan biasanya diberi tanda berupa lingkaran warna putih, yang
Gbr 2.17 Bentuk fisik dioda dan lambang diode
2. 3. 3.Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat,
sebagai sirkuit pemutus dan penyambung (switching), stabilisasi tegangan,
modulasi sinyal atau sebagai fungsi lainnya. Transistor dapat berfungsi semacam
kran listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya
(FET), memungkinkan pengaliran listrik yang sangat akurat dari sirkuit sumber
listriknya.
Transistor adalah komponen yang sangat penting dalam dunia elektronik
modern. Dalam rangkaian analog, transistor digunakan dalam amplifier (penguat).
Rangkaian analog melingkupi pengeras suara, sumber listrik stabil, dan penguat
sinyal radio. Dalam rangkaian-rangkaian digital, transistor digunakan
sebagai saklar berkecepatan tinggi. Beberapa transistor juga dapat dirangkai
sedemikian rupa sehingga berfungsi sebagai logic gate, memori, dan
komponen-komponen lainnya. [10]
2. 3. 4.Optocoupler
Optocoupler merupakan piranti elektronika yang berfungsi sebagai
pemisah antara rangkaian power dengan rangkaian control. Optocoupler
merupakan komponen yang berfungsi untuk mengatur feedback yang masuk ke
STR / Transistor / IC power pada bagian power supply. [9]
Optocoupler adalah suatu komponen penghubung (coupling) yang
bekerja berdasarkan picu cahaya optic. Optocoupler terdiri dari dua bagian yaitu :
1. Pada transmitter dibangun dari sebuah LED infra merah. Jika
dibandingkan dengan menggunakan LED biasa, LED infra merah
memiliki ketahanan yang lebih baik terhadap sinyal tampak. Cahaya
yang dipancarkan oleh LED infra merah tidak terlihat oleh mata
telanjang.
2. Pada bagian receiver dibangun dengan dasar komponen Photodiode.
Photodiode merupakan suatu transistor yang peka terhadap tenaga
cahaya. Suatu sumber cahaya menghasilkan energi panas, begitu
pula dengan spektrum infra merah. Karena spekrum infra
mempunyai efek panas yang lebih besar dari cahaya tampak, maka
Photodiode lebih peka untuk menangkap radiasi dari sinar infra
merah.
Prinsip kerja dari optocoupler adalah :
a. Jika antara Photodiode dan LED terhalang maka Photodiode tersebut
b. Sebaliknya jika antara Photodiode dan LED tidak terhalang
maka Photodiode dan LED tidak terhalang maka Photodiode tersebut
akan on sehingga output-nya akan berlogika low.
Pada bab ini akan dibahas mengenai beberapa hal dasar tentang bagaimana
simulasi mobil automatis dirancang, diantaranya adalah :
1. Menentukan tujuan dan kondisi pembuatan simulasi mobil.
2. Perancangan elektronik, meliputi perancangan proses kerja dan
pembuatan rangkaian elektronik.
3. Perancangan mekanik mobil, meliputi penentuan dimensi mobil
(panjang, lebar, tinggi), dan bahan-bahan yang digunakan.
4. Perancangan software, meliputi perancangan proses kerja system yang
akan dibuat.
3. 1.Perancangan Mobil Automatis
Dalam pembuatan robot ini penulis memperhatikan beberapa aspek yang
dibutuhkan, yaitu :
1. Mobil ini dirancang agar dapat melaju secara otomatis pada rute yang
sudah disediakan.
2. Selain mengikuti rute yang ada mobil ini juga dirancang untuk dapat
membedakan warna merah, kuning, hijau dan dapat melakukan aksi
yang sesuai dengan warna yang dikenali. Jika melihat warna merah
mobil akan berhenti, jika melihat warna kuning mobil akan
mengurangi kecepatan, jika melihat warna hijau mobil akan tetap
melaju.
ATMega8535.
4. Mobil ini nantinya akan berjalan di jalur yang di dalamnya terdapat
perempatan dan pertigaan. Dan setiap ada perempatan maka mobil
secara otomatis akan belok kanan. Dan setiap adan pertigaan mobil
akan menghiraukan.
5. Semua aksi (maju, belok, berhenti, mengurangi kecepatan)
merupakan logika yang diterapkan di dalam program yang
ditanamkan ke Mikrokontroller ATMega 8535, dan pemrogramannya
menggunakan pemrograman CodeVision AVR.
3. 2.Perancangan Elektronik
Perancangan elektronik ini meliputi perancangan sensor garis dan
comparatornya, sensor warna dan driver motor. Secara umum proses kerja
rangkaian elektronik mobil automatis dijelaskan pada gambar di bawah ini :
Gambar 3.1 Blok Diagram Mobil Automatis
Penjelasan :
A. Proses awal dari system yang akan dibuat ini adalah pembacaan data
oleh sensor garis, hasil yang didapatkan dari sensor garis ini berupa
dikirimkan ke comparator LM339, hal ini dilakukan untuk
mengkonversi hasil awal yang berupa tegangan menjadi output yang
berupa nilai digital (0 dan 1).
C. Hasil digital dari comparator LM339 kemudian dikrimkan ke
mikrokontroller ATMega8535.
D. Selain sensor garis ada juga sensor warna yang berfungsi untuk
membaca warna yang terdapat di rute lintasan, warna yang mungkin
untuk dikenali adalah warna merah, hijau dan kuning. Nilai yang
didapat dari sensor warna ini dirimkan ke port ADC yang terdapat di
ATMega8535.
E. Di ATMega8535 data dari sensor garis dan sensor warna diproses,
pertama-tama data dari sensor garis akan diproses terlebih dahulu,
data yang ada akan dirubah menjadi pwm yang nantinya akan
dikirimkan ke driver motor untuk melakukan aksi (berhenti, mundur
atau maju). Kecepatan dari motor DC diatur berdasarkan pwm yang
diberikan oleh ATMega8535. Setelah itu dilakukan pemrosesan data
untuk sensor warna. Hasil dari sensor warna ini akan memberikan
aksi berupa berhenti sejenak, mengurangi kecepatan dan
mengembalikan kecepatan seperti normal
.
3. 2. 1.Perancangan Sensor Garis dan Comparator
Bahan-bahan yang dibutuhkan unuk membuat sensor garis dan
b. LED hijau 6 buah
c. Photodioda 6 buah
d. Resistor 220 6 buah
e. Resistor 20K 6 buah
f. Resistor 470 6 buah
g. Variabel resistor 20K 6 buah
h. IC LM339 2 buah
i. Jack housing 6 kaki 1 buah
Gambar rancangan schematic dari sensor garis dan comparator ini adalah
sebagai berikut:
Gambar 3.2 Schematic Sensor Garis dan Comparator
Untuk mengetahui lebih jelas mengenai proses kerja dari sensor garis dan
Gambar 3.3 Flowchart Sensor Proximity
Penjelasan :
A. Proses pertama sensor garis ini dimulai dengan pembacaan posisi
mobil, acuan yang digunakan oleh mobil adalah garis hitam yang
terdapat di rute. Posisi tersebut dapat dilihat pada gambar 3.4
Baca posisi mobil
Baca warna lintasan
Hitung nilai tegangan Vp= (Rs / (Rs+R)) * Vcc
Bandingkan nilai Vp dengan nilai Vres
Vp < Vres
Vo = 0
Vo = Vcc
(digital high 1 output) Kirim Vo ke
ATMega8535 END Ya
Gambar 3.4 Posisi mobil terhadap garis lintasan
Penejelasan :
a) Posisi 1. Posisi robot ada di sebelah kiri dari garis yang terdapat
di lintasan, yang berarti hanya sensor yang sebelah kanan saja
yaitu sensor KA2 yang membaca garis hitam.
b) Posisi 2. Posisi robot ada si sebelah kiri dari garis yang terdapat
di lintasan dengan 2 sensor sebelah kanan yaitu sensor KA2 dan
KA1 membaca garis hitam sedangkan 4 lainnya membaca
background putih.
c) Posisi 3. Posisi robot ada di hampir tengah – tengah yaitu sensor
background putih.
d) Posisi 4. Posisi robot ada di tengah – tengah garis hitam, yaitu
sensor KA dan KI yang tepat berada di tengah-tengah membaca
garis hitam, sedangkan sensor paling kiri dan kanan membaca
background putih.
e) Posisi 5. Posisi robot berada hampir di tengah – tengah ketika 2
sensor sebelah kiri yaitu sensor KI dan KI1 membaca garis hitam
sedangkan 3 sensor kanan dan sensor kiri terluar yaitu KI2
membaca background putih.
f) Posisi 6. Posisi robot ada di sebelah kanan garis hitam, ketika
sensor KI1 dan KI2 membaca garis hitam, sedangkan sensor
yang lainnya membaca background putih.
g) Posisi 7. Posisi robot ada di sebelah kanan garis hitam, yaitu
ketika sensor kiri terluar membaca garis hitam sedangkan sensor
lainnya membaca background putih.
Secara teori ketujuh posisi inilah yang mungkin terjadi saat mobil
melaju di lintasam, tetapi pada prakteknya selain ketujuh posisi di
atas ada posisi-posisi lain yang juga mungkin terjadi, yaitu posisi 8
ketika hanya sensor KA1 yang membaca garis hitam, posisi 9 ketika
hanya sensor KI1 yang membaca garis hitam, posisi 10 ketika semua
sensor membaca garis hitam dan posisi 11 ketika semua sensor
melakukan aksi (lurus, belok kiri atau kanan), pergerakan mobil
tersebut dapat dilihat pada tabel 3.1 :
Tabel 3.1 Pergerakan mobil
Posisi Aksi Robot Roda Kiri Roda Kanan 1 Belok kanan tajam Maju cepat Berhenti 2 Belok kanan sedang Maju cepat Maju lambat 3 Belok kanan ringan Maju cepat Maju sedang 4 Maju lurus Maju cepat Maju cepat 5 Belok kiri ringan Maju sedang Maju cepat 6 Belok kiri sedang Maju lambat Maju cepat 7 Belok kiri tajam Berhenti Maju cepat 8 Belok kanan ringan Maju cepat Maju sedang 9 Belok kiri ringan Maju sedang Maju cepat 10 Belok kanan tajam Maju cepat Berhenti 11 Kondisional Kondisional Kondisional
B. Setelah mengetahui letak dari mobil, langkah selanjutnya adalah
mencari nilai tegangan dari masing-masing photodiode jika
photodiode mengenai warna hitam maka resistansi photodiode akan
berkurang sedikit, sedangkan jika mengenai warna putih maka
resistansinya akan menjadi kecil.
Resistansi photodiode pada umunya adalah sebesar 150K , jika
membaca garis hitam maka nilai resistansinya bisa menjadi ±145K
sedangkan jika membaca garis putih nilai resistansinya menjadi
±10K . Dengan diketahuinya nilai resistansi dari photodiode dan
resistor yang digunakannya, maka kita dapat menghitung nilai
tegangan dari masing-masing photodiode dengan menggunakan
rumus 2.4
Nilai resistansi photodiode saat warna putih : 10K
Nilai resistansi photodiode saat warna hitam : 145K
Perhitungan :
2.5V, dan saat membaca warna hitam adalah 4.67V.
C. Setelah mendapatkan nilai tegangan dari photodiode nilai tersebut
dikirim ke rangkaian comparator, dan di rangkaian comparator nilai
tersebut dibandingkan dengan nilai tegangan dari variable resistor
yang digunakan. Prinsip dari comparator ini adalah jika Vp > Vres
maka Vo = Vcc (digital high 1 output), sedangkan jika Vres < Vo
maka Vo = 0 (digital low 0 output). Untuk mencari nilai tegangan
dari variable resistor kita bisa mencari rata-rata dari tegangan
photodiode yang akan dibandingkan, sehingga bisa didapatkan nilai
sebagai berikut :
Vres = (2.5+4.67) / 2 = 3.59V
Setelah mengetahui nilai tegangan dari variable resistor, maka
tegangan dari photodiode dibandingkan dengan Vres tersebut, untuk
hasilnya dapat dilihat pada tabel 3.2
4.67 3.59 1 digital output 2.5 3.59 0 digital output
Hasil dari perbandingan ini kemudian dikirmkan ke ATMega 8535
untuk kemudian diproses dan dikirmkan ke driver motor sebgai
interupsi pergerakan roda (maju, mundur, berhenti).
3. 2. 2.Perancangan Sensor Warna
Sensor warna ini berfungsi untuk mengenali perbedaan warna merah,
kuning, hijau.
Berikut ini adalah gambar schematic rangkaian sensor warna:
.
Gambar 3.5 Schematic Sensor Warna
Sensor warna ini bekerja dengan cara merubah cahaya menjadi tegangan,
prinsip kerjanya sama dengan prinsip kerja dari photodiode. Hasil tegangan yang
didapat dari sensor warna ini kemudian dimasukkan ke dalam ADC.
Cara kerja dari sensor warna ini adalah sebagai berikut:
a. Proses awal dari sensor warna ini adalah pembacaan warna saat mobil
dihasilkan oleh photodiode.
b. Hasil tegangan yang diperoleh dari sensor garis kemudian dikirim ke
port ADC pada microcontroller. Melalui port ADC ini tegangan
tersebut dirubah menjadi sinyal analog.
c. Sinyal analog tersebut kemudian dirubah menjadi bilangan 8bit agar
dapat dibaca oleh microcontroller
3. 2. 3.Perancangan Driver Motor
Driver ini berfungsi untuk memberikan interuksi kepada motor dc untuk
melakukan sebuah aksi, baik itu maju, mundur, ataupun berhenti.
Bahan-bahan yang dibutuhkan untuk membuat rangkaian ini adalah
sebagai berikut :
a. Transistor 4 buah
b. Resistor 330 6 buah
c. Optocoupler 3 buah
d. Diode 4148 2 buah
Gambar rancangan schematic dari driver motor ini adalah sebagai berikut:
Keterangan :
Proses kendali dalam hal ini ditentukan oleh logika dari OUT_KIRI_A,
OUT_KIRI_B, dan REM_KIRI, di mana agar motor tersebut bekerja, maka
kondisi OUT_KIRI_A, OUT_KIRI_B, dan REM_KIRI harus saling berbeda
logika. Motor akan maju OUT_KIRI_A bernilai 0 dan OUT_KIRI_B bernilai 1,
motor akan mundur apabila OUT_KIRI_A bernilai 1 dan OUT_KIRI_B bernilai
0, dan motor akan berhenti jika REM_KIRI bernilai 0.
Berikut ini adalah tabel kebenaran motor driver, yang digunakan untuk
mengetahui proses input, output dan aksi yang diberikan ke motor.
Tabel 3.3 Tabel Kebenaran Driver Motor Kiri
e. Baterai 1,5 V 6 buah.
Mekanik yang dibuat direncanakan akan memiliki panjang 15cm, lebar
14 cm, tinggi 10 cm, dan memiliki 2 tingkat.
Gambar rancangan mekanik yang akan dibuat adalah seperti di bawah
ini:
Gambar 3.7 Mekanik Mobil
3. 4.Perancangan Perangkat Lunak
Perangkat lunak yang akan dibuat adalah perangkat lunak yang dibuat
menggunakan bahasa C dengan program compiler yang bernama CodeVision
b. Pemrosesan data sensor.
c. Pengendali kedua motor DC yang digunakan.
Berikut ini diagram alir dari perangkat lunak yang akan dibuat:
Penjelasan :
a. Port yang digunakan adalah port A.0 untuk sensor warna, port
D.0-D.5 untuk sensor garis, port C.0-C.1 untuk counter, port C2.-C.7
untuk driver motor, port B.0-B2 dan B4-B7 untuk LCD.
b. Selain inisialisasi port ada juga inisialisai variable-variable lainnya,
seperti x untuk posisi, lpwm, rpwm untuk nilai pwm dari motor,
second untuk waktu, dan lain-lain.
c. Aksi pertama yang dilakukan mobil adalah maju. Setelah maju, mobil
baru membaca garis.
d. Pembacaan garis disesuaikan dengan cara kerja sensor garis. Setelah
membaca garis program akan memberikan pwm dan direksi yang
kemudian dikirim ke driver motor. PWM yang akan dikirim harus
lebih besar dari 0, karena jika PWM bernilai 0 maka berarti mobil
akan berhenti dan program akan berakhir.
e. Setelah pembacaan sensor garis, selanjutnya adalah pembacaan
warna, pembacaan warna ini dilakukan dengan cara mengambil nilai
dari sensor warna yang menggunakan pin ADC.0, setelah
mendapatkan nilai tersebut mobil akan melakukan aksi sesuai dengan
Warna=
jika hijau pwm dikembalikan normal dan jika merah pwm
dihilangkan, rem diaktifkan selama 7 detik.
f. Setelah proses pembacaan sensor warna dilakukan, hasil direksi dan
pwm langsung diberikan ke motor kiri dan kanan. Dan motor kiri dan
kanan akan melakukan aksi sesuai dengan direksi dan pwm yang
diberikan.
g. Setelah menggerakkan motor, program akan kembali mengeksekusi
pembacaan garis, proses ini dilakukan terus menerus sampai
menemukan titik dimana pwm bernilai 0, yaitu ketika sensor garis
automatis dibuat dan pada akhirnya dapat dijalankan dengan baik, cara membuat
program dan cara mengimplementasikan program yang sudah dibuat.
4. 1.Kebutuhan Perangkat Sistem
Perangkat yang dibutuhkan dalam pembuatan simulasi mobil
menggunakan ATMega8535 ini meliputi perangkat keras (hardware) dan
perangkat lunak (software)
Adapun perangkat keras yang dibutuhkan adalah sebagai berikut :
a. PC diatas pentium 3, yang memiliki serial port (COM1/COM2).
b. Hard Disk dengan kapasitas minimum 500 Kb
c. Downloader serial untuk AVR.
Sedangkan perangkat lunak yang dibutuhkan adalah sebagai berikut :
a. Windows XP SP2 sebagai sistem operasi
b. CodeVision AVR sebagai program compiler
4. 2.Implementasi Pemrograman
Untuk memulai pemrograman jalankan CodeVision AVR yang terdapat
di C:/cvavr/bin/cvavr.exe
Gambar 4.1 Folder Tempat Program CodeVision AVR
Gambar 4.2 Tahap awal pembuatan program
Pilih wizard avr, kemudian pilih chip yang akan digunakan, yaitu
ATMega8535 dengan clock 11.0592.
Gambar 4.3 Pemilihan Chip dan Clock yang akan digunakan
Setelah memilihi chip yang digunakan, selanjutnya konfigurasikan
masing-masing port yang akan digunakan, port yang akan digunakan adalah port
port C untuk driver motor konfigurasi port C dapat dilihat pada gambar (4.4c),
port D untuk sensor garis konfigurasi port D dapat dilihat pada gambar (4.4d).
(a) (b)...
(c) (d)
konfigurasi ADCnya juga, dapat dilihat pada gambar (4.5a). Dan untuk
penggunaan delay maka konfigurasi timer juga diperlukan, konfigurasi timer
dapat dilihat pada gambar (4.5b), berikut ini konfigurasi ADC dan timer :
(a) (b)
Gambar 4.5 Konfigurasi timer dan ADC.
Setelah selesai, klik menu File->Generate, Save and Exit. Lalu akan
muncul halaman untuk memasukkan code program.
Berikut ini potongan program simulasi mobil automatis :
void scan()
case 0b00000011: maju(90,30); x=1; z=4;break;
case 0b00000010: maju(100,50); x=1; z=4;break;
case 0b00001100: maju(100,100); z=4;break;
case 0b00001000: maju(80,100); x=0; z=4;break;
case 0b00011000: maju(60,100); x=0; z=4;break;
case 0b00010000: maju(50,100); x=0; z=4;break;
case 0b00110000: maju(30,90); x=0; z=4;break;
case 0b00100000: maju(0,70); x=0; z=4;break;
Code di atas adalah code untuk scan garis hitam, fungsi ini digunakan
agar mobil tetap berada di jalur yang ditentukan, yaitu tetap mengikuti garis
hitam. Jika sensor berada di atas garis hitam maka sensor akan bernilai 1, dan jika
berada di garis putih maka sensor akan bernilai 0. Setelah mengecek garis lintasan
mobil digerakkan sesuai posisinya dengan menggunakan fungsi maju (a,b). posisi
x merupakan indicator tempat terakhir mobil berada, jadi jika mobil keluar garis
lintasan maka mobil akan bisa kembali dengan segera.
Contoh:
case 0b00000100: maju(100,80); x=1; z=4;break; //1
case 0b00001000: maju(80,100); x=0; z=4;break; //2
Jalan dari code 1 adalah jika sensor KI terkena garis hitam sedang yang
lain membaca background putih, kemudian mobil akan berbelok ringan (motor
kiri maju cepat, motor kanan maju ringan) dan x diset 1, 1 berarti kondisi ketika
mobil berada di sebelah kiri garis hitam, sedangkan code 2 adalah jika sensor KA
terkena garis hitam sedang yang lain terkena background putih, dan x diset=0,
maka mobil akan berbelok sesuai dengan kondisi keberadaan mobil yang terakhir
secara otomatis mobil akan langsung berbelok kanan sampai menemukan garis
lintasan yang tepat, jika x=0, kondisi mobil terkahir di sebelah kanan lintasan
maka secara otomatis mobil akan langsung berbelok kiri sampai menemukan garis
lintasan yang tepat.
Selain melaju di garis luru mobil juga akan dihadapi dengan lintasan
yang memiliki perempatan, dan jika menghadapi perempatan mobil akan langsung
berbelok kanan, fungsi ini dapat dilihat di code berikut ini:
case 0b00111111: belka(90,50); x=0; z=4;break;
code ini berarti mobil sedang berada di atas perempatan, perempatan
dikenali dengan semua sensor sedang membaca garis hitam, jika kondisi
perempatan terpenuhi maka mobil akan langsung berbelok kanan dengan fungsi
belka(a,b).
void maju(unsigned char mki,unsigned char mka) {
untuk rem motor baik motor kiri maupun kanan.
Remka dan remki harus dipastikan tidak aktif, karena jika remka atau
remki diaktifkan berapapun besarnya pwm dan direksi yang diberikan maka motor
tidak akan dapat bergerak sama sekali.
void belka(unsigned char mki,unsigned char mka) {
kanan maka direction kanan harus berhenti dan direction kiri berjalan.
void belki(unsigned char mki,unsigned char mka) {
maka direction kiri harus berhenti dan direction kanan berjalan.
void stop (){pwmki=0; pwmka=0; remki=0; remka=0;}
fungsi ini digunakan untuk menghentikan mobil.
warna=read_adc(0);
l_tm=((255-m)/2)-10; //mencari nilai low merah h_tk=((255-k)/2)+10; //mencari nilai high kuning
th=(255-warna)/2; //mencari nilai tengah-tengah
warna=read_adc(0) berfungsi untuk mengambil nilai warna yang dilihat saat ini,
l_tm digunakan untuk mencari nilai low tegangan merah, h_tk=digunakan untuk
mencari nilai max tegangan kuning, th digunakan untuk mencari nilai rata-rata
tegangan saat ini. Jika nilai tegangan rata-rata saat ini kurang dari h_tk maka
warna yang dilihat adalah warna kuning, jika nilai tegangan rata-rata saat ini lebih
dari nilai l_tm maka warna yang dilihat adalah warna merah.
Untuk memberikan aksi kepada motor sesuai dengan warna yang dilihat
maka digunakan potongan program di bawah ini :
warna=read_adc(0);
dan direksi yang diberikan ke motor sesuai dengan posisi terakhir saat
pendeteksian garis. Jika z==2, maka mobil akan berhenti selama 7 detik kemudian
langsung maju, jika nilai th<h_th dan h>l_th maka mobil akan melaju seperti
normal, jika semua tidak terpenuhi berarti sensor warna sedang membaca warna
hitam sehingga tidak ada aksi yang diberikan kepada driver motor
4. 3.Prosedur Pemasangan Program Pada ATMega8535
Agar listing program yang dibuat dapat dibaca oleh microcontroller,
maka listig program yang awalnya berekstensi .c harus diconvert menjadi .hex.
Berikut ini alur proses pemasangan program pada ATMega8535 menggunakan
program compiler CodeVision AVR.
Gambar 4.6 Alur Pemasangan Program Pada Microcontroller
Untuk memasang program pada chip ATMega8535 pertama-tama
program yang sudah dibuat sebelumnya harus dicompile terlebih dahulu, untuk
memastikan tidak ada yang error, karena jika ada yang error maka program tidak
akan bisa dibuat, hasil compile dari program yang sudah tidak memiliki error
adalah seperti gambar di bawah ini:
Gambar 4.7 Hasil compilasi program
Setelah tidak ada kesalahan selanjutnya make program, hasilnya dapat
dilihat pada gambar 4.8, setelah make program selesai listing code yang awalnya
berekstensi .c akan diconvert menjadi .hex, untuk mengetahuinya dapat dilihat di
folder tempat penyimpanan file project yang sedang dibuat, seperti yang
ditunjukkan pada gambar 4.9
Gambar 4.8 Tampilan Saat Make Program
Gambar 4.9 Hasil Convert File t5.c
Setelah itu klik button “Program the chip”. Maka proses selanjutnya
adalah proses pengisian program, ada juga yang menamakan penanaman program
pada chip ATMega8535.
Pengisian program ini dilakukan secara bertahap :
1. Proses pertama pengecekan kondisi memori flash chip
2. Jika chip belum terpasang dengan benar maka aka nada peringatan
error.
3. Jika chip sudah terpasang dengan benar maka memori flash yang ada
sebelumnya dihapus
pengisian memori EEPROM. Proses ini dilakukan hanya jika listing
code yang dibuat menggunakan fasilitas EEPROM, jika tidak maka
proses ini akan dilewati.
Berikut ini hasil dari pengisian program pada chip ATMega8535
……….(a) (b)
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 dilakukan secara bertahap, diawali
dengan pengujian hardware programmer, kemudian dilanjutkan dengan pengujian
proyek sederhana
5.1. Analisis Permasalahan
Setelah hardware programmer selesai dirancang, maka sebelum dicoba
untuk mendownload program, terlebih dahulu mengukur tegangan I/O pada
hardware programmer tersebut. Mengingat tegangan I/O pada hardware
programmer ini harus sama dan sesuai dengan tegangan pada schematicnya, maka
dari itu diperlukan suatu alat untuk mengukur tegangan tersebut yaitu dengan
AVO meter.
5.2. Pengujian Sensor Garis
Sensor garis dalam simulasi mobil automatis sangatlah penting, karena itu
rangkaian pertama yang diuji adalah sensor garis ini.
Pengujian sensor garis dilakukan dengan cara meletakkan sensor pada
background dengan warna hitam dan putih. Jika ketika diletakkan di atas warna
maka lampu indicator akan tetap menyala
Pengujian 1:
Sensor diletakkan di atas warna hitam:
Gambar 5.1 kondisi lampu indicator ketika sensor berada di atas warna
hitam
Pengujian ini berhasil karena lampu indicator mati ketika sensor diletakkan
di atas warna hitam
Pengujian 2:
Sensor diletakkan di atas warna putih:
Gambar 5.2 kondisi lampu indicator ketika sensor berada di atas warna
diletakkan di atas warna putih
Dengan pengujian-pengujian di atas diketahui bahwa sensor dapat berjalan
dengan baik
5.3. Pengujian Sensor Warna
Pengujian sensor warna dilakukan untuk mengetahui apakah sensor sudah
bisa membedakan warna atau belum, untuk dapat mengetahui apakah sensor
sudah berjalan dengan baik maka dilakukan pengecekan dengan meletakkan
sensor pada tiga kertas yang berbeda.
Pengujian dilakukan dengan dua kondisi berbeda, kondisi pertama
pengujian dilakukan di dalam ruangan tertutup, sedangkan kondisi kedua
pengujian dilakukan di ruangan terbuka.
Pengujian 3:
Sensor warna diletakkan di atas kertas berwarna kuning:
Sensor warna diletakkan di atas warna hijau:
Gambar 5.4 sensor warna diletakkan di atas warna hijau
Pengujian 5:
Sensor warna diletakkan di atas warna merah:
Gambar 5.5 sensor warna diletakkan di atas warna merah
Melaului pengujian dengan kondisi ruangan tertutup nilai yang didapat dari
Pengujian
Kuning 197 196 193 183 192
Hijau 77 79 82 83 83
Karena nilai-nilai di atas sudah memiliki perbedaan yang cukup jauh maka
sensor warna yang dibuat sudah dapat membedakan warna-warna yang ada.
Berikut ini hasil salah satu pembacaan warna:
Gambar 5.6 hasil pembacaan sensor warna pengujian di ruang tertutup
Sedangkan melalui pengujian dengan kondisi ruang terbuka nilai yang
didapat dari sensor warna ini adalah sebagai berikut :
Tabel 5.2 Pembacaan Sensor Warna di ruang terbuka
Pengujian
Merah 185 189 187 197 189
Kuning 197 190 186 198 192
Hijau 192 187 186 175 193
Karena nilai-nilai yang didapatkan tidak memiliki perbedaan yang dapay
warna-Berikut salah satu hasil dari pembacaan sensor warna pada ruang terbuka :
Gambar 5.7 hasil pembacaan sensor warna di ruang terbuka
5.4. Studi Kasus
Setelah semua rangkaian berfungsi dengan baik selanjutnya dilakukan
pengujian mobil secara keseluruhan untuk memastikan bahwa semua rangkaian
terhubung dan dapat berjalan dengan baik.
Pengujian ini dilakukan beberapa tahap, tahap pertama yang dilakukan
adalah pengujian sensor garis, kemudian pengujian sensor warna
Kasus I:
Mobil diletakkan di atas garis lurus
Mobil
Pengujian pertama mobil diletakan di sebelah kiri lintasan, pada detik 1-3
mobil melakukan belok kanan tajam, dan pada detik 4-7 mobil melakukan belok
kanan ringan, setelah itu mobil dapat melaju lurus.
Pengujian kedua mobil diletakan di sebelah kanan lintasan, pada detik 1-3
mobil melakukan belok kiri tajam, dan pada detik 4-7 mobil melakukan belok kiri
ringan, setelah itu mobil dapat melaju lurus.
Kasus 2:
Mobil diletakkkan di atas lintasan yang memiliki perempatan
Gambar 5.9 mobil belok kanan ketika menghadapi perempatan
Pengujian ketiga ini meletakkan mobil pada lintasan yang memiliki
perempatan. Ketika mobil menghadapi perempatan, aksi motor adalah sebagai
berikut:
2 Stop Motor berhenti sejenak
3 Belok kanan tajam Motor kanan berhenti, motor kiri maju cepat 4 Belok kanan sedang Motor kanan maju sedikit, motor kiri maju
sedang
5 Maju Motor kanan maju, motor kiri maju
Dari percobaan di atas mobil mampu menghadapi lintasan yang memiliki
perempatan. Mobil mampu berbelok kanan tajam ketika menghadapi perempatan,
lalu berbelok kanan sedang sehingga memposisikan mobil ke tengah.
Kendala dari pengujian ini, tidak selalu mobil dapat melakukan belok kanan
sedang.
Berikut ini hasil dari pengujian I dan III:
(a) (b)
(e)
Gambar 5.10 Posisi Mobil di Pengujian I dan III
Penjelasan :
Gambar (a) adalah posisi awal dimana mobil ditempatkan di sebelah kanan
garis
Gambar (b) adalah posisi saat mobil mulai memasuki jalur
Gambar (c) adalah posisi saat mobil berhasil berada di lintasan
Gambar (d) adalah posisi ketika mobil menemui perlintasan, dan berhasil
belok kanan.
Gambar (e) adalah posisi mobil berhasil melaju lurus sesaat setelah mobil
berbelok ke kanan
Berikut ini hasil dari pengujian II dan III:
(c) (d)
(e) (f)
Gambar 5.11 Posisi mobil di Pengujain II dan III
Dari pengujian-pengujian di atas dapat diketahui bahwa mobil sudah dapat
berjalan dengan baik di atas lintasan lurus.
Penjelasan :
Gambar (a) adalah posisi awal dimana mobil ditempatkan di sebelah kiri
garis
Gambar (b) adalah posisi saat mobil mulai memasuki jalur
berhenti sejenak.
Gambar (e) adalah posisi mobil mulai berbelok ke kanan
Gambar (f) adalah posisi mobil berhasil melaju kembali setelah berbelok.
Kasus 3 :
Mobil diletakkan di atas garis yang memiliki pertigaan :
Gambar 5.12 Mobil Ditempatkan di Rute Yang Mempunyai Pertigaan
Pengujian keempat ini meletakkan mobil pada lintasan yang memiliki
pertigaan. Ketika mobil menghadapi pertigaan, mobil tidak akan menghiraukan
pertigaan tersebut sehingga mobil akan tetap melaju
Berikut ini hasil dari pengujian keempat :
(c) (d)
Gambar 5.13 Hasil Pengujian Keempat
Penjelasan :
Gambar (a) : adalah posisi awal mobil
Gambar (b) : mobil mulai melaju di atas jalur lurus
Gambar (c) : /mobil menghadapi pertigaan tapi tidak melakukan apa-apa,
sehingga mobil tetap melaju lurus
Gambar (d) : mobil melaju lurus setelah menghadapi pertigaan.
Dari hasil pengujian keempat diketahui bahwa mobil tidak dapat mengenali
pertigaan, sehingga mobil tetap melaju lurus.
Kasus 5:
Kanan
Gambar 5.15 Mobil ditempatkan Di Rute Yang Memiliki Tikungan Ke Kiri
Pengujian kelima ini meletakkan mobil pada lintasan yang memiliki
tikungan baik tikungan ke kanan maupun tikungan ke kanan. Ketika mobil
menghadapi tikungan ke kanan, mobil tidak akan menghiraukan tikungan tersebut
sehingga mobil akan tetap melaju.
Aksi yang terjadi saat mobil menghadapi tikungan sama dengan saat mobil
menghadapi pertigaan, yaitu mobil tidak menghiraukan tikungan tersebut
sehingga mobil tetap melaju lurus.
Kasus 6 :
Mobil ditempatkan pada lintasan yang memiliki perbedaan warna di