Anda di halaman 1dari 46

MODUL

ROBOT LINE FOLLOWER

Disusun Oleh:

Barry Nur Setyanto, S.Pd


Bens.yogya@gmail.com

Dibuat untuk :

MEDIA BELAJAR EKSTRAKULIKULER

ROBOTIK SMP/SMA/SMK
Modul I
LINE FOLLOWER

Pengenalan Komponen
A. Resistor

Resistor atau hambatan banyak dipakai pada teknik listrik dan


elektronika. Resistor dibuat dengan berbagai cara, misalnya ada yang dibuat
dari kawat tertentu (misalnya nikelin) yang digulung sedemikian rupa dalam
suatu kerangka (gambar 1). Resisotor jenis ini tahan terhadap temperatur
tinggi sehingga digunakan untuk instalasi arus yang besar.
Selain jenis kawat gulung, ada juga resistor yang dibuat dari keramik
(semacam tanah liat) atau dari karbon yang disemprotkan pada keramik.
Resistor semacam ini kurang tahan terhadap temperatur sehingga hanya
digunakan untuk arus yang kecil-kecil (alat-alat elektronika) seperti gambar
2.

Gambar 1. Resistor Gulungan

Gambar 2. Resistor Warna


Dilihat dari konduksinya, ada resistor yang dapat diatur harga ohmnya
dan ada yang tidak. Resistor yang dapat diatur disebut variabel resistor atau
bisa juga disebut potensiometer (Gambar 3). Sedangkan resistor yang tidak
dapat diatur disebut fixed resistor.

Model Potensiometer Simbol Potensiometer


Gambar 3. Potensiometer

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
1
Modul I
LINE FOLLOWER

Kode Warna (Resistor Warna)

Gambar 4. Pergelangan Resistor


Keterangan:
Gelang 1 = angka puluhan
Gelang 2 = angka satuan
Gelang 3 = faktor pengali
Gelang 4 = toleransi

Tabel pewarnaan resistor 4 gelang sebagai berikut:


Warna Warna pada gelang
1 2 3 4
0
Hitam - - 10
Coklat 1 1 101
Merah 2 2 102
Jingga/Oranye 3 3 103
Kuning 4 4 104
Hijau 5 5 105
Biru 6 6 106
Ungu 7 7 107
Abu-abu 8 8 108
Putih 9 9 109
Emas 0,1 5%
Perak/Putih 0,01 10%
Tak Berwarna 20%

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
2
Modul I
LINE FOLLOWER

Gambar 5. Simbol resistor dan beberapa resistor

Pada resistor terdapat hubungan linier antara arus dan tegangan,


sehingga didapat persamaan:
𝑉
V= I . R atau R=
𝐼

Kerusakan resistor dapat berupa:


1. Karena mendapat panas yang berlebihan sehingga mengakibatkan harga
ohmnya rendah
2. Karena putus mengakibatkan harga ohmnya sangat besar atau tk
terhingga.
3. Karen bocor (terhubung singkat) mengakibatkan harga ohmnya sangat
kecil atau nol.
Contohnya:
Bacalah nilai resistor berikut ini: “Keterangan: pembacaan warna dimulai dari
gelang pertama sampai gelang 4”.
1. Merah; Kuning; Biru; Emas
2. Merah; Merah; Merah; Perak
3. Coklat; Hijau; Kuning; Emas
Jawab:
1. 2 , 5 , 106 = 25MΩ, dengan toleransi 5%, sehingga menjadi 25MΩ/5%
2. 2 , 2 , 102 = 2200Ω, dengan toleransi 10%, sehingga menjadi 2k2Ω/5%
3. 1 , 5 , 104 = 150000Ω, dengan toleransi 5%, sehingga menjadi 150kΩ/5%

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
3
Modul I
LINE FOLLOWER

B. Kapasitor

Kapasitor atau juga sering disebut kondensator adalah sebuah


komponen elektronika yang dapat menyimpan energi listrik dalam bentuk
muatan listrik dalam waktu tertentu tanpa disertai reaksi kimia.
Sebuah kapsitor terdiri dari 2 konduktor yang disekat oleh sebuah
nonkonduktor. Kedua konduktor tersebut disebut elektroda dan non
konduktor disebut dielektrika. Terlihat pada gambar di bawah ini :

Gambar 6. Prinsip Dasar Kapasitor


Jenis-jenis kapasitor sebagai berikut :
1. Kapasitor Kertas
2. Kapasitor Keramik
3. Kapasitor Elektrolit(elco)
4. Kapasitor udara (Kapasitor Variabel) sering disebut Varco.
5. Kapasitor Plastik

Kapasitor dibedakan menjadi 2 kategori, yaitu kapasitor terkutub


(polar) dan tidak terkutup (nonpolar). Perbedaan polar dan nonpolar adalah
pada kapasitor polar memiliki 2 kutup anoda (+) dan katoda (-) yang
menunjukkan bahwa pemasangan kapasitor polar pada rangkaian listrik tidak
boleh terbalik antara potensial + dan – rangkaian, Sedangkan kapasitor
nonpolar tidak terkutub dan dapat dihubungkan dengan rangkaian listrik
(sumber muatan listrik) secara sembarang.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
4
Modul I
LINE FOLLOWER

Simbol kapasitor adalah :

(a) (b) (c)


Gambar 7. (a) Simbol Kapasitor Variabel (Varco), (b) Simbol Kapasitor
Elektrolit, (c) Simbol Kapasitor Keramik, kertas (nonpolar)

Gambar 8. Macam-macam Kapasitor

C. Dioda

Dioda merupakan komponen penting dalam elektronika. Dalam skema


rangkaian, dioda dilambangkan seperti gambar 9. Dari lambang sudah dilihat
bahwa arah arus mempengaruhi sifat dari dioda. Satu sisi dari dioda disebut
anoda, yang lain katoda. Katoda ada pada ujung depan dari segitiga.
Komponen dioda sering berbentuk silinder kecil dan biasanya diberi
lingkaran pada katoda untuk menunjukkan posisi garis dalam lambang.

(a) (b) (c) (d)


Gambar 9. (a) Simbol Dioda, (b) Simbol Dioda Zener,
(c) LED (Light Emiting Diode), (d) Photodioda

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
5
Modul I
LINE FOLLOWER

Dioda mengijinkan arus untuk mengalir ke satu arah saja. Ketika


anoda mendapatkan voltase yang lebih positif dari pada katoda, maka arus
bisa mengalir dengan bebas. Dalam situasi ini dikatakan dioda bias maju.
Kalau voltase dibalikkan, berarti katoda positif terhadap anoda, arus tidak
bisa mengalir kecuali suatu arus yang sangat kecil. Dalam situasi ini
dikatakan dioda dibias balik atau dibias mundur. Arus yang mengalir ketika
dioda dibias balik disebut arus balik atau arus bocor dari dioda dan arus itu
begitu kecil sehingga dalam kebanyakan rangkaian bisa diabaikan. Supaya
arus bisa mengalir ke arah maju, voltase harus sebesar ≈0,7V pada dioda Si/
Silicon(yang biasa ada di pasaran) dan ≈0,3V pada dioda Ge (Germanium)
dan voltase/tegangan lebih besar lagi untuk LED.
LED (Light Emiting Diode) merupakan dioda yang dapat
memancarkan cahaya seperti halnya lampu, akan tetapi prinsif kerjanya
seperti dioda biasa. LED pada umumnya digunakan sebagai lampu indikator
pada rangkaian elektronik.
Photo Dioda merupakan dioda yang memiliki resistansi/tahanan dalam
yang tahanan tersebut dapat berubah-ubah ketika mendapatkan cahaya dari
luar.
Dioda Zener merupakan satu jenis khusus yang juga bisa mengalirkan
arus ke arah sebaliknya. Sifat dioda sama seperti dioda biasa, hanya dioda
Zener dirancang untuk memiliki voltase break through pada voltase tertentu.
Biasanya dioda zener dipakai pada arah balik sehingga voltase pada dioda ini
konstan sebesar voltase zenernya.

Gambar 10. Beberapa Dioda


D. Transistor

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
6
Modul I
LINE FOLLOWER

1. Deskripsi
Sebuah transistor terdiri dari tiga lapisan yang terdiri dari
semikonduktor tipe-p yang berada ditengah-tengah antara dua
semikonduktor tipe-n, atau semikonduktor tipe-n berada ditengah-tengah
antara dua semikonduktor tipe-p. Sebuah elektroda dipasang pada tiap
lapisan dasar: B (base), E (emitter), dan C (collector). Transistor ada dua
tipe dasar yaitu transistor bipolar dan transistor efek medan atau transistor
unipolar. Transistor bipolar terdiri dari 3 sambungan semikonduktor dan
memilki dua sambungan pn, sedangkan transistor unipolar hanya memiliki
satu sambungan semikonduktor pn. (Bob Foster.2002:190 )
Jenis transistor bipolar ada dua macam yaitu transistor PNP dan
transistor NPN. Prinsip kerja transistor PNP dan NPN hampir sama dan
yang membedakan adalah pembawa muatannya. Transistor PNP pembawa
muatan mayoritasnya adalah lubang-lubang (hole) sedangkan trnasistor
NPN pembawa muatan mayoritasnya adalah elektron-elektron bebas.
Transistor terdiri dari tiga kaki yaitu kaki basis, kaki kolektor, dan kaki
emotor. (Bob Foster.2002:191 )

Gambar 11. Beberapa Transistor

2. Pengoperasian dasar
Pada sebuah transistor npn, saat aliran listrik IB mengalir mengalir
dari B ke E, aliran listrik IC mengalir dari C ke E. Pada sebuah transistor
pnp, ketika aliran listrik IB mengalir dari E (emitter) ke B (base), aliran
listrik IC mengalir dari E ke C. Karenanya aliran listrik IC tidak akan
mengalir kecuali Aliran listrik IB disebut base current (aliran listrik

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
7
Modul I
LINE FOLLOWER

dasar), aliran listrik IB mengalir. dan aliran listrik IC disebut collector


current (aliran listrik kolektor).

Gambar 12. Simbol Transistor dan Pengoperasian Dasar

3. Karakteristik
Pada sebuah transistor, collector current (IC) tidak akan mengalir
kecuali base current (IB) mengalir. Karenanya, collector current dapat
diputar ke ON dan OFF dengan memutar base current (IB) ON dan OFF.
Karakteristik dari transistor yang ini dapat digunakan sebagai tombol relay
atau sebagai saklar.
Transistor disebut bekerja sebagai saklar apabila titik kerjanya
berada hanya pada dua titik yaitu pada titik jenuh (saturation) dan pada
titik sumbat (cut off). Menurut Malvino(1995), titik dimana garis beban
berpotongan dengan garis Ib=0 disebut titik sumbat (cut off), karena arus
Ib=0 maka arus kolektor sangat kecil sehingga dapat diabaikan karena
pada kondisi ini dioda emiter transistor sudah tidak lagi mendapatkan
forward bias.
Pada transistor biasa, collector current (IC) dan base current (IB)
mempunyai dua fungsi dasar atau kegunaan seperti yang terlihat pada

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
8
Modul I
LINE FOLLOWER

gambar di bawah. Porsi "A" dapat digunakan sebagai amplifier (pengeras)


sinyal dan porsi "B" dapat digunakan sebagai switch.

Gambar 13. Karakteristik transistor

Collector current (IC) tidak akan mengalir kecuali base current


(IB) mengalir. Karenanya, collector current dapat diputar ke ON dan OFF
dengan memutar base current (IB) ON dan OFF.

E. IC (Integrated Circuit)
Integrated Circuit (IC) adalah suatu komponen elektronik yang dibuat
dari bahan semi konductor, dimana IC merupakan gabungan dari beberapa
komponen seperti Resistor, Kapasitor, Dioda dan Transistor yang telah
terintegrasi menjadi sebuah rangkaian berbentuk chip kecil, IC digunakan
untuk beberapa keperluan pembuatan peralatan elektronik agar mudah
dirangkai menjadi peralatan yang berukuran relatif kecil.
Pada komputer, IC yang dipakai adalah mikroprosesor. Dalam sebuah
mikroprosesor Intel Pentium 4 dengan ferkuensi 1,8 trilyun getaran per detik
terdapat 16 juta transistor, belum termasuk komponen lain. Fabrikasi yang
dipakai oleh mikroprosesor adalah 60nm. Jenis-jenis IC sebagai berikut:

1. IC TTL(Transistor transistor Logic)


IC yang paling banyak digunakan secara luas saat ini adalah IC
digital yang dipergunakan untuk peralatan komputer, kalkulator dan
system kontrol elektronik. IC digital bekerja dengan dasar

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
9
Modul I
LINE FOLLOWER

pengoperasian bilangan Biner Logic(bilangan dasar 2) yaitu hanya


mengenal dua kondisi saja 1(on) dan 0(off).
Jenis IC digital terdapat 2(dua) jenis yaitu TTL dan CMOS.
Jenis IC-TTL dibangun dengan menggunakan transistor sebagai
komponen utamanya dan fungsinya dipergunakan untuk berbagai
variasi Logic, sehingga dinamakan Transistor.
Dalam satu kemasan IC TTL terdapat beberapa macam
gate(gerbang) yang dapat melakukan berbagai macam fungsi logic
seperti AND, NAND, OR, NOR, XOR serta beberapa fungsi logic
lainnya seperti Decoder, Encoder, Multiflexer dan Memory sehingga
pin (kaki) IC jumlahnya banyak dan bervariasi ada yang 8,14,16,24 dan
40. IC TTL dapat bekerja dengan diberi tegangan 5 Volt.

2. IC- CMOS
Selain TTL, jenis IC digital lainnya adalah C-MOS
(Complementary with MOSFET) yang berisi rangkaian yang
merupakan gabungan dari beberap komponen MOSFET untuk
membentuk gate-gate dengan fungsi logic seperti halnya IC-TTL.
Dalam satu kemasan IC C-MOS dapat berisi beberapa macam
gate(gerbang) yang dapat melakukan berbagai macam fungsi logic
seperti AND, NAND, OR, NOR, XOR serta beberapa fungsi logic
lainnya seperti Decoders, Encoders, Multiflexer dan Memory.

3. IC Linear (Linear IC's)


Perbedaan utama dari IC Linear dengan Digital ialah fungsinya,
dimana IC digital beroperasi dengan menggunakan sinyal kotak
(square) yang hanya ada dua kondisi yaitu 0 atau 1 dan berfungsi
sebagai switch/saklar, sedangkan IC linear pada umumnya
menggunakan sinyal sinusoida dan berfungsi sebagai
amplifier(penguat). IC linear tidak melakukan fungsi logic seperti
halnya IC-TTL maupun C-MOS dan yang paling populer IC linier
didesain untuik dikerjakan sebagai penguat tegangan.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
10
Modul I
LINE FOLLOWER

Dalam kemasan IC linier terdapat rangkaian linier, diman kerja


rangkaiannya akan bersifat proporsional atau akan mengeluarkan output
yang sebanding dengan inputnya. Salah satu contoh IC linear adalah
jenis Op-Amp.

Contoh IC sebagai berikut:

Gambar 14. Diagram Blok IC L298

Gambar 15. Fisik IC L298

F. PCB (Printed Circuit Board)


PCB (Printed Circuit Board) adalah sebuah papan yang penuh
dengan sirkuit dari logam yang menghubungkan komponen elektronik satu
sama lain tanpa kabel.
Papan sirkuit cetak dapat digolongkan atas beberapa jenis
berdasarkan:
1. Susunan lapis
• lapis tunggal

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
11
Modul I
LINE FOLLOWER

• lapis ganda
• multi lapis (4, 6, 8 lapis)
2. Bentuk
• keras
• lunak (fleksibel)
• gabungan keras dan lunak
3. Spesifikasi
• konvensional
• penghubung kepadatan tinggi (High Density Interconnect)
4. Material Dasar
• FR4
• logam
• keramik

Gambar 16. PCB

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com
12
Modul II
LINE FOLLOWER

SENSOR PROXIMITY

Sensor adalah peralatan yang digunakan untuk merubah suatu besaran fisik
menjadi besaran listrik sehingga dapat dianalisa dengan rangkaian listrik tertentu.
Hampir seluruh peralatan elektronik yang ada mempunyai sensor didalamnya.
Sensor proximity merupakan salah satu sensor yang digunakan sebagai sensor
garis pada perlombaan robot (KRI, Line Follower Contest), dimana robot tersebut
jalan mengikuti garis.

Gambar 2.1. Contoh Lintasan

A. Jenis Sensor Proximity


Sensor proximity terbagi menjadi beberapa jenis, antara lain sebagai
berikut:
1. Kombinasi IR LED dan Photodiode atau Phototransistor
2. Kombinasi LED superbright dan LDR
3. Optosensor: Photoreflektif sensor (satu paket Tx dan Rx)
4. Kamera

Gambar 2.2. Phototransistor dan LDR

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 1
Modul II
LINE FOLLOWER

B. Aplikasi Sensor Proximity


Aplikasi sensor garis pada robot Line Follower dan prinsip dasar
kerja rangkaian sensor sebagai berikut:

Gambar 2.3. Tranceiver/light Source (Tx)


dan Receiver/Detektor (Rx)

Keterangan:
 Tranceiver/ light Source sebagai pengirim signal cahaya (LED
superbright , IR LED)
 Receiver/detektor sebagai penerima signal cahaya (Photodiode, LDR)

Gambar 2.4. Rangkaian dasar


 Gambar 2.4 : Led1 sebagai Tranceiver(LED superbright) dan Q1 sebagai
Receiver (Photo Transistor)
 Bila sensor mendapat garis putih (terang), maka phototransistor menjadi
aktif sehingga output mempunyai tegangan rendah (mendekati 0 volt),
sebaliknya jika sensor terkena garis hitam (gelap), maka tegangan akan
mencapai 5 volt.

C. Perhitungan dan Perancangan

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 2
Modul II
LINE FOLLOWER

Dalam proses perancangan sensor garis perancang harus membuat


perhitungan yang tepat, agar pembacaan sensor lebih akurat dan stabil.

a. Perhitungan dalam perancangan sensor garis :

VCC
𝑽𝑪𝑪−𝑽𝑳𝑬𝑫
𝑹= 𝑰𝑹
R

LED  Pembatasan arus berfungsi untuk menjaga arus


led dibawah arus maksimum.
GND
 V LED sekitar 1,2 – 1,3 Volt

 Pada rangkaian dasar (Gambar 2.4): R 2 sebagai pembatasan arus emitor


(I E ) pada phototransistor. Jika VCC = 5 Volt dan I E secara umum 1mA,
maka :
R= VCC/ IE
R= 5KΩ

b. Rangkaian sensor garis lengkap dan prinsip kerjanya

Gambar 2.5. Rangkaian sensor garis secara lengkap

Keterangan:

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 3
Modul II
LINE FOLLOWER

 IR LED dan phototransistor sebagai Input signal ke IC LM 324,


setela itu output sensor 1 dimasukkan ke mikrokontroller sebagai
pengolah output sensor garis pada robot line follower.
 VR 20k digunakan untuk menentukan kepekaan sensor terhadap
garis terang/gelap.
 IC LM324 digunakan sebagai IC Comperator agar output tegangan
ke Mikrokontroller stabil.
 Led 1 sebagai indikator hidup/matinya sensor

c. Hal-hal yang mempengaruhi akurasi sensor garis

1. Pengaruh jumlah sensor pada robot line follower

a. 2 Sensor
 Memisahkan kontrol sensor untuk setiap motor
 Tidak bisa membedakan berada digaris dalam dan
berada diluar garis atau tidak
 Kompensasi menggunakan software

Kemungkinan :
00 –berada atau diluar garis 01 –tepi kanan 10 –tepi kiri 11 –tidak
digunakan kecuali sensor diletakkan didalam garis

b. 3 Sensor
Kemungkinan :
000 –di luar garis 001 –di kiri garis
010 –ditengah garis 011 –agak kekiri
100 –Ke kanan garis 101 –tidak digunakan
110–agak ke kanan 111 –tidak digunakan

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 4
Modul II
LINE FOLLOWER

Jumlah sensor pada robot line follower sangat berpengaruh


terhadap jalanya robot. Semakin banyak jumlah sensor,maka semakin
banyak kemungkinan yang terjadi dan semakin akuratnya jalan robot,
akan tetapi dalam pembuatan progam robot akan semakin sulit.

2. Pengaruh penempatan dan jarak sensor


Penempatan sensor harus mempertimbangkan aspek cahaya
luar, letak motor, jarak antar sensor dan jarak sensor terhadap lantai.
Untuk penempatan dan jarak harus dilakukan penelitian lebih lanjut.
Untuk penempatan dan jarak yang telah di uji coba oleh
PRASIMAX BENZ adalah:

Jarak antar sensor = 1-1,5 cm


Jarak sensor ke lantai = 0,3 - 0,5 cm

Gambar 2.6. Penempatan dan Jarak sensor

Keterangan :
 Tidak hanya jumlah sensor, penempatan dan jarak akan tetapi kepekaan
membedakan gelap/terang pun sangat berpengaruh.
 Oleh sebab itu dalam perancangan sensor garis, perlu dilakukan penelitian lebih
lanjut secara optimal.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 5
Modul II
LINE FOLLOWER

Gambar 2.7. Robot Line Follower

Gambar 2.8. Sistem minimum robot Line Follower

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 6
Modul III
LINE FOLLOWER

RANGKAIAN MOTOR DRIVER

A. PRINSIF DASAR
Dalam suatu robot tersusun dari beberapa sensor dan aktuator. Hal
yang akan dibahas pada modul III ini adalah aktuator motor driver untuk
menggontrol sebuah motor DC. Mengontrol sebuah motor DC, umumnya
terdari 2 persoalan, yaitu mengontrol arah putaran dan mengontrol kecepatan
putar. Salah satu cara untuk mengontrol arah putaran motor dapat dilakukan
dengan cara mengubah arah arus yang masuk ke motor menggunakan saklar
mekanik DPDT, akan tetapi tidak dapat dihubungkan dengan sebuah
kontroler,seperti gambar di bawah ini:

Gambar 3.1. Konsep Pengontrolan Putaran motor secara Manual

Pengontrolan putaran secara manual tersebut tidak dapat di fungsikan


untuk mengatur kecepatan motor DC menggunakan PC atau mikrokontroller,
dikarenakan pensaklarannya sangat lambat. Untuk itu kita dapat
menggunakan Transistor yang dapat di fungsikan sebagai saklar elektronis,
dengan proses pensaklaran yang amat cepat(mikro detik). Dengan
Menggunakan konsep tansistor Darlington kita dapat mengatur putaran
motor.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 1
Modul III
LINE FOLLOWER

Gambar 3.2. Konsep Darlington

Keterangan :
 Jika A dan C on, maka motor berputar kiri, dan jika B dan D on, maka
motor berputar kanan.
 Hindari A dan B , C dan D hidup bersamaan.

Perbedaan Transistor dengan saklar :


 Respon Transistor sangat cepat, dengan orde mikro detik.
 Transistor dengan mudah dapat dikontroller oleh mikrokontroller atau
yang lainya.
 Dapat menggunakan transistor daya untuk motor dengan arus yang besar.
 Dapat mengatur daya motor dengan PWM

B. PWM (PULSE WIDHT MODULATION)

Dengan PWM kita dapat mengatur kecepatan motor DC. Untuk itu kita
perlu mengetahi prinsif kerja pwm dan cara kerja pwm pada sebuah rangkaian
pengendali kecepatan motor DC, atau yang sering disebut dengan H-BRIGHT
Motor DC. Prinsif kerja PWM :
1. PWM pada dasarnya adalah menyalakan (On) atau mematikan (OFF)
motor DC dengan cepat.
2. Kuncinya adalah mengatur berapa lama ON dan berapa lama OFF.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 2
Modul III
LINE FOLLOWER

Gambar 3.3. Periode ON/OFF Motor DC

Gambar 3.4. Contoh PWM 10 %, 50%, 90% Motor DC

C. Rangkaian Motor Driver

1. Rangkaian Motor Driver dengan H-Bright (Jembatan H)

VCC 5 VOLT
VCC 12-24 VOLT
H-BRIGHT 1 1

TR6
TR5
74LS139(1) R7 D6 D5 R8
R3 LED1 TR1 1N4007
2 4
DIR A Y0 FCS9012 560R 560R
3
B Y1
5 M
1k
6
Y2 TIP2955
1 7 TR2 TIP2955
PWM E Y3 R4 LED2 TR4
FCS9012
74LS139 TIP31A
1k
+88.8
R5 R6 TR3
1k TIP31A D8 D7
1k 1N4007
TR8
TR7 TIP3055
TIP3055

Gambar 3.5. H-BRIGHT MOTOR DC


Keterangan :
 Dir digunakan untuk menentukan putaran motor kiri atau kanan.
 PWM digunakan untuk menghidupkan motor.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 3
Modul III
LINE FOLLOWER

 Kecepatan motor DC dapat diatur dengan mengatur lama ON dan


lama OFF nya PWM (0/1)
 H-BRIGHT aktif low, yang artinya akan bekerja ketika diberikan
input 0.
 IC 74139 merupakan IC demultiplexer yang digunakan untuk
perubahan inputan berdasarkan tabel kebenaran:

Tabel Kebenaran IC 74139


INPUT OUTPUT
E A B Y0 Y1 Y2 Y3
H H H H H H H
L L L L H H H
L H L H L H H
L L H H H L H
L H H H H H L

 Motor akan bekerja sesuai dengan tabel kebenaran IC 74139, dimana


jika E= L, A=H maka Y 3 akan On dan PWM akan bekerja dan motor
bekerja, dan jika E=L , A= L maka Y 2 akan On dan PWM dan DIR
akan bekerja, kemudian motor bekerja berbalik arah.

2. Rangkaian Motor Driver Dengan L298


L298 merupakan IC yang didalamnya terdapat H-Bright,
kemampuan Arus DC nya sampai dengan 4A. L298 ini sering sekali
digunakan karena dari fisiknya yang kecil dan rangkaiannya tidak
serumit rangkaian H-Brigth dengan transistor maupun dengan Mosfet.
Pada dasarnya prinsif kerja sama akan tetapi perbedaan fisik dan
tingkat kesulitan dalam merangkai menentukan minat dalam pemilihan
motor driver. Gambar Fisik IC L298 sebagai berikut:

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 4
Modul III
LINE FOLLOWER

Gambar 3.6. Fisik IC L298

Gambar 3.7. Prinsif kerja IC L298

Tabel Kebenaran L298

INPUT OUTPUT FUNGSI


EN A IN 1 IN 2 O1 O2
H H H X X Motor Crash
H H L H L Motor Foward
H L H L H Motor Reserve
L L/H L/H L L Motor OFF

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 5
Modul III
LINE FOLLOWER

Didalam IC L298 terdapat 2 H-Bright yang prinsif kerja sama.


Pada tabel kebenaran hanya menunjukkan prinsif kerja 1 H-bright.
Dimana En A (Enable A) mengontrol output IC. Jika En A bernilai H
(High) maka Output tergantung pada Input 1 dan Input 2. Akan tetapi
jika En A bernilai L (Low) maka Output motor akan off dan tidak
dipengaruhi oleh Input.

H (High) = 1
L (Low) = 0

Rangkaian Motor Driver dengan IC L298 secara lengkap sebagai berikut:

Gambar 3.8. Rangkaian Motor Driver dengan IC L298

Keterangan:
1. Output ke motor dc harus menggunakan dioda, agar tidak adanya arus
balik dari motor yang dapat mengakibatkan IC L298 tersebut rusak.
2. Tganagan VCC harus 5Volt dan tidak boleh lebih dari 7Volt.
3. Tegangan VS dapat mencapai dengan 50 Volt, akan tetapi kita harus
melihat kemampuan motor dc yang digunakan. Biasanya kemampuan
motor DC yang digunakan robot Line follower sekitar 12-24Volt.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 6
Modul III
LINE FOLLOWER

3. Rangkaian Motor DC dengan IC L293D


Rangkaian motor DC dengan IC L293D dengan IC L298 sama,
akan tetapi ada beberapa perbedaan. Pada IC L293D sudah terdapat
Dioda pengaman, sehingga perakitan tidak memerlukan dioda pengaman.
Kemampuan arus DC L293D hanya 1,2 A. Cukup untuk motor-motor
DC yang kecil yang tidak membutuhkan arus tinggi, contohnya motor dc
pada tamiya, motor VCD/VCD, motor pada tipe recorder. IC L293D ini
dapat dibilang cukup kalau hanya sebatas untuk robot line follower.
Fisik IC L298 dan L293D berbeda. Lihat gambar fisik L293D,
sebagai berikut:

Gambar 3.9. Fisik IC L293D

Gambar 3.10. Blok Diagram IC L293D

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 7
Modul IV
LINE FOLLOWER

MIKROKONTROLLER ATMEGA 8535

A. Pengenalan Mikrokontroller AVR ATMEGA 8535

Perkembangan teknologi telah maju dengan pesat dalam perkembangan


dunia elektronika, khususnya dunia mikroelektronika. Penemuan silikon
menyebabkan bidang ini mampu memberikan sumbangan yang amat berharga
bagi perkembangan teknologi modern. Atmel sebagai salah satu vendor yang
mengembangkan dan memasarkan produk mikroelektronika telah menjadi
suatu teknologi standar bagi para desainer sistem elektronika masa kini.
Dengan perkembangan terakhir, yaitu generasi AVR (Alf and Vegard’s Risc
processor), para desainer sistem elektronika telah diberi suatu teknologi yang
memiliki kapabilitas yang amat maju, tetapi dengan biaya ekonomis yang
cukup minimal.

Mikrokontroller AVR memiliki arsitektur RISC 8 bit, di mana semua


instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar
instruksi dieksekusi dalam 1 (satu) siklus clock, berbeda dengan instruksi
MCS51 yang membutuhkan 12 siklus clock. Tentu saja itu terjadi karena
kedua jenis mikrokontroller tersebut memiliki arsitektur yang berbeda. AVR
berteknologi RISC (Reduced Instruction Set Computing). Secara umum, AVR
dapat dikelompokkan menjadi 4 kelas, yaitu keluarga Attiny, keluarga
AT90SXX, keluarga ATMega, dan AT86RFxx. Pada dasarnya yang
membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya.
Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan
hampir sama.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 1
Modul IV
LINE FOLLOWER

Gambar 4.1. Blog Diagram ATMEGA 8535


(sumber : http://www.atmel.com)

Dari gambar tersebut dapat dilihat bahwa ATMega 8535 memiliki


bagian sebagai berikut :

a. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, dan Port D
b. ADC 10 bit sebanyak 8 saluran

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 2
Modul IV
LINE FOLLOWER

c. Tiga buah Timer/Counter dengan kemampuan perbandingan


d. CPU yang terdiri atas 32 buah register
e. Watchdog Timer dengan osilator internal
f. SRAM sebesar 512 byte
g. Memori Flash sebesar 8 kb dengan kemampuan Read While Write
h. Unit interupsi internal dan eksternal
i. Port antarmuka SPI
j. EEPROM sebesar 512 byte yang dapat diprogram saat operasi
k. Antarmuka komparator analog
l. Port USART untuk komunikasi serial

Kapabilitas detail dari ATMega 8535 adalah sebagai berikut :

a. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16


MHz
b. Kapabilitas memori flash 8 KB, SRAM sebesar 512 byte, dan EEPROM
(Electrically Erasable Programmable Read Only Memory) sebesar 512
byte
c. ADC internal dengan fidelitas 10 bit sebanyak 8 channel
d. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps
e. Enam pilihan mode sleep menghemat penggunaan daya listrik

Konfigurasi pin ATMega 8535 dapat dijelaskan secara fungsional


sebagai berikut :

a. VCC merupakan pin yang berfungsi sebagai pin masukan catu daya
b. GND merupakan pin ground
c. Port A (PA0...PA7) merupakan pin I/O dua arah dan pin masukan ADC
d. Port B (PB0...PB7) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu timer/counter, komparator analog, dan SPI

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 3
Modul IV
LINE FOLLOWER

e. Port C (PC0...PC7) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu TWI, komparator analog, dan timer oscilator
f. Port D (PD0...PD7) merupakan pin I/O dua arah dan pin fungsi khusus,
yaitu komparator analog, interupsi eksternal, dan komunikasi serial
g. RESET merupakan pin yang digunakan untuk me-reset mikrokontroller
h. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
i. AVCC merupakan pin masukan tegangan untuk ADC
j. AREF merupakan pin masukan tegangan referensi ADC

Gambar 4.2. Konfigurasi pin ATMEGA 8535


(sumber : http://www.atmel.com)

B. Sistem Minimum Mikrokontroller ATMega8535

Sistem Minimum adalah suatu sistem minimal kerja IC Mikrokontroller.


Tanpa adanya sistem minimum, maka suatu rangkaian mikrokontroller tidak dapat
di fungsikan (tidak dapat bekerja). Oleh sebab itu perancangan sistem minimum
harus benar. Selain sistem minimum, ada juga yang disebutkan dengan nama
downloader. Downloader berfungsi untuk mengisi firmware/program ke dalam
mikrokontroller. Secara garis besar dapat kita gambarkan sistem kerjanya sebagai
berikut:

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 4
Modul IV
LINE FOLLOWER

SM (Sistem
KOMPUTER DOWNLOADER
Minimum)

Gambar 4.3. Blok Diagram Proses Pengisian


Program ke Mikrokontroller

Dari gambar diatas menunjukkan bahwa proses pengisian program melalui


downloader yang kemudian dimasukkan ke dalam sistem minimum. Rangkaian
sistem minimum merupakan rangkaian yang digunakan bersama-sama dengan
rangkaian lainya, seperti sensor-sensor, push button, lcd, motor driver, led
indikator, dsb. Gambar rangkaian sistem minimum mikrokontroller ATMega 8535
sebagai berikut:

Gambar 4.4. Sistem Minimum Mikrokontroller ATMega8535

Sistem minimum Mikrokontroller ATMega 8535 diatas dapat digunakan


untuk beberapa tipe IC Mikrokontroller, seperti ATMega8515, ATMega 16,
ATMega 32. Pada dasarnya sistem minimum hanya terdiri dari 2 capasitor dan 1
buah Crystal (Xtal), akan tetapi perlu dibuatnya sistem untuk mereset IC,

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 5
Modul IV
LINE FOLLOWER

mengatur ADC (VR= 50k-100k), dan soket 6pin sebagai inputan dari rangkaian
downloader. Sistem ini buat seminimal mungkin agar IC dapat bekerja dengan
baik dan pengguna tidak kesulitan dalam merangkainya dalam board PCB.
Ada hal yang harus diingat dalam membuat suatu rangkaian perancang
harus mengeluarkan pin I/O (Input/Output) IC Mikro, agar nantinya I/O
mendapatkan terminal (diberikan pin keluar). Rancangan PCB sitem minimum
ATMega 8535 PRASIMAX BENZ sebagai berikut:

Gambar 4.5. Layout PCB Sistem Minimum ATMega 8535


PRASIMAX BENZ

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 6
Modul V
LINE FOLLOWER

ME-LAYOUT LINE FOLLOWER

A. Pendahuluan
Dalam proses perancangan suatu rangkaian elektronik, ada beberapa
proses yang harus dilalui, salah satunya adalah proses pembuatan PCB.
Proses pembuatan PCB ada 2 cara, yaitu: dengan langsung menggunakan
PCB bolong dan dengan PCB Polos.
Dengan PCB bolong perancang langsung membuat jalur-jalurnya
sendiri (yaitu dengan kabel-kabel atau konektor bekas kaki komponen) dan
meletakkan komponen langsung pada PCB tanpa adanya proses pelayoutan
pada komputer ataupun manual.
Dengan PCB polos perancang harus membuat layout PCB, dimana
layout tersebut menentukan jalur-jalur rangkaian dan besar pcb yang
dibutuhkan. Proses pelayoutan PCB tersebut dapat dilakukan dengan cara
manual (menggunakan kertas milimeter blog yang kemudian di salin ulang
pada pcb polos dengan spidol permananent). Selaian dengan manual proses
yang lebih mudah adalah menggunakan komputer dengan software tertentu.
Software-software yang digunakan dalam melayout suatu pcb
bermacam-macam, yaitu:
1. Protel15 PCB
2. PCB DESIGNER V1.5.4
3. PCB Wizard 3.50 Pro Unlimited
4. ExpressPCB
5. Eagle 4.09
6. Diptrace
Setiap software memiliki kelebihan dan keunggulan masing-masing.
PRASIMAX BENZ biasanya menggunakan ExpressPCB dalam melayout
PCB. Sehingga pada modul ini akan dibahas proses pelayoutan PCB dengan
menggunakan software ExpressPCB.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 1
Modul V
LINE FOLLOWER

B. Pengenalan Software ExpressPCB


Program ExpressPCB adalah software untuk mengambar
shcematic(skema) dan melayout PCB. Setelah program terinstall dalam
komputer anda, maka jalankan program tersebut. Langkah-langkahnya
sebagai berikut:
1. Klik Start + All Program
2. Kemudian pilih ExpressPCB
3. Untuk melayout PCB pilih ExpressPCB , Sedangkan untuk membuat
skema rangkaian pilih ExpressSCH. Lihat gambar 5.1 dibawah ini:

Gambar 5.1 Cara membuka file ExpressPCB

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 2
Modul V
LINE FOLLOWER

4. Setelah memilih ExpressPCB maka akan muncul tampilan program


sebagai berikut:

Gambar 5.2 Tampilan awal program ExpressPCB

5. Setelah tampilan awal dibuka atur board properties nya, dengan cara klik
layout + board propesties, maka akan tampil gambar sebagai berikut:

0,035

Gambar 5.3 Board Properties

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 3
Modul V
LINE FOLLOWER

6. Setelah itu kita dapat memulai melayout PCB, untuk itu akan di jelaskan
gambar 5.2 lebih terperinci sebagai berikut:

Pad Pin
Zoom
Component
manager

Jalur

Tulisan

Layout
Disini..

Mengatur
tampilan layout
atas,bawah
Mengatur Jarak
antar komponen
dan jalur.

Gambar 5.4 Beberapa fungsi toolbar

Gambar 5.5 Component manager


7. Selamat Mencoba

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 4
Modul V
LINE FOLLOWER

C. Proses Pembuatan PCB


Sebelum memulai pelayoutan PCB, maka yang perlu perancang
ketahui adalah menggetahui schematic rangkaian terbih dahulu, sehingga
proses pelayoutan akan lebih mudah dan tidak terjadinya kesalahan dalam
proses pelayoutan.
Didalam modul-modul sebelumnya telah dibahas mengenai 3
rangkaian yang diperlukan dalam membuat robot line follower. 3 rangkaian
tersebut adalah: Sensor Proximity, Motor Driver, dan Sistem Minimum
ATMega8535. Untuk itu ketiga rangkaian tersebut dapat dilayout
menggunakan ExpressPCB.
Untuk membuat layout Robot Line Follower yang perlu kita pikirkan
adalah sistem mekaniknya robot terlebih dahulu. Untuk apa mekaniknya
dahulu?.... (timbul pertanyaan). Dalam proses pelayoutan ada 2 cara, yaitu
secara gabung (langsung menjadi satu rangkaian) dan terpisah. Jadi kalau
melayout Robot LF bisa saja hanya 1 PCB (1 Layout) dan bisa juga 3 PCB (3
Layout.

Contoh layout secara terpisah dan gabung:


1. Terpisah

Gambar 5.6 Layout Sistem Minimum ATMega8535

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 5
Modul V
LINE FOLLOWER

Gambar 5.7 Layout Sensor Proximity (4 Sensor)

Gambar 5.8 Layout Motor Driver L298


2. Gabung

Gambar 5.9 Layout PCB LF ATMega 8

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 6
Modul VI
LINE FOLLOWER

MEMPROGRAM ROBOT LINE FOLLOWER

A. Pendahuluan
Materi ini merupakan materi yang terpenting dalam proses pembuatan
robot line follower. Suatu robot line follower berbasiskan mikrokontroller
harus memiliki firmware atau programnya. Untuk itu pada materi ini kita
akan membahas mengenai program robot line follower dengan 6 sensor
menggunakan software Code Vision AVR v1.25.3 Standart. Untuk masalah
versi tidak terlalu berbeda jauh. Yang terpenting adalah logika pemproman
yang benar.
Dibawah ini adalah contoh program robot line follower dengan 6
sensor. Selamat belajar……

Tanda-tanda yang perlu diperhatikan sebagai berikut:


1. Warna biru menunjukkan keterangan program
2. Warna Hitam adalah bagian program
3. Warna Tebal hitam adalah bagian program yang diberikan oleh code
vision.

/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.3 Standard
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date : 15/12/2009
Author : Barry
Company : Pendidikan teknik Elektro
Comments:

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 1
Modul VI
LINE FOLLOWER

Chip type : ATmega8


Program type : Application
Clock frequency : 12,000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/

// Inisial IC Mikro dan delay


#include <mega8.h>
#include <delay.h>

// bagian-bagian Motor Driver


#define maju_kanan PORTB.1
#define mundur_kanan PORTD.4
#define en_kanan PORTD.3

#define maju_kiri PORTD.2


#define mundur_kiri PORTD.1
#define en_kiri PORTB.2

#define mulai PIND.0

//Inisialisasi Pwm,kiri,kanan,sensor
unsigned char pwm;
int kanan,kiri;
int sensor;
bit a;

// Timer 0 overflow interrupt service routine


interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xFE;

// 1=ON LED , 0=OFF LED


// sensor aktif low(low ketika kena garis putih)

pwm++;
if (pwm>=kanan) en_kanan = 0;

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 2
Modul VI
LINE FOLLOWER

else en_kanan = 1;

if (pwm>=kiri) en_kiri = 0;
else en_kiri = 1;
}

void maju(void)
{
maju_kanan = 1;
maju_kiri = 1;

mundur_kanan = 0;
mundur_kiri = 0;
}

void belok_kanan()
{
maju_kanan = 0;
maju_kiri = 1;

mundur_kanan = 1;
mundur_kiri = 0;
}

void belok_kiri()
{
maju_kanan = 1;
maju_kiri = 0;

mundur_kanan = 0;
mundur_kiri = 1;
}

void mundur()
{
maju_kanan = 0;
maju_kiri = 0;

mundur_kanan = 1;
mundur_kiri = 1;

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 3
Modul VI
LINE FOLLOWER

void stop()
{
kanan = 0;
kiri = 0;
}

void garis_hitam(void)
{
sensor = PINC;
switch (sensor) {
case 0b111110: {belok_kanan(); kanan = 80; kiri = 255; a=1; }
break; //ujung kanan
case 0b111100: {maju(); kanan = 160; kiri = 250; a=1; } break;
case 0b111101: {maju(); kanan = 160; kiri = 245; a=1; } break;
case 0b111001: {maju(); kanan = 200; kiri = 245; a=1; } break;
case 0b111011: {maju(); kanan = 240; kiri = 255; a=1; } break;
case 0b110011: {maju(); kanan = 255; kiri = 255; } break; // Tengah
case 0b110111: {maju(); kanan = 255; kiri = 240; a=0; } break;
case 0b100111: {maju(); kanan = 255; kiri = 200; a=0; } break;
case 0b101111: {maju(); kanan = 245; kiri = 160; a=0; } break;
case 0b001111: {maju(); kanan = 255; kiri = 160; a=0; } break;
case 0b011111: {belok_kiri(); kanan = 250; kiri = 80; a=0; }
break; //ujung kiri

case 0b111111: { if (a) {belok_kanan(); kanan = 0; kiri = 255; break;}


else {belok_kiri(); kanan = 255; kiri = 0; break;}} //keluar garis

}
}

void main(void)

{
// Declare your local variables here

// Input/Output Ports initialization


// Port B initialization

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 4
Modul VI
LINE FOLLOWER

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out


Func1=Out Func0=In
// State7=P State6=T State5=T State4=T State3=T State2=0 State1=0
State0=T
PORTB=0x00;
DDRB=0x06;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=P State5=P State4=P State3=P State2=P State1=P State0=P
PORTC=0x7F;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=Out Func3=Out Func2=Out
Func1=Out Func0=In
// State7=T State6=T State5=T State4=0 State3=0 State2=0 State1=0
State0=P
PORTD=0x01;
DDRD=0x1E;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 12000,000 kHz
TCCR0=0x01;
TCNT0=0xFE;

// External Interrupt(s) initialization


// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization


TIMSK=0x01;

// Analog Comparator initialization


// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 5
Modul VI
LINE FOLLOWER

// Global enable interrupts


#asm("sei")

while (1)
{
if(mulai==0) break;;
};
while (1)
{
garis_hitam();
};
}

Bagian-bagian terpenting yang perlu diketahui adalah sebagai berikut:

Listing Program Keterangan


#define maju_kanan PORTB.1 PORT….. diinisialisasikan sebagai
#define mundur_kanan PORTD.4 Output(keluaran), sedangkan PIN….
#define en_kanan PORTD.3 Diinisialisasikan sebagai Inputan
(masukan)
#define maju_kiri PORTD.2 Dalam inisialisasi ini tidak ada yang
#define mundur_kiri PORTD.1 boleh sama.
#define en_kiri PORTB.2

#define mulai PIND.0

//Inisialisasi Pwm,kiri,kanan,sensor Unsigned char


unsigned char pwm; Int
int kanan,kiri; Bit
int sensor; Inisialisasi ini perlu diperhatikan
bit a; value nya(nilainya)

interrupt [TIM0_OVF] void Untuk membuat pwm pada motor DC.


timer0_ovf_isr(void) Menggunakan sub ini. Sub ini khusus
{ buat IC L298 dan L293D yang aktif
// Reinitialize Timer 0 value high.
TCNT0=0xFE;

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 6
Modul VI
LINE FOLLOWER

// 1=ON LED , 0=OFF LED


// sensor aktif low(low ketika
kena garis putih)

pwm++;
if (pwm>=kanan) en_kanan = 0;
else en_kanan = 1;

if (pwm>=kiri) en_kiri = 0;
else en_kiri = 1;
}

void garis_hitam(void) Sub bagian ini adalah bagian


{ terpenting buat robot line follower.
sensor = PINC; Sensor proximity nya 6, sehingga ada
switch (sensor) { 6 bit.
case 0b111110: {belok_kanan();
kanan = 80; kiri = 255; a=1; } 0b111110 = menunjukkan jika kena
break; sensor paling kanan.
case 0b111100: {maju(); kanan =
160; kiri = 250; a=1; } break; maju(); = memangil sub program
case 0b111101: {maju(); kanan = maju()
160; kiri = 245; a=1; } break;
case 0b111001: {maju(); kanan = Kanan = … menunjukkan kecepatan
200; kiri = 245; a=1; } break; motor kanan.
case 0b111011: {maju(); kanan =
240; kiri = 255; a=1; } break; Kiri = … menunjukkan kecepatan
case 0b110011: {maju(); kanan = motor kiri.
255; kiri = 255; } break; // Tengah
case 0b110111: {maju(); kanan = Break; = mengakhiri perintah dan
255; kiri = 240; a=0; } break; kembali mendeteksi perubahan
case 0b100111: {maju(); kanan = keadaan.
255; kiri = 200; a=0; } break;
case 0b101111: {maju(); kanan =
245; kiri = 160; a=0; } break;
case 0b001111: {maju(); kanan =
255; kiri = 160; a=0; } break;
case 0b011111: {belok_kiri(); kanan
= 250; kiri = 80; a=0; } break;
//ujung kiri

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 7
Modul VI
LINE FOLLOWER

case 0b111111: { if (a)


{belok_kanan(); kanan = 0; kiri = 255;
break;}
else {belok_kiri(); kanan = 255; kiri
= 0; break;}} //keluar garis

}
}

PortB dijadikan input dan output,


PORTB=0x00;
bagian bit ke 2 dan 3 sebagai output,
DDRB=0x06;
sedangkan bagian lainya sebagai
input. Dengan nilai awal Low (0).
PORTC=0x7F; PortC dijadikan sebagai inputan
DDRC=0x00; dengan nilai awal portc seluruhnya
High (1)
PortD dijadikan input dan output,
PORTD=0x01; bagian bit ke 2-5 sebagai output,
DDRD=0x1E; sedangkan bagian lainya sebagai
input. Dengan nilai awal bit 1 High
(1) dan bit 2-8 Low (0).
Jika tombol mulai ditekan maka akan
while (1) memangil garis hitam, dan selanjutnya
{ garis hitam terus-menerus dipangil,
if(mulai==0) break;; sebelum robot dimatikan / sumber
}; baterai dilepaskan.
while (1)
{
garis_hitam();
};
}

Cukup sekian penjelasan singkat materi terakhir ini, untuk selanjutnya


langsung saja diperaktikan.

WARNING : Dianjurkan kursus pemprogaman bahasa C (Code Vision


AVR) atau membeli buku-buku pemprogram IC Mikrokontroller.

Barry Nur Setyanto


Untuk: SMP/SMA/SMK Bens.yogya@gmail.com 8

Anda mungkin juga menyukai