Disusun Oleh:
Dibuat untuk :
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.
Model Potensiometer
Simbol Potensiometer
Gambar 3. Potensiometer
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
1
1
2
3
4
5
6
7
8
9
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
atau
R=
Bens.yogya@gmail.com
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 :
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
Simbol kapasitor adalah :
(a)
(b)
(c)
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)
Bens.yogya@gmail.com
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/
(Light
Emiting
Diode)
merupakan
dioda
yang
dapat
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
1. Deskripsi
Sebuah transistor terdiri dari tiga lapisan yang terdiri dari
semikonduktor
tipe-p
yang
berada
ditengah-tengah
antara
dua
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
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
dasar), aliran listrik IB mengalir. dan aliran listrik IC disebut collector
current (aliran listrik kolektor).
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
Bens.yogya@gmail.com
Modul I
LINE FOLLOWER
gambar di bawah. Porsi "A" dapat digunakan sebagai amplifier (pengeras)
sinyal dan porsi "B" dapat digunakan sebagai switch.
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.
kontrol
elektronik.
IC
digital
bekerja
dengan
dasar
Bens.yogya@gmail.com
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
IC- CMOS
Selain
TTL,
jenis
(Complementary with
IC
digital
MOSFET)
lainnya
yang
berisi
adalah
C-MOS
rangkaian
yang
switch/saklar,
menggunakan
sinyal
sedangkan
sinusoida
IC
linear
dan
pada
berfungsi
umumnya
sebagai
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.
sirkuit
cetak
dapat
digolongkan
atas
beberapa jenis
berdasarkan:
1. Susunan lapis
lapis tunggal
Bens.yogya@gmail.com
11
Modul I
LINE FOLLOWER
lapis ganda
2. Bentuk
keras
lunak (fleksibel)
3. Spesifikasi
konvensional
4. Material Dasar
FR4
logam
keramik
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.
Bens.yogya@gmail.com
Modul II
LINE FOLLOWER
B. Aplikasi Sensor Proximity
Aplikasi sensor garis pada robot Line Follower dan prinsip dasar
kerja rangkaian sensor sebagai berikut:
superbright , IR LED)
Receiver/detektor sebagai penerima signal cahaya (Photodiode, LDR)
Bens.yogya@gmail.com
Modul II
LINE FOLLOWER
Dalam proses perancangan sensor garis perancang harus membuat
perhitungan yang tepat, agar pembacaan sensor lebih akurat dan stabil.
LED
Keterangan:
Bens.yogya@gmail.com
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
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
110agak ke kanan 111 tidak digunakan
Bens.yogya@gmail.com
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.
= 1-1,5 cm
= 0,3 - 0,5 cm
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.
Bens.yogya@gmail.com
Modul II
LINE FOLLOWER
Bens.yogya@gmail.com
Modul III
LINE FOLLOWER
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:
pensaklarannya
sangat
lambat.
Untuk
itu
kita
dapat
Bens.yogya@gmail.com
Modul III
LINE FOLLOWER
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.
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.
Bens.yogya@gmail.com
Modul III
LINE FOLLOWER
TR6
TR5
74LS139(1)
DIR
PWM
2
3
1
A
B
E
Y0
Y1
Y2
Y3
4
5
6
7
R3
LED1
D6
R7
TR1
R4
560R
560R
M
TIP2955
TR2
LED2
R8
1N4007
FCS9012
1k
74LS139
D5
TIP2955
FCS9012
R5
R6
1k
TR4
TIP31A
1k
+88.8
TR3
D8 D7
TIP31A
1N4007
1k
TR7
TIP3055
TR8
TIP3055
Bens.yogya@gmail.com
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:
OUTPUT
Y0
Y1
Y2
Y3
Bens.yogya@gmail.com
Modul III
LINE FOLLOWER
IN 1
H
H
L
L/H
OUTPUT
IN 2
H
L
H
L/H
O1
X
H
L
L
O2
X
L
H
L
FUNGSI
Motor Crash
Motor Foward
Motor Reserve
Motor OFF
Bens.yogya@gmail.com
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:
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.
Bens.yogya@gmail.com
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:
Bens.yogya@gmail.com
Modul IV
LINE FOLLOWER
Bens.yogya@gmail.com
Modul IV
LINE FOLLOWER
Bens.yogya@gmail.com
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
Bens.yogya@gmail.com
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
Bens.yogya@gmail.com
Modul IV
LINE FOLLOWER
KOMPUTER
DOWNLOADER
SM (Sistem
Minimum)
Bens.yogya@gmail.com
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:
Bens.yogya@gmail.com
Modul V
LINE FOLLOWER
Bens.yogya@gmail.com
Modul V
LINE FOLLOWER
ExpressPCB
adalah
software
untuk
mengambar
Bens.yogya@gmail.com
Modul V
LINE FOLLOWER
4. Setelah memilih ExpressPCB maka akan muncul tampilan program
sebagai berikut:
0,035
Bens.yogya@gmail.com
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.
Bens.yogya@gmail.com
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,
Bens.yogya@gmail.com
Modul V
LINE FOLLOWER
Bens.yogya@gmail.com
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
/*****************************************************
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:
Bens.yogya@gmail.com
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
#define mundur_kiri
#define en_kiri
PORTD.2
PORTD.1
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;
Bens.yogya@gmail.com
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;
Bens.yogya@gmail.com
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
Bens.yogya@gmail.com
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;
Bens.yogya@gmail.com
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
#define mundur_kanan
#define en_kanan
PORTB.1
PORTD.4
PORTD.3
#define maju_kiri
#define mundur_kiri
#define en_kiri
PORTD.2
PORTD.1
PORTB.2
#define mulai
PIND.0
//Inisialisasi Pwm,kiri,kanan,sensor
unsigned char pwm;
int kanan,kiri;
int sensor;
bit a;
interrupt [TIM0_OVF] void
timer0_ovf_isr(void)
{
// Reinitialize Timer 0 value
TCNT0=0xFE;
Unsigned char
Int
Bit
Inisialisasi ini perlu diperhatikan
value nya(nilainya)
Untuk membuat pwm pada motor DC.
Menggunakan sub ini. Sub ini khusus
buat IC L298 dan L293D yang aktif
high.
Bens.yogya@gmail.com
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)
{
sensor = PINC;
switch (sensor) {
case 0b111110: {belok_kanan();
kanan = 80; kiri = 255;
a=1; }
break;
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
Bens.yogya@gmail.com
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=0x00;
DDRB=0x06;
PORTC=0x7F;
DDRC=0x00;
PORTD=0x01;
DDRD=0x1E;
while (1)
{
if(mulai==0) break;;
};
while (1)
{
garis_hitam();
};
}
Bens.yogya@gmail.com