LAPORAN 
PROJECT MIKROCONTROLLER
“ Robot
Line Follower Sebagai Salah Satu Media Pembelajaran Mikrokontroller “
Dosen Pengampu : Amir Fatah Faturrahman, S.Pd
DISUSUN OLEH :
                                                          NAMA           :
Ibnu Hakim
                                                          NIM               :
12502244011
                                                          KELAS        
  : A2
JURUSAN
PENDIDIKAN TEKNIK ELEKTRONIKA
FAKULTAS
TEKNIK
UNIVERSITAS NEGERI YOGYAKARTA
2014
A.    JUDUL
Robot Line Follower Sebagai Salah Satu Media
Pembelajaran Mikrokontroller.
B.     LATAR BELAKANG
Perkembangan teknologi begitu pesat
dan penerapan mikrokontroler pada bidang robotika terus
mengalami perkembangan yang sangat pesat pula. Banyak negara maju
(Amerika, Jerman, Inggris, Jepang, Perancis) berlomba-lomba untuk
menciptakan robot-robot cerdas dengan keistimewaan-keistimewaan khusus.
Temasuk indonesia sebagai negara berkembang, hal ini terlihat dengan
diselenggarakannya ajang Kontes Robot Indonesia (KRI), Kontes Robot Cerdas
Indonesia (KRCI) maupun kontes robot yang lain oleh Departemen Pendidikan
Nasional (Depdiknas) dan juga ajang Electronics and Informatics Technology
Competition (ELINFO)
Kategori RoboRace Line Follower Contest (RR). Pembuatan robot-robot dengan keistimewaan khusus sangat berkaitan erat dengan adanya kebutuhan dalam dunia industri modern yang menuntut adanya suatu instrumen dengan kemampuan yang tinggi yang dapat membantu menyelesaikan pekerjaan manusia ataupun untuk menyelesaikan pekerjaan yang tidak mampu diselesaikan oleh manusia.
Kategori RoboRace Line Follower Contest (RR). Pembuatan robot-robot dengan keistimewaan khusus sangat berkaitan erat dengan adanya kebutuhan dalam dunia industri modern yang menuntut adanya suatu instrumen dengan kemampuan yang tinggi yang dapat membantu menyelesaikan pekerjaan manusia ataupun untuk menyelesaikan pekerjaan yang tidak mampu diselesaikan oleh manusia.
Pada robot  line follower
 sensor  proximity  sering digunakan untuk mendeteksi ada
atau tidaknya suatu garis untuk gerak robot. Dengan demikian sensor
proximity difungsikan sebagai sensor garis. Sensor ini dapat dibuat dari
pasangan LED (Light Emitting Diode) dan
Photodioda yang dipasang secara sejajar dan berdampingan. Jika pancaran
LED memantul pada garis dan diterima oleh
basis Photodioda maka Photodioda menjadi saturasi (off)
sehingga tegangan keluaran mendekati 0 volt, yang didefinisikan sebagai
logika ‘0’ atau ‘low’. Sebaliknya jika tidak terjadi pantulan, artinya
pancaran dari LED diserap oleh garis, maka Photodioda menjadi
cut-off dimana tegangan keluaran sama dengan Vcc (5 volt). Kondisi ini
didefinisikan sebagai logika ‘1’ atau ‘high’.  Robot jenis line follower
bergerak menggunakan aktuator berupa motor DC. Motor DC merupakan suatu
motor penggerak yang dikendalikan dengan arus searah. 
Jenis penggerak robot line follower,
biasanya memiliki 2 buah motor DC yang diapasang di sebelah  kiri dan
kanan robot, kedua motor bergerak secara diferensial. Untuk dapat
menggerakan robot maka masing-masing motor DC harus diatur arah putar dan
kecepatannya lewat sebuah rangkaian driver motor. Prinsip kerja dari
driver ini hanya dengan melewatkan arus pada motor dan menghentikan arus
yang melewati motor serta mengatur arah arusnya.  Pengaturan
kecepatan kedua motor DC tersebut dapat diaplikasikan sebagai steering
sekaligus penggerak robot mobil. Pengaturan kecepatan masing-masing motor
sangat menentukan tingkat kestabilan robot dalam bergerak.  
Pada robot yang sangat berperan dalam
pengaturan arah dan kecepatan kedua motor DC adalah sistem navigasi dari
robot itu sendiri. Sistem navigasi inilah yang merupakan otak dari robot.
Otak robot diprogram oleh manusia sesuai dengan keinginannya, kemudian
ditanamkan ke dalam sebuah chip mikrokontroler. Mikrokontroler pada robot
difungsikan sebagai unit pemroses data, sistem monitoring, dan sistem
kontrol, dimana piranti kontrol konvensional tidak dapat melakukannya.
 
