Laporan Lengkap Line Follower
Laporan Lengkap Line Follower
PENDAHULUAN
Perkembangan teknologi elektronika saat ini sudah sedemikian pesatnya yang kadang-
kadang berawal dari rangkaian-rangkaian sederhana yang biasa kita jumpai dalam buku-buku
hobby elektronika.
Kata robot yang, berasal dari bahasa Czech, robota, yang berarti pekerja, mulai menjadi
populer ketika seorang penulis berbangsa Czech (Ceko), Karl Capek, membuat pertunjukan dari
lakon komedi yang ditulisnya pada tahun 1921 yang berjudul RUR(Rossums Universal Robot).
Robot dapat diartikan sebagai sebuah mesin yang dapat bekerja secara terus menerus baik secara
otomatis maupun terkendali. Robot digunakan untuk membantu tugas-tugas manusia
mengerjakan hal yang kadang sulit atau tidak bisa dilakukan manusia secara langsung. Misalnya
untuk menangani material radio aktif, merakit mobil dalam industri perakitan mobil, menjelajah
planet mars, sebagai media pertahanan atau perang, dan sebagainya. Pada dasarnya dilihat dari
struktur dan fungsi fisiknya (pendekatan visual) robot terdiri dari dua bagian, yaitu non-mobile
robot dan mobile robot. Kombinasi keduanya menghasilkan kelompok konvensional (mobile dan
non-mobile)contohnya mobile manipulator, walking robot,dll dan non-konvensional (humanoid,
animaloid, extraordinary).
Line Follower Robot (Robot Pengikut Garis) adalah robot yang dapat berjalan mengikuti
sebuah lintasan, ada yang menyebutnya dengan Line Tracker, Line Tracer Robot dan sebagainya.
Garis yang dimaksud adalah garis berwarna hitam diatas permukaan berwarna putih atau
sebaliknya, ada juga lintasan dengan warna lain dengan permukaan yang kontras dengan warna
garisnya. Ada juga garis yang tak terlihat yang digunakan sebagai lintasan robot, misalnya
medan magnet.
Saat ini perkembangan teknologi robotika telah mampu meningkatkan kualitas maupun
kuantitas produksi berbagai pabrik. Teknologi robotika juga telah menjangkau sisi hiburan dan
pendidikan bagi manusia. Salah satu jenis robot yang paling banyak diminati adalah jenis mobil
robot.
1
Ada dua macam robot line follower yaitu line follower biasa tanpa menggunakan
program (analog) dan line follower dengan program microkontroler (digital). Pada dasarnya cara
kerjanya sama yaitu membaca sebuah garis sebagai lintasannya dan line follower bergerak
mengikuti garis yang merupakan lintasannya. Hanya saja yang menggunakan program
microkontroler lebih komplek dan lebih sempurna jika di banding line follower yang tanpa
menggunakan program. Dari segi biaya sangat jelas bahwa line follower menggunakan program
microkontroller lebih mahal dalam pembuatannya.
1.2. Tujuan
2
BAB II
TINJAUAN PUSTAKA
Printed Circuit Board atau biasa disingkat PCB adalah sebuah papan yang digunakan
untuk mendukung semua komponen-komponen elektronika yang berada diatasnya, papan PCB
juga memiliki jalur-jalur konduktor yang terbuat dari tembaga dan berfungsi untuk
menghubungkan antara satu komponen dengan komponen lainnya.
Bahan yang digunakan untuk membuat PCB adalah sejenis fiber sebagai media isolasinya
yang dilapisi cat berwarna hijau, sedangkan untuk jalur konduktor menggunakan tembaga. Ada
beberapa macam jenis PCB menurut kegunaannya yaitu PCB 1 side (biasa digunakan pada
rangkaian elektronika seperti radio, TV, dll) PCB double side (maksudnya kedua sisi PCB
digunakan untuk menghubungkan komponen) dan PCB multi side ( bagian PCB luar maupun
dalam digunakan sebagai media penghantar, misalnya pada rangkaian-rangkaian PC).
2.2. Resistor
3
Resistor adalah komponen elektronik dua kutub yang didesain untuk menahan arus
listrik dengan memproduksi tegangan listrik di antara kedua kutubnya, nilai tegangan terhadap
resistansi berbanding dengan arus yang mengalir, berdasarkan hukum Ohm:
Resistor digunakan sebagai bagian dari jejaring elektronik dan sirkuit elektronik, dan
merupakan salah satu komponen yang paling sering digunakan. Resistor dapat dibuat dari
bermacam-macam kompon dan film, bahkan kawat resistansi (kawat yang dibuat dari paduan
resistivitas tinggi seperti nikel-kromium).
Karakteristik utama dari resistor adalah resistansinya dan daya listrik yang dapat
dihantarkan. Karakteristik lain termasuk koefisien suhu, desah listrik, dan induktansi. Resistor
dapat diintegrasikan kedalam sirkuit hibrida dan papan sirkuit cetak, bahkan sirkuit terpadu.
Ukuran dan letak kaki bergantung pada desain sirkuit, kebutuhan daya resistor harus cukup dan
disesuaikan dengan kebutuhan arus rangkaian agar tidak terbakar.
4
Resistor kaki aksial
2.3. Transistor
Pengertian Transistor adalah sebagai piranti komponen elektronika yang terbuat dari
bahan semikonduktor dan mempunyai tiga elektroda (triode) yaitu dasar (basis), pengumpul
(kolektor) dan pemancar (emitor). Rangkaian ini berfungsi sebagai penguat sinyal, penyambung
(switching) dan stabilisasi tegangan.
Transistor berasal dari bahasa transfer yang artinya pemindahan dan resistor yang berarti
pengambat. Jadi pengertian transistor dapat di kategorikan sebagai emindahan atau peralihan
bahan setengah penghantar menjadi penghantar pada suhu tertentu.
5
Fungsi dari transistor bermacam-macam, di mana dapat juga berfungsi semacam kran
listrik, dimana berdasarkan arus inputnya (BJT) atau tegangan inputnya (FET), memungkinkan
listrik yang sangat akurat dari sirkuit sumber listriknya.
Tegangan yang di satu terminalnya misalnya Emitor dapat dipakai untuk mengatur arus
dan tegangan yang lebih besar daripada arus input Basis, yaitu pada keluaran tegangan dan arus
output Kolektor.
Transistor pertama kali di temukan oleh William Shockley, John Barden, dan W. H
Brattain pada tahun 1948. Dan mulai di pakai dalam praktek pada tahun 1958. Ada 2 jenis
transistor, yaitu transistor tipe P N P dan transistor jenis N P N.
Cara kerja transistor pada umumnya hampir sama dengan resistor, yang memiliki tipe-
tipe dasar modern. Ada dua tipe dasar modern, yaitu bipolar junction transistor (BJT atau
transistor bipolar) dan field-effect transistor (FET), yang masing-masing bekerja secara berbeda.
Transistor juga memiliki jenis-jenis yang berbeda-beda. Secara umum transistor dapat
dibeda-bedakan berdasarkan banyak kategori, seperti Materi semikonduktor, Kemasan
fisik, Tipe, Polaritas, Maximum kapasitas daya, Maximum frekuensi kerja, Aplikasi dan masih
banyak jenis lainnya.
2.4 Kapasitor
Prinsip sebuah kapasitor pada umumnya sama galnya dengan resistor yang juga termasuk
dalam kelompok komponen pasif, yaitu jenis komponen yang bekerja tanpa memerlukan arus
6
panjar. Kapasitor terdiri atas dua konduktor (lempeng logam) yang dipisahkan oleh bahan
penyekat (isolator). Isolator penyekat ini sering disebut sebagai bahan (zat) dielektrik.
Di bawah ini, gambar dan bentuk dari komponen kapasitor dan pengertian kapasitor.
Zat dielektrik yang digunakan untuk menyekat kedua penghantar komponen tersebut
dapat digunakan untuk membedakan jenis kapasitor. Beberapa pengertian kapasitor yang
menggunakan bahan dielektrik antara lain berupa kertas, mika, plastik cairan dan lain
sebagainya.
Light-Emitting Diode atau LED adalah sejenis diode semikonduktor istimewa. Seperti
sebuah diode normal, LED terdiri dari sebuah chip bahan semikonduktor yang diisi penuh, atau
di-dop, dengan ketidakmurnian untuk menciptakan sebuah struktur yang disebut p-n junction.
7
Pembawa-muatan - elektron dan lubang mengalir ke junction dari elektrode dengan voltase
berbeda. Ketika elektron bertemu dengan lubang, dia jatuh ke tingkat energi yang lebih rendah,
dan melepas energi dalam bentuk photon.
Lampu LED terbuat dari plastik dan dioda semikonduktor yang dapat menyala apabila
dialiri tegangan listrik rendah (sekitar 1.5 volt DC). Bermacam-macam warna dan bentuk dari
lampu LED, disesuaikan dengan kebutuhan dan fungsinya.
2.6. Photodioda
Photodioda adalah dioda yang bekerja berdasarkan intensitas cahaya, jika photodioda
terkena cahaya maka photodioda bekerja seperti dioda pada umumnya, tetapi jika tidak mendapat
cahaya maka photodioda akan berperan seperti resistor dengan nilai tahanan yang besar sehingga
arus listrik tidak dapat mengalir.
Gambar: Photodioda
8
Photodioda merupakan sensor cahaya semikonduktor yang dapat mengubah besaran
cahaya menjadi besaran listrik. Photodioda merupakan sebuah dioda dengan sambungan p-n
yang dipengaruhi cahaya dalam kerjanya. Cahaya yang dapat dideteksi oleh photodioda ini mulai
dari cahaya infra merah, cahaya tampak, ultra ungu sampai dengan sinar-X.
Prinsip kerja, karena photodioda terbuat dari semikonduktor p-n junction maka cahaya
yang diserap oleh photodioda akan mengakibatkan terjadinya pergeseran foton yang
akanmenghasilkan pasangan electron-hole dikedua sisi dari sambungan. Ketika electron electron
yang dihasilkan itu masuk ke pita konduksi maka elektron-elektron itu akan mengalir ke arah
positif sumber tegangan sedangkan hole yang dihasilkan mengalir ke arah negatif sumber
tegangan sehingga arus akan mengalir di dalam rangkaian. Besarnya pasangan elektron ataupun
hole yang dihasilkan tergantung dari besarnya intensitas cahaya yang diserap oleh photodioda.
Gambar 2.6. IC
9
2.8 Motor DC
Motor listrik merupakan sebuah perangkat elektromagnetis yang mengubah energi listrik
menjadi energi mekanik. Energi mekanik ini digunakan untuk, misalnya, memutar impeller
pompa, fan atau blower, menggerakan kompresor, mengangkat bahan, dll. Motor listrik
digunakan juga di rumah (mixer, bor listrik, fan angin) dan di industri. Motor listrik kadangkala
disebut kuda kerja nya industri sebab diperkirakan bahwa motor-motor menggunakan sekitar
70% beban listrik total di industri.
Motor DC memerlukan suplai tegangan yang searah pada kumparan medan untuk diubah
menjadi energy mekanik. Kumparan medan pada motor dc disebut stator (bagian yang tidak
berputar) dan kumparan jangkar disebut rotor (bagian yang berputar). Jika terjadi putaran pada
kumparan jangkar dalam pada medan magnet, maka akan timbul tegangan (GGL) yang berubah-
ubah arah pada setiap setengah putaran, sehingga merupakan tegangan bolak-balik. Prinsip kerja
dari arus searah adalah membalik phasa tegangan dari gelombang yang mempunyai nilai positif
dengan menggunakan komutator, dengan demikian arus yang berbalik arah dengan kumparan
jangkar yang berputar dalam medan magnet. Bentuk motor paling sederhana memiliki kumparan
satu lilitan yang bias berputar bebas di antara kutub-kutub magnet permanen. Catu tegangan dc
dari baterai menuju ke lilitan melalui sikat yang menyentuh komutator, dua segmen yang
terhubung dengan dua ujung lilitan. Kumparan satu lilitan pada gambar di atas disebut angker
dinamo. Angker dinamo adalah sebutan untuk komponen yang berputar di antara medan magnet.
10
Salah satu contoh motor DC adalah dynamo. Dinamo adalah mesin listrik atau
pembangkit tenaga listrik. Alat untuk mengubah energy kinetic menjadi tenaga listrik. Jika
dynamo itu menghasilkan arus bolak-balik (AC), maka sering disebut alternator.
Dalam dynamo, kumparan berada dalam ruangan bermedan magnet homogeny. Jika
kumparan berputar, maka fluks magnet yang menembus kumparan itu selalu berubah-ubah setiap
waktu. Menurut Faraday, hal ini akan mengakibatkan timbulnya arus listrik yang disebut arus
imbas (arus induksi) berupa arus bolak-balik (AC). Jika dilihat dengan osiloskop, grafik arus
listrik ini berupa fungsi sinusoida.
Dalam kasus perancangan robot, umumnya digunakan motor DC, karena jenis motor
tersebut mudah untuk dikendalikan. Kecepatan yang dihasilkan oleh motor DC berbanding lurus
dengan potensial yang diberikan. Untuk membalik arah putarnya cukup membalik polaritas yang
diberikan.
2.9 Infrared
Infra red adalah gelombang yang panjangnya di bawah panjang gelombang cahaya.
infared menggunakan LED (Light Emitting Diode) atau laser untuk membangkitkannya.
gelombang ini tidak mampu menembus benda sehingga jarak yang mampu ditempuh relatif
pendek dan berjalan pada satu garis lurus (point to point). frekuensi dari gelombang infra red
berada pada 1001 Ghz-1000Thz. Inframerah ditemukan secara tidak sengaja oleh Sir William
Herschell, astronom kerajaan Inggris ketika ia sedang mengadakan penelitian mencari bahan
penyaring optik yang akan digunakan untuk mengurangi kecerahan gambar matahari dalam tata
surya teleskop.
11
2.10 Crystal
Crystal lazimnya digunakan untuk rangkaian osilator yang menuntut stabilitas frekuensi yang
tinggi dalam jangka waktu yang panjang. Alasan utamanya adalah karena perubahan nilai
frekuensi kristal seiring dengan waktu, atau disebut juga dengan istilah faktor penuaan frekuensi
(frequency aging), jauh lebih kecil dari pada osilator-osilator lain. Faktor penuaan frekuensi
untuk kristal berkisar pada angka 5ppm/tahun, jauh lebih baik dari pada faktor penuaan
frekuensi osilator RC ataupun osilator LC yang biasanya berada diatas 1%/tahun.
Kristal juga mempunyai stabilitas suhu yang sangat bagus. Lazimnya, nilai koefisien
suhu kristal berada dikisaran 50ppm direntangan suhu operasi normal dari -20C sampai dengan
+70C. Bandingkan dengan koefisien suhu kapasitor yang bisa mencapai beberapa persen. Untuk
aplikasi yang menuntut stabilitas suhu yang lebih tinggi, kristal dapat dioperasikan didalam
sebuah oven kecil yang dijaga agar suhunya selalu konstan.
Kondensator biasa di sebut dengan kapasitor dengan lambang C, merupakan komponen yang
dapat menyimpan muatan listrik dalam waktu tertentu. Kondensator yang digunakan dalam
proyek ini adalah kondensator tetap yang merupakan nilai kondensator yang nilai kapasitasnya
sudah di tetapkan oleh pabrik pembuatnya.
2.12 ATmega16
12
dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-
purpose, timer/counter fleksibel dengan mode compare, interrupt internal dan
eksternal, serial UART, programmable Watchdog Timer, dan mode power
saving, ADC dan PWM internal. AVR juga mempunyai In-System Programmable
Flash on-chip yang mengijinkan memori program untuk diprogram ulang
dalam sistem menggunakan hubungan serial SPI. ATMega16.
13
DDxn, PORTxn, dan PINxn. Huruf xmewakili nama huruf dari port sedangkan
huruf n mewakili nomor bit. Bit DDxn terdapat pada I/O address DDRx, bit
PORTxn terdapat pada I/O address PORTx, dan bit PINxn terdapat pada I/O
address PINx. Bit DDxn dalam register DDRx (Data Direction Register)
menentukan arah pin. Bila DDxn diset 1 maka Px berfungsi sebagai pin
output. Bila DDxn diset 0 maka Px berfungsi sebagai pin input.Bila PORTxn
diset 1 pada saat pin terkonfigurasi sebagai pin input, maka resistor pull-up
akan diaktifkan. Untuk mematikan resistor pull-up, PORTxn harus diset 0
atau pin dikonfigurasi sebagai pin output.
Pin port adalah tri-state setelah kondisi reset. Bila PORTxn diset 1 pada
saat pin terkonfigurasi sebagai pin output maka pin port akan berlogika 1.
Dan bila PORTxn diset 0 pada saat pin terkonfigurasi sebagai pin output maka
pin port akan berlogika 0. Saat mengubah kondisi port dari kondisi tri-state
(DDxn=0, PORTxn=0) ke kondisi output high (DDxn=1, PORTxn=1) maka
harus ada kondisi peralihan apakah itu kondisi pull-up enabled (DDxn=0,
PORTxn=1) atau kondisi output low (DDxn=1, PORTxn=0).
14
BAB III
3.1 Alat
Solder
Penyedot Timah
Tang
Bor
3.2 Bahan
o PCB o Inframerah
o Atmega 16 o Resistor 1 K
o Pin Header Jantan dan betina o Resistor 330
o IC Regulator 7805 o Capasitor
o IC Regulator 7809 o Capasitor Ceramic
o LED Camping o IC L293D
o Photodioda o Socket IC
15
o Push Buttom o Timah
o Cristal 12 Hz o Lem Lilin
o Heat Sink o Battere
o Gear Box o Ban
o Kabel Pelangi o Fiber
o Motor DC 9 Volt o Pelarut PCB
16
o
o BAB IV
o LANGKAH KERJA
o
o Gambar 41 Rangka dari Line Follower
o Bagian ini digunakan untuk meletakkan semua komponen yang melengkapi robot
seperti minimum sistem, baterai, sensor, driver motor, dan lain lain. Bagian ini juga yang
menentukan kestabilan dari pergerakkan robot tersebut.
o
o Minimum sistem merupakan bagian utama dari robot ini, dimana pada
bagian ini digunakan untuk meletakkan semua komponen dari mikrokontroller baik
ATMEGA 16, port I/O, supply utama, dan lain lain.
4.1.4 Sensor
o Sensor digunakan sebagai input dari robot, pada sensor ini terdapat 8 buah photo
diode, 8 buah infra red, dan beberapa resistor sebagai pembagi tegangan. Pada gambar dibawah
diperlihatkan salah satu penggunaan photo diode dan infra red sebagai input.
4.1.5 Motor
o Motor yang kami gunakan disini adalah motor DC 9 Volt, tepatnya motor untuk
pemutar kaset, motor ini dapat dibeli ditoko elektronik terdekat. Kelemahan dari motor ini adalah
tidak mempunyai torsi yang cukup besar untuk menahan beban, walaupun mempunyai kecepatan
yang cukup baik.
o
o
o Gambar 5.6. Sistem Minimum ATmega16
o
o
5.1.1. SKEMATIK SENSOR
o
o Gambar 5.7. Sistem Minimum Sensor
o
o
5.1.2. SKEMATIK DRIVER MOTOR L293D
o
o
o
o
o Gambar 5.8 skematik driver motor IC293D
o
o
5.2. Program
o /*****************************************************
o This program was produced by the
o CodeWizardAVR V1.24.5 Evaluation
o Automatic Program Generator
o Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
o http://www.hpinfotech.com
o e-mail:office@hpinfotech.com
o
o Project :
o Version :
o Date : 7/13/2011
o Author : Freeware, for evaluation and non-commercial use only
o Company :
o Comments:
o
o
o Chip type : ATmega16
o Program type : Application
o Clock frequency : 12.000000 MHz
o Memory model : Small
o External SRAM size : 0
o Data Stack size : 256
o *****************************************************/
o
o #include <mega16.h>
o #include <delay.h>
o #include <stdio.h>
o
o int i;
o int Mu,Ma;
o char LCD_buffer[16];
o char buffer1[16],buffer2[16], buffer3[16],buffer4[16],ref, sensor[8], n_sensor ;
o unsigned int ADCIN0, ADCIN1, ADCIN2, ADCIN3, ADCIN4, ADCIN5, ADCIN6,
ADCIN7;
o unsigned char x,input,td,start=0,parkir=0,counting,loop,pwm_kiri,pwm_kanan;
o eeprom unsigned char max_speed;
o eeprom unsigned char ref0,ref1,ref2,ref3,ref4,ref5,ref6,ref7;
o
o
o // Alphanumeric LCD Module functions
o #asm
o .equ __lcd_port=0x15 ;PORTC
o #endasm
o #include <lcd.h>
o
o #define ADC_VREF_TYPE 0x00
o interrupt [TIM0_OVF] void timer0_ovf_isr(void)
o {
o // Place your code here
o TCNT0=0xEE;
o x++;
o if(x>=pwm_kiri) PORTD.4=0;
o else PORTD.4=1;
o if(x>=pwm_kanan) PORTD.5=0;
o else PORTD.5=1;
o }
o // Read the AD conversion result
o unsigned int read_adc(unsigned char adc_input)
o {
o ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
o // Delay needed for the stabilization of the ADC input voltage
o delay_us(10);
o // Start the AD conversion
o ADCSRA|=0x40;
o //0x40;
o // Wait for the AD conversion to complete
o while ((ADCSRA & 0x10)==0);
o ADCSRA|=0x10;
o return ADCW;
o }
o
o // Declare your global variables here
o void maju() //mundur
o {PORTD.0=1; PORTD.1=0; PORTD.2=1; PORTD.3=0; }
o
o void mundur() //maju
o {PORTD.0=0; PORTD.1=1;PORTD.2=0; PORTD.3=1;}
o void b_kanan() //belok kanan
o {PORTD.0=0; PORTD.1=1;}
o void b_kiri() //belok kiri
o {PORTD.2=0; PORTD.3=1;}
o void s_kanan()
o {PORTD.2=1; PORTD.3=0;}
o void s_kiri()
o {PORTD.0=1; PORTD.1=0;}
o void mtr_kanan()
o { PORTD.0=0;PORTD.3=1; PORTD.2=1; PORTD.1=0; }
o void mtr_kiri()
o {PORTD.0=1;PORTD.3=0; PORTD.2=0; PORTD.1=1;}
o void stop() //stop
o {PORTD.0=0;PORTD.1=0;PORTD.2=0;PORTD.3=0;}
o void scaning(){
o unsigned char xsensor;
o
o //maju();
o // n_sensor=~PINA;
o // n_sensor=n_sensor & 0b00000000;
o switch(n_sensor){
o case 0b11111110: mtr_kanan();pwm_kiri=200; pwm_kanan=200; td=1;
break;
o case 0b11111101: mtr_kanan();pwm_kiri=200;pwm_kanan=max_speed+200;
td=1; break;
o case 0b11111000: maju();pwm_kiri=200;pwm_kanan=200; td=1; break;
o case 0b11111001: maju(); pwm_kiri=200; pwm_kanan=100; td=1; break;
o case 0b11111011: maju(); pwm_kiri=200; pwm_kanan=100; td=1; break;
o case 0b11110011: maju(); pwm_kiri=240; pwm_kanan=150; td=1; break;
o case 0b01111111: mtr_kiri();pwm_kiri=max_speed+150;pwm_kanan=150 ;
td=2; break;
o case 0b11110111: maju(); pwm_kiri=250; pwm_kanan=250; td=1; break;
o case 0b11100111: maju(); pwm_kiri=250; pwm_kanan=250; break;
o case 0b11101111: maju(); pwm_kiri=100; pwm_kanan=250; break;
o case 0b11001111: maju(); pwm_kiri=200; pwm_kanan=200; td=2; break;
o case 0b11011111: mtr_kiri(); pwm_kiri=max_speed+200; pwm_kanan=200;
td=2; break;
o case 0b00011111: maju(); pwm_kiri=max_speed+50; pwm_kanan=250; td=2;
break;
o case 0b10111111: mtr_kanan(); pwm_kiri=max_speed+200; pwm_kanan=200;
td=2; break;
o case 0b00111111: mtr_kiri();pwm_kiri=max_speed+0;pwm_kanan=200 ; td=2;
break;
o case 0b10111110: mtr_kanan();pwm_kiri=max_speed+150;pwm_kanan=150 ;
td=1; break;
o case 0b01011111: mtr_kiri();
pwm_kiri=max_speed+200;pwm_kanan=max_speed+200 ; td=2; break;
o if(td==2)
{mtr_kiri();pwm_kiri=max_speed+30;pwm_kanan=max_speed+30;}
o if(td==1)
{mtr_kanan();pwm_kiri=max_speed+30;pwm_kanan=max_speed+30;}
o break;
o }
o }
o
o void main(void)
o
o {
o
o // Declare your local variables here
o
o //
Input/Output Ports initialization
o // Port A initialization
o // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
o // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
o PORTA=0x00;
o DDRA=0x00;
o
o // Port B initialization
o // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
o // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
o PORTB=0x00;
o DDRB=0xff;
o
o // Port C initialization
o // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
o // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
o PORTC=0x00;
o DDRC=0x00;
o
o TCCR1A=0x00;
o TCCR1B=0x00;
o TCNT1H=0x00;
o TCNT1L=0x00;
o ICR1H=0x00;
o ICR1L=0x00;
o OCR1AH=0x00;
o OCR1AL=0x00;
o OCR1BH=0x00;
o OCR1BL=0x00;
o
o // Port D initialization
o // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
o // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
o PORTD=0x00;
o DDRD=0xff;
o
o // Timer/Counter 0 initialization
o // Clock source: System Clock
o // Clock value: 1382.400 kHz
o // Mode: Normal top=FFh
o // OC0 output: Disconnected
o TCCR0=0x03;
o TCNT0=0xee;
o OCR0=0x00;;
o
o
o
o // Timer(s)/Counter(s) Interrupt(s) initialization
o TIMSK=0x01;
o
o // Analog Comparator initialization
o // Analog Comparator: Off
o // Analog Comparator Input Capture by Timer/Counter 1: Off
o ACSR=0x80;
o SFIOR=0x00;
o
o // ADC initialization
o // ADC Clock frequency:
o // ADC Voltage Reference: AREF pin
o // ADC Auto Trigger Source: None
o ADMUX=ADC_VREF_TYPE & 0xff;
o ADCSRA=0x84;
o //0x84;
o
o // LCD module initialization
o lcd_init(16);
o #asm("sei")
o lcd_gotoxy(0,0);
o lcd_putsf("tes");
o
o while (1)
o {
o //mtr_kiri();pwm_kanan=200;pwm_kiri=200;
o
o
o //PORTD.5=1;
o // mtr_kanan();
o
o // lcd_gotoxy(0,0);
o //lcd_putsf("Bismillah");
o
o scaning();
o
o //max_speed++;
o //max_speed--;
o //counting++;
o //if (PINC.1==0){max_speed++;delay_ms(50);}
o //if (PINC.0==0){max_speed--;delay_ms(50);}
o //sprintf( buffer4,"%3u",max_speed );
o //lcd_gotoxy(7,1);
o //lcd_puts(buffer4);
o //if (PINC.5==0)
{mtr_kanan();pwm_kiri=max_speed+0;pwm_kanan=max_speed+0;}
o //if (PINC.4==0){mtr_kiri();pwm_kiri=max_speed+0;pwm_kanan=max_speed+0;}
o //if (PINC.2==0){start=1;parkir=0;}
o //if (start==1)(scaning());
o //if (PINC.3==0){(parkir=1);(start=0);}
o //if (parkir==1)(stop());
o //if (PINC.5==0){mtr_kanan();pwm_kiri=40;pwm_kanan=40;delay_ms(500);}
o //if (PINC.4==0){mtr_kiri();pwm_kiri=40;pwm_kanan=40;delay_ms(500);}
o //sprintf( buffer1,"%03u,%03u,%03u,
%03u",read_adc(0),read_adc(1),read_adc(2),read_adc(3));
o //sprintf( buffer2,"%03u,%03u,%03u,
%03u",read_adc(4),read_adc(5),read_adc(6),read_adc(7));
o //lcd_gotoxy(0,0);lcd_puts(buffer1);
o //lcd_gotoxy(0,1);lcd_puts(buffer2);
o ADCIN0=read_adc(0);ADCIN1=read_adc(1);ADCIN2=read_adc(2);ADCIN3=read_
adc(3); // pembacaan pohotodioda sebagai masukan ADC.
o ADCIN4=read_adc(4);ADCIN5=read_adc(5);ADCIN6=read_adc(6);ADCIN7=read_
adc(7);
o
o
o if (ADCIN0<120){sensor[0]=0;}else {sensor[0]=1;} //di samping adalah data
hasil dari refrensi warna hitam dan putih..
o if (ADCIN1< 140){sensor[1]=0;}else {sensor[1]=1;} //refrensi
adalah data bilangan hitam tambah bilangan putih bagi 2. Atw H+P/2= ref.
o if (ADCIN2< 100){sensor[2]=0;}else {sensor[2]=1;}
o if (ADCIN3< 120){sensor[3]=0;}else {sensor[3]=1;}
o if (ADCIN4< 160){sensor[4]=0;}else {sensor[4]=1;}
o if (ADCIN5< ){sensor[5]=0;}else {sensor[5]=1;}
o if (ADCIN6< 40){sensor[6]=0;}else {sensor[6]=1;}
o if (ADCIN7< 30){sensor[7]=0;}else {sensor[7]=1;}
o
o /*
o if (ADCIN0<ref0){sensor[0]=0;}else {sensor[0]=1;} //di samping adalah data
hasil dari refrensi warna hitam dan putih..
o if (ADCIN1< ref1){sensor[1]=0;}else {sensor[1]=1;} //refrensi adalah data
bilangan hitam tambah bilangan putih bagi 2. Atw H+P/2= ref.
o if (ADCIN2< ref2){sensor[2]=0;}else {sensor[2]=1;}
o if (ADCIN3< ref3){sensor[3]=0;}else {sensor[3]=1;}
o if (ADCIN4< ref4){sensor[4]=0;}else {sensor[4]=1;}
o if (ADCIN5< ref5){sensor[5]=0;}else {sensor[5]=1;}
o if (ADCIN6< ref6){sensor[6]=0;}else {sensor[6]=1;}
o if (ADCIN7< ref7){sensor[7]=0;}else {sensor[7]=1;}
o */
o
o n_sensor=((sensor[0]*1)+(sensor[1]*2)+(sensor[2]*4)+(sensor[3]*8)+
(sensor[4]*16)+(sensor[5]*32)+(sensor[6]*64)+(sensor[7]*128));
o
o //sprintf( buffer1,"%1u-%1u-%1u-%1u-%1u-
%1u",sensor[0],sensor[1],sensor[2],sensor[3],sensor[4],sensor[5]);
o //sprintf( buffer2,"%1u-%1u",sensor[6],sensor[7]);
o //sprintf( buffer3,"%3u",n_sensor);
o //lcd_gotoxy(0,0);lcd_puts(buffer1); // disamping adalah perintah untuk
manampilkan pembacaan ADC di LCD
o //lcd_gotoxy(12,0);lcd_puts(buffer2);
o //lcd_gotoxy(13,1);lcd_puts(buffer3);
o
o
o }
o
o };
o
o
o
o Pada tahap awal hal yang perlu dibuat adalah rangkaian minimum system
( perangkat Mikrokontroller ) , proses awal yang perlu dilakukan dalam membentuk minimum
system ini yaitu menata letak dari komponen , kemudian membentuk jalur dari susunan
komponen tersebut dalam bentuk skema di kertas. Setelah itu skema tersebut dipindahkan ke
dalam PCB , jika digambar dengan proses manual maka kita menggunakan spidol OHP /
Permanent namun dapat juga digambar dengan proses pencetakan gambar dengan teknik
menyetrika.
o Setelah itu PCB dilarutkan dengan larutan FeCl , kemudian setelah dilarutkan
kemudian masuk ke proses Pengeboran. Ukuran mata bor sesuai dengan ukuran kaki komponen (
0,8 mm ). Setelah itu pasangkan komponen minimum system , komponen yang dipergunakan
pada minimum system seperti Elco 10 uF, resistor 1 kiloohm dan 10 kiloohm, push button ,
socket ( 40 kaki / AT89S51 ), pin brush , pin header , Kondensator Keramik 33 pF, Kristal 12
MHz, dan LED sebagai indikato pada rangkaian minimum system .
o Lakukan selanjutnya penyolderan pada komponen tersebut , sebelum melakukan
penyolderan dilakukan proses penggosokan pada jalur agar timah mampu melebur dengan
sempurna pada jalur. Kemudian lakukan proses testing pada rangkaian agar mengetahui apakah
terdapat trouble pada rangkaian ?. Setelah membuat minimum system kemudian masuk pada
proses pembuatan Driver untuk Line Follower. Sedikit penjelasan minimum system. Minimum
System merupakan rangkaian yang berfungsi sebagai pememroses dalam rangkaian Line
Follower. Minimum System mengolah input dari sensor kemudian memproses Input , kemudian
mengolahnya lalu menentukan Output.
o
1. Driver Line Follower
o Pembuatan Driver Line Follower kurang lebih sama dengan tahap pada proses
perancangan dan pembuatan Minimum System. Namun pada proses pembuatan terdapat juga
perbedaan. Seperti pada pembentukan jalur dan pemasangan komponen sebab pada PCB
Minimum System lebih membutuhkan ruang yang lebih sedikit dibanding dengan Driver Line
Follower sebab pada Driver Line Follower terdapat komponen actuator berupa motor DC
sehingga membutuhkan ruang lebih untuk komponen tersebut. Pada bagian Driver Line
Follower komponen yang dibutuhkan seperti Transistor NPN 9013, Resistor 560 Ohm, Motor
DC Mainan + gear set ( 5 V ) , dan Kabel Secukupnya. Selain itu pada bagian Driver disisipkan
juga Tempat Sumber ( Baterai ). Setelah proses Perancangan, Pembuatan, dan Penyolderan
Komponen , maka dilakukan proses Testing rangkaian tersebut agar mengetahui apakah terdapat
trouble , jika terdapat trouble maka lakukan proses pengecekan secara terperinci dan tepat pada
rangkaian. Setelah itu masuk pada perancangan dan pembuatan rangkaian Sensor Line Follower.
Penjelasan mengenai Driver Line Follower , Driver berfungsi sebagai penggerak dari Line
Follower.
o
2. Sensor Line Follower
o Melangkah ke rangkaian selanjutnya yaitu rangkaian Sensor Line Follower. Sebelum itu
sedikit penjelasan mengenai Sensor Line Follower , memiliki fungsi sebagai pendeteksi jalur.
Sensor memiliki prinsip membaca warna yang gelap ( mengarah ke warna Hitam ) namun jika
sensor bertemu pada warna cerah seperti Putih maka sensor secara otomatis tidak mampu
berfungsi. Jika pada jalur yang warna hitam maka sensor mengirimkan data menuju ke minimum
system namun jika sensor bertemu warna cerah maka sensor tidak mengirimkan input ke
minimum system. Data yang dikirim minimum system berupa tegangan , input tersebut menuju
ke port minimum system.
o Proses pembentukan Sensor Line Follower kurang lebih sama dengan proses sebelum
sebelumnya. Seperti perancangan jalur , kemudian menggambarkan pada PCB , Pelarutan,
Pengeboran dan Penyolderan. Komponen pada sensor line follower seperti LED, LDR, resistor
220 ohm & 3 kilo ohm, dan Kabel Penghubung. Kemudian lakukan proses Testing , dengan
melakukan pengukuran pada output yang menuju ke minimum system. Namun ada antisipasi
yang baik untuk bagian sensor ini , yaitu dengan memasang rangkaian indikator. Berupa LED,
jadi rangkaian tersebut dipasang berhubungan dengan Sensor Line Follower. Jadi ketika Sensor
mendapatkan tegangan maka secara otomatis indikator akan menunjukkan output dari rangkaian
sensor tersebut. Apabila sensor menghasilkan output maka LED akan menyala dan jika tidak
menghasilkan maka LED akan padam. Ini juga menjadi indikasi apakah bagian sensor
mengalami trouble.
o
1. Perakitan
o Pada bagian ini seluruh rangkaian yang yang tadi dibuat kemudian dihubungkan
Rangkain Minimum System menjadi CPU , Sensor Line Follower berfungsi sebagai Input dan
Driver Line Follower sebagai output. Setelah seluruh rangkain terhubung lakukan proses testing
lagi. Untuk mengetahui apakah seluruh rangkaian telah terhubung. Lakukan dengan dengan
mengecek tegangan yag keluar dari Sensor kemudian tes lagi bagian driver dengan memberikan
tegangan dan lihat apakah motor mampu bergerak sesuai dengan keinginan. Setelah rangkaian
line follower telah selesai kemudian masuk ke bagian membuat Program / Instruksi.
o
o Setelah melalui proses pembuatan program, kemudian progam didownload ke
mikrokontroller. Dan kemudian aktifkan line follower untuk melihat apakah program line
follower telah sukses. Dapat dilakukan perubahan yang pada program untuk mendapat kan Line
Follower yang mampu bergerak secara smooth.
o
o
o BAB VI
o PENUTUP
o 6.1. Kesimpulan
Photo dioda atau pendeteksi chaya akan berlofika 1 jika cahaya yang d pamcarkan oleh
led sebagian besar d terima oleh photo dioda i. Dan berlogika 0 jika hanya sedikit cahaya
yang di terima nya.
Photo dioda akan bekerja apabilaa cahaya yang di serapnya sangat sedikit atau pancaran
lampu led mengenai permukaan gelap.
o
o 6.2. Saran
1) Saat membuat layout PCB sebaiknya kita teliti dalam menentukan jarak kaki-kaki komponen dan
jalur-jalur komponen. Hal ini bertujuan agar tata letak komponen pada PCB terlihat lebih rapi.
2) Sebelum memasang transistor sebaiknya kita memperhatikan kakinya karena jika terjadi
kesalahan pada penentuan kaki transistor dapat membuat rangkaian tidak bekerja.
3) Gunakan solder dengan mata solder yang masih baru agar hasil solderan bagus dan terlihat rapi.
4) Kami juga menyarankan kepada pembimbing agar lebih meningkatkan kerja sama dan
komunikasi yang jelas dengan mahasiswa, agar hasil praktek dapat terselesaikan sesuai
dengan yang diinginkan, semoga kedua belah pihak mendapatkan hasil yang positif dengan
diadakannya praktek kali ini.
o BAB VII
o DAFTAR PUSTAKA
http://id.wikipedia.org/wiki/Resistor
http://www.sisilain.net/2010/12/pengertian-pcb-printed-circuit-board.html
http://komponenelektronika.net/pengertian-kapasitor.htm
http://indo-ware.indonetwork.co.id/group+143447/ic-regulator.htm
http://nonoharyono.blogspot.com/2009/12/saklar-tekan-push-button.html
http://diary-mybustanoel.blogspot.com/2012/04/photodioda.html
http://id.wikipedia.org/wiki/Diode_pancaran_cahaya
http://pengertianpengertian.blogspot.com/2012/06/pengertian-infrared.html
http://www.energyefficiencyasia.org/docs/ee_modules/indo/ChapterElectricmotorBahasaI
donesia.pdf
o
o