2013

MEMBUAT ROBOT LINE FOLLOWER DIGITAL BOLABOT

Mada Sanjaya WS, Ph.D

Penerbit Bolabot

BOLABOT TECHNO ROBOTIC INSTITUTE |2 ROBOT LINE FOLLOWER DIGITAL DENGAN IC KOMPARATOR Line follower Robot (Robot Pengikut Garis) adalah robot yang dapat berjalan mengikuti sebuah lintasan.D (Profesor Bolabot) . Garis yang dimaksud adalah garis berwarna hitam diatas permukaan berwarna putih atau sebaliknya. tentunya karena manusia Copyright 2013 © Mada Sanjaya WS. Ilustrasi robot line follower dengan posisi sensor di atas permukaan putih Seperti layaknya manusia. ada juga lintasan dengan warna lain dengan permukaan yang kontras dengan warna garisnya. inya. bagaimana manusia dapat berjalan mengikuti jalan yang ada tanpa menabrak dan sebaga sebagainya. ada yang menyebutnya dengan Line Tracker. Line Tracer Robot dan sebagainya. Gambar 1. Ada juga garis yang tak terlihat yang digunakan dig sebagai lintasan robot. Ph. misalnya medan magnet.

Diagram blok robot line follower mengerjakannya. dan informasi yang diterima sensor garis kemudian diteruskan ke prosesor untuk diolah sedemikian rupa dan akhirnya hasil informasi hasil olahannya akan diteruskan ke penggerak atau motor agar motor dapat menyesuaikan gerak tubuh robot sesuai garis ris yang dideteksinya. Sensor garis ini mendeteksi adanya garis atau tidak pada permukaan lintasan robo robot t tersebut. sistem yang akan kita bagun paling tidak tampak seperti gambar berikut. Begitu juga robot line follower ini. Ph. dia memiliki sensor garis yang berfungsi seperti “mata” pada manusia.D (Profesor Bolabot) . Copyright 2013 © Mada Sanjaya WS. Sistemnya terdiri dari sensor garis. akan dulu kita perlu blok kita diagram akan yang dengan menjadi demikian mudah Blok Gambar 2. rangkaian komparator.BOLABOT TECHNO ROBOTIC INSTITUTE |3 memiliki “mata” sebagai penginderanya. Untuk merangkai rangkai rangkaian elektroniknya tahu sistem bangun. sistem minimum AT Mega 16 dan motor driver.

arus di non non-inverting inverting sehingga output utput menuju pin mikrokontroler menjadi HIGH (1).1. akan ada pantulan cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga resistansi sensor LDR berkurang sehingga arus bergerak melalui LDR. sedangkan sistem actuator motor DC dipasang pada Port D.0 dan D.BOLABOT TECHNO ROBOTIC INSTITUTE |4 Skema Lengkap Line follower Digital IC Komparator Pada skema lengkap robot line follower didesain dengan posisi sensor di atas permukaan putih. Sebaliknya. arus di non non-inverting inverting sehingga output menuju pin mikrokontroler menjadi LOW (0). D.D (Profesor Bolabot) .0 dan B. oleh IC LM 393.3 untuk motor kanan. Dua buah sistem sensor di pasang pada pin B.1 untuk motor kiri. Prinsip kerja robot line follower berikut adalah saat sistem sensor berada di atas permukaan putih. oleh IC LM 393. tidak akan ada pantulan cahaya dari LED yang akan mengenai sensor cahaya LDR sehingga resistansi sensor LDR sangat besar sehingga arus tidak akan melalui LDR. Kondisi tersebut menyebabkan arus output sensor menuju IC komparator LM 393 menjadi maksimum. Kondisi tersebut menyebabkan arus output ut sensor menuju IC komparator LM 393 menjadi minimum.2 dan D. Ph. Oleh mikrokontroler data logika pin tersebut kemudian diolah untuk Copyright 2013 © Mada Sanjaya WS. saat sistem sensor berada di atas garis hitam.

Selengkapnya mengenai logika gerak robot dapat dilihat pada Tabel 1 dan 2 2.0 0 1 0 1 D. motor akan bergerak jika kedua pin motor tersebut memiliki beda polaritas. Tabel 1. Kondisi Gerak Motor dan pengaruh Sensor Kondisi B.1 = 0 B.0 =1 Belok Kiri Mati Tabel 2. Kondisi Gerak Motor dan Kondisi Logika Tiap Pin Motor Kondisi Maju Belok Kiri Belok Kanan Mati D.BOLABOT TECHNO ROBOTIC INSTITUTE |5 mengerakan motor.1 = 1 B.1 1 0 1 1 D.0 = 0 Maju Belok Kanan B.3 1 1 0 1 Copyright 2013 © Mada Sanjaya WS.D (Profesor Bolabot) . Ph.2 0 0 1 1 D.

Ph.D (Profesor Bolabot) . Bentuk jadi robot line follower menggunakan AT Mega 16 Copyright 2013 © Mada Sanjaya WS. Skema lengkap robot line follower menggunakan AT Mega 16 Bentuk Robot Line Follower Gambar 4.BOLABOT TECHNO ROBOTIC INSTITUTE |6 Gambar 3.

HP InfoTech s. http://www.com Project : Robot Line follower Version : I Date : 11/8/2012 Author : Mada Sanjaya WS.BOLABOT TECHNO ROBOTIC INSTITUTE |7 Membuat Program Robot Line Follower dengan CV AVR /***************************************************** ********************************************** This program was produced by the CodeWizardAVR V2.h> # include <delay.hpinfotech.D (Profesor Bolabot) .05.h> Copyright 2013 © Mada Sanjaya WS. bolabot.r.0 Professional Automatic Program Generator © Copyright 1998-2010 2010 Pavel Haiduc.D Company : Bolabot Techno Robotic School Comments: www. com Chip type Program type : ATmega16 : Application AVR Core Clock frequency: 12.000000 MHz Memory model External RAM size Data Stack size : Small :0 : 256 *****************************************************/ #include <mega16.l.h> //tambahan program untuk membuat waktu tunda // Alphanumeric LCD Module functions tions #include <alcd. Ph. Ph.

// Port D initialization // Func7=In Func6=In Func5=Out Func4=Out Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=0 State4=0 State3=T State2=T State1=T State0=T PORTD=0x00. Copyright 2013 © Mada Sanjaya WS. DDRA=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 e4=T State3=T State2=T State1=T State0=T PORTC=0x00. // Port B initialization // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=I Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00. DDRC=0x00. DDRD=0x30.BOLABOT TECHNO ROBOTIC INSTITUTE |8 // Declare your global variables here void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A 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 PORTA=0x00. DDRB=0x00.D (Profesor Bolabot) . Ph.

TCNT1L=0x00.D (Profesor Bolabot) . TCNT1H=0x00. // Noise Canceler: Off // Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0xA1. ICR1H=0x00. // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 11. TCNT0=0x00. OCR1BH=0x00. OCR1AH=0x00.719 kHz // Mode: Fast PWM top=0x00FF // OC1A output: Non-Inv. OCR1BL=0x00. Ph. OCR1AL=0x00.BOLABOT TECHNO ROBOTIC INSTITUTE |9 // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=0xFF // OC0 output: Disconnected TCCR0=0x00. TCCR1B=0x0D. ICR1L=0x00. // OC1B output: Non-Inv. OCR0=0x00. Copyright 2013 © Mada Sanjaya WS.

D (Profesor Bolabot) . TCCR2=0x00. SFIOR=0x00.B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 10 // Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=0xFF // OC2 output: Disconnected ASSR=0x00. // Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00. // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80. TCNT2=0x00. // USART initialization // USART disabled UCSRB=0x00. // External Interrupt(s) initialization // INT0: Off // INT1: Off // INT2: Off MCUCR=0x00. MCUCSR=0x00. OCR2=0x00. Ph. Copyright 2013 © Mada Sanjaya WS.

// input sensor kanan DDRD.PORTC Bit 4 // D5 .0=1. // output motor kanan Copyright 2013 © Mada Sanjaya WS.PORTC Bit 0 // RD . // TWI initialization // TWI disabled TWCR=0x00. // output motor kiri DDRD.1=1.1=0. // Alphanumeric LCD initialization // Connections specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS . Ph. // output motor kiri DDRD.B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 11 // ADC initialization // ADC disabled ADCSRA=0x00. // input sensor kiri DDRB. // Tambahan kode mendefinisikan input output DDRB.PORTC Bit 6 // D7 .PORTC Bit 1 // EN .PORTC Bit 5 // D6 .0=0.2=1. // SPI initialization // SPI disabled SPCR=0x00.D (Profesor Bolabot) .PORTC Bit 2 // D4 .PORTC Bit 7 // Characters/line: 16 lcd_init(16).

PORTD.1==1) kanan { PORTD.1=1. PORTD. // Tambahan kode mendefinisikan inisikan kondisi awal PORTB. lcd_gotoxy(0. OCR1B=200. maka belok kiri { PORTD. while (1) { if (PINB. lcd_putsf("BELOK KIRI"). PORTD. kanan putih.1=0. maka belok Copyright 2013 © Mada Sanjaya WS.1). } else if (PINB.0=1. PORTD.0=0. lcd_clear ().1==0) // Tambahan kode sensor kiri hitam.3=1. kanan hitam. PORTD.0==0 & PINB.0).2=0.0==1 & PINB.1=1. Ph.1=0. // Tambahan kode sensor kiri putih. lcd_gotoxy(0. PORTD.0=0. lcd_putsf("B0=1 B1=0").3=0.2=0. //sensor kiri PORTB. // output motor kanan // Tambahan kode mendefinisikan kecepatan motor PWM OCR1A=200.0=1. PORTD.B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 12 DDRD. //sensor kanan PORTD. delay_ms(100).3=1.D (Profesor Bolabot) .

1=0. lcd_putsf("B0=0 B1=1"). lcd_putsf("B0=0 B1=0").0==1 & PINB. // Tambahan kode sensor kiri putih.0=0. lcd_gotoxy(0. lcd_clear().0). delay_ms(100). PORTD. lcd_gotoxy(0.1). lcd_gotoxy(0. lcd_putsf("BELOK KANAN").2=0. lcd_putsf("B0=1 B1=1").3=0. lcd_gotoxy(0. kanan putih. PORTD. PORTD. PORTD.B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 13 PORTD.3=0.D (Profesor Bolabot) . } else if (PINB.0). PORTD.1==1) // Tambahan kode sensor kiri hitam. lcd_gotoxy(0.1). PORTD.2=1.0=0. Ph.1=1.2=0. lcd_clear(). maka bergerak maju Copyright 2013 © Mada Sanjaya WS.3=1.0). maka mati { PORTD. kanan hitam. lcd_putsf("MATI"). lcd_clear (). delay_ms(100). } else { PORTD. PORTD.

lcd_putsf("MAJU").1). delay_ms(100).B O L A B O T T E C H N O R O B O T I C I N S T I T U T E | 14 lcd_gotoxy(0.D (Profesor Bolabot) . Ph. } } } SELAMAT MENCOBA… MARI BERJUANG BERSAMA BOLABOT “BEKERJA UNTUK KEBANGKITAN TEKNOLOGI INDONESIA” Copyright 2013 © Mada Sanjaya WS.

Sign up to vote on this title
UsefulNot useful