Sistem navigasi robot menggunakan
sistem kontrol  konvensional, kontrol P, kontrol I, kontrol D atau
gabungan kontrol PID, tidak dapat melakukan adaptasi terhadap perubahan
dinamik sistem selama operasi, karena parameter P, I dan D secara teoritis
hanya mampu memberikan efek kontrol terbaik pada kondisi sistem yang sama
ketika parameter tersebut di-tune. Pada penerapan fuzzy logic controller
pada line follower robot diharapkan dapat memberikan perubahan pergerakan
robot yang halus dari kondisi berbelok ke kondisi bergerak lurus maupun
sebaliknya tanpa menimbulkan pergerakan yang kaku. Dengan didasari
hal-hal tersebut  di atas, maka peneliti mencoba melakukan
perancangan dan implementasi line follower robot
menggunakan mikrokontroler AVR ATMega 16 dengan sistem navigasi berbasis
 fuzzy logic controller. 
C.    TUJUAN
Tujuan utama dari
penulisan laporan ini adalah :
1.    Mahasiswa
dapat menjelaskan tentang robot line follower.
2.      Mahasiswa
dapat memahami blok rangkaian robot line follower.
3.      Mahasiswa
dapat memahami tentang mikrokontroler AVR.
4.      Mahasiswa
dapat memahami cara kerja sensor garis dengan ADC.
5.     Mahasiswa dapat perancangan dan
implementasi sebuah robot line follower. 
6.     Mahasiswa implementasi kecerdasan buatan
(Artificial intellegence) yaitu  Fuzzy Logic Controller.             
D.    DESAIN RANCANGAN
1.     
Rancangan
Hardware
a)      Spesifikasi  : 
1.    8 sensor
2.    Chip
Microcontroller Atmega 16
3.    LCD
16X2 
4.    5
button control 
5.    Driver
motor MOSFET dual H-Bridge 
6.    Gearbox
Motor DC Custom 
Berikut pada gambar 1 ditunjukan model robot line
follower :
Gambar 1. Robot Line Follower
b)    
Skematik
Rancangan Robot Line Follower
Berikut
pada gambar dibawah ini ditunjukan rangkaian robot line follower :
Gambar 2.
Skematik Robot Line Follower
c)     
Layout
Robot Line Follower
Berikut
pada gambar dibawah ini ditunjukan layout robot line follower :
1. Layout Sismin
Gambar 3. Layout Sismin Robot Line Follower
Gambar 4. Layout Driver Motor Robot Line Follower
3. Layout Push Button
Gambar 5. Layout Push Button Robot Line Follower
d)    
Flowchart
Kendali Robot Line Follower
Berikut
pada gambar dibawah ini ditunjukan flowchart kendali LF :
Gambar 6. Flowchart Robot Line Follower
Tabel komponen yang digunakan :
Tabel
1. Komponen yang digunakan
2.     
Rancangan
Software
Bahasa
C
Program
Robot Line Follower dengan Bahasa C Pada ATMega 16 :
#include
<mega16.h> 
//
Alphanumeric LCD functions 
#include
<alcd.h> 
//
Declare your global variables here 
#include
<stdio.h>
#include
<delay.h> 
char
buff[33]; 
unsigned
char pwm, no, lpwm, rpwm; 
#define
t1      PINC.3         
#define
t2      PINC.2 
#define
t3      PINC.1 
#define
t4      PINC.0 
#define
mtrx0              PORTD.1 
#define
mtrx1              PORTD.0 
#define   kaju   
PORTD.5 
#define   kidur  
PORTD.3 
#define   kadur 
PORTD.6 
#define   kiju   
PORTD.4 
void
maju(unsigned char lpwm,unsigned char rpwm) 
{
OCR1A=255-rpwm;
OCR1B=255-lpwm;
kadur=0;
kidur=0;
}
void
mundur(unsigned char lpwm,unsigned char rpwm) 
{
OCR1A=rpwm;
OCR1B=lpwm;
kadur=1;
kidur=1;
}
void
stop() 
{
OCR1A=255;
OCR1B=255;
kadur=0;
kidur=0;
}
void
sikan(unsigned char lpwm, unsigned char rpwm){ 
        OCR1A=255-rpwm; 
        OCR1B=lpwm; 
        kadur=1; 
        kidur=0; 
}
void
sikir(unsigned char lpwm, unsigned char rpwm){ 
        OCR1A=rpwm; 
        OCR1B=255-lpwm; 
        kadur=0; 
        kidur=1; 
}
void
set_pwm() 
{
if
(!t4) {pwm++; delay_ms(10);} 
if
(!t1) {pwm--;delay_ms(10);} 
if
(pwm > 255) {pwm = 255;} 
} 
void
main(void) 
{
PORTA=0x00;
DDRA=0x00;
PORTB=0x00;
DDRB=0x00;
//
Port C initialization 
//
Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
//
State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0xff;
DDRC=0x00;
//
Port D initialization 
//
Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out 
Func0=Out
//
State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 
PORTD=0x00;
DDRD=0xFF;
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
TCCR1A=0xF1;
TCCR1B=0x0C;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
MCUCSR=0x00;
TIMSK=0x00;
UCSRB=0x00;
ACSR=0x80;
SFIOR=0x00;
//
ADC initialization 
//
ADC disabled 
ADCSRA=0x00;
//
SPI initialization 
//
SPI disabled 
SPCR=0x00;
//
TWI initialization 
//
TWI disabled 
TWCR=0x00;
//
Alphanumeric LCD initialization 
//
Connections are specified in the 
//
Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: 
//
RS - PORTB Bit 0 
//
RD - PORTB Bit 1 
//
EN - PORTB Bit 2 
//
D4 - PORTB Bit 4 
//
D5 - PORTB Bit 5 
//
D6 - PORTB Bit 6 
//
D7 - PORTB Bit 7 
//
Characters/line: 16 
lcd_init(16);
while
(1) 
    { 
    stop(); 
    lcd_clear(); 
    lcd_gotoxy(3,0); 
    lcd_putsf("Tes Motor"); 
    delay_ms(100); 
    lcd_clear(); 
    lcd_gotoxy(1,0); 
    lcd_putsf("Tekan Ok untuk"); 
    lcd_gotoxy(2,1); 
    lcd_putsf("melanjutkan"); 
    while (1){ if (!t3) {goto lanjut;}} 
    } 
lanjut:
while
(1) 
      { 
      lcd_clear(); 
      //kode untuk memilih no 
      if (!t1) {no --;} 
      if (!t4) {no ++;} 
      if (no<1) {no = 1;} 
      if (no>5) {no = 5;} 
      switch(no) 
      { case 1: lcd_putsf("Maju"); 
                maju(lpwm,rpwm); 
                break; 
        case 2: lcd_putsf("Mundur"); 
                mundur(lpwm,rpwm); 
                break; 
        case 3: lcd_putsf("Stop"); 
                stop(); 
                break; 
        case 4: lcd_putsf("Sikan"); 
                sikan(lpwm,rpwm); 
                break; 
        case 5: lcd_putsf("Sikir"); 
                sikir(lpwm,rpwm); 
                break; 
      } 
      if (!t3) 
        { 
        while(1) 
            { 
            lcd_gotoxy (0,1); 
            lcd_putsf("PWM = "); 
            sprintf (buff,"%3d",pwm);
            lcd_puts (buff); 
            set_pwm(); 
                lpwm = pwm; 
                rpwm = pwm; 
             if (!t2) {break;} 
            } 
        } 
       lcd_gotoxy(0,1); 
      sprintf(buff,"%d",no); 
      lcd_puts (buff); 
      delay_ms(20); 
       } 
}
E.     LANGKAH PEMBUATAN
1.   
Desain Layout
2.   
Menyablon Layout Pada PCB
3.   
Pelarutan PCB
4.   
Pemasangan Komponen dan Penyolderan
5.   
Memrogram Mikrokontroller
6.   
Menyatukan Elektronik dan Mekanik
7.   
Finishing
8.   
Uji Coba Rangkaian
F.     PENGUJIAN
Setelah melakukan
perancangan dan pembuatan alat, maka tahap yang harus dilakukan  selanjutnya 
adalah melakukan  pengujian  pada 
alat  yang telah dibuat. Pengujian
dan pengamatan dilakukan  pada  perangkat 
keras  dan keseluruhan sistem yang
terdapat dalam peralatan  ini.  Pengujian 
ini  dilakukan dengan  cara 
melakukan  pengukuran pada  tiap 
blok  sistem  alat, 
sehingga didapat 
perbandingan  antara  hasil pengujian  yang 
didapat  dengan perancangan  sistem. 
Dan  juga  dapat 
dianalisa apakah sistem pada Line Follower ini berfungsi dengan baik
dan  stabil.  Tujuan 
dari  pengukuran sistem ini adalah
: 
1.  Mengetahui apakah perangkat keras
yang  telah  dibuat 
dapat  bekerja dengan baik. 
2.  Dapat  diketahui 
parameter perbandingan antara hasil pengujian dengan perancangan, sehingga
dapat diketahui  apakah  kinerja 
sistem stabil.
Berikut ini adalah pengujian
data dengan video dibawah ini :
G.    ANALISIS DATA
1.  Line Follower Robot adalah sebuah alat
yang dapat berjalan secara otomatis mengikuti garis  berdasarkan perubahan warna pada garis baik
hitam dan putih. Hasil dari perubahan warna tersebut menyebabkan nilai pada
photo diode berubah sehingga menyebabkan nilai yang masuk ke dalam port ADC
pada mikrokontroller berubah, dan nilai ADC tersebut yang akan kita oleh
menjadi sebuah input.
2.    Perancangan  dilakukan 
berdasarkan blok  per  blok 
dari  setiap  rangkaian, dimana  tiap-tiap 
blok  mempunyai fungsi  masing-masing 
dan  blok rangkaian  yang 
satu  dengan  blok rangkaian  yang 
lain  merupakan  satu kesatuan 
yang  saling  terkait 
dan berhubungan  serta  membentuk 
satu kesatuan yang saling menunjang kerja dari sistem. Blok rangkaian
dari robot ini  dapat  dilihat 
selengkapnya  pada gambar 7. 
Gambar 7. Diagram Blok
Rangkaian Keseluruhan
Diagram blok diatas dijelaskan bahwa input
yang masuk pada mikrokontroler akan 
menggerakkan  motor  yang merupakan output pada mikrokontroler.
Disini dapat dilihat pentingnya peranan mikrokontroler,  yang 
mana mikrokontroler  akan  mengolah 
input dan  mengatur  output. 
Jadi mikrokontroler 
merupakan  pengendali utama dari
sistem kerja robot. 
3.   Atmel
AVR adalah jenis mikrokontroler yang paling sering dipakai dalam bidang
elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur RISC
(Reduce Instruction Set Computing) delapan bit, di mana semua instruksi dikemas
dalam kode 16-bit (16 bits word) dan sebagian besar instruksi dieksekusi dalam
1 (satu ) siklus clock. Nama AVR sendiri berasal dari "Alf (Egil Bogen)
and Vegard (Wollan) 's Risc processor" dimana Alf Egil Bogen dan Vegard
Wollan adalah dua penemu berkebangsaan Norwegia yang menemukan mikrokontroller
AVR yang kemudian diproduksi oleh Atmel.
4.   Rangkaian
dasar sensor garis menggunakan ADC hampir sama dengan rangkaian menggunakan
metode On Off hanya saja dengan ADC tidak perlu rangkaian Op Amp.
H.    KESIMPULAN
Setelah melalui tahap
perencanaan dan perancangan, maka sebuah 
line follower robot dapat direalisasikan. Kemudian dilakukan pengujian
dan analisa pada sistemnya yang dapat diambil beberapa kesimpulan sebagai
berikut : 
1.  Line follower robot merupakan suatu
rangkaian otomatis terintegrasi yang terdiri 
dari tiga  komponen  penting 
yaitu,  konstruksi  fisik, 
rangkaian elektronis, dan software pengontrol. 
2.  Mikrokontroler adalah sebuah chip yang
berfungsi sebagai pengontrol rangkaian elektronik dan  umunya dapat menyimpan
program didalamnya. Mikrokontroler umumnya terdiri dari CPU (Central  Processing
Unit), memori, I/O tertentu dan unit pendukung seperti Analog-to-Digital
Converter  (ADC) yang sudah terintegrasi di dalamnya.
3.   
Pengaturan 
jarak  deteksi  sensor 
dapat  dilakukan  dengan 
mengatur besarnya nilai penguatan    pada photodioda. 
4.  Kendali pada line follower robot ini
diterapkan menggunakan software LabVIEW 7.1 dengan  metode ON/OFF. 
5.   Penggunaan 
kendali  ON/OFF  pada 
LabVIEW  7.1  yang 
dihubungkan melalui port pararel  memang tidak praktis, tetapi dalam
perancangannya dirasakan lebih mudah. 
6.     Fungsi
pertama yang harus ada dalam program C dan sudah ditentukan namanya adalah
main().
7.   Fungsi
terdiri atas satu atau beberapa pernyataan, yang secara keseluruhan    dimaksudkan untuk  melaksanakan tugas
khusus. Bagian pernyataan fungsi (sering disebut tubuh fungsi) diawali dengan  tanda kurung kurawal buka ({) dan diakhiri dengan tanda kurung kurawal tutup
(}). Di antara  kurung kurawal itu dapat dituliskan statemen-statemen program C.
8.     Semua sistem yang dimiliki oleh line follower robot saling berhubungan. 
 Jadi,  ketika  salah 
satu  sistem  tidak 
berfungsi  dengan  baik, 
akan mempengaruhi kinerja dari seluruh sistem robot. 
I.       SARAN
Dalam  merencanakan 
dan  merancang  sebuah 
line  follower  robot, diperlukan kecermatan dan ketelitian
dalam pemilihan bahan penyusun konstruksi fisik, komponen elektronik, dan
terlebih pada software pengontrolnya agar sistem yang dirancang dapat berfungsi
dengan sempurna. 
Line follower  robot merupakan salah satu hasil karya
teknologi, maka sistem ini diharapkan dapat dimanfaatkan dan diaplikasikan
dalam kehidupan sehari-hari dalam bentuk dan metode yang sederhana serta
ekonomis.











 
 
 
 
 





okey
ReplyDeletelumayan
sip dahhh
ReplyDeletemembantu kak,,
ReplyDeletethx info nya