Jumat, 26 April 2019

Kumpulan Cara Membuat Robot Line Follower dengan Pemrograman Mikrokontroler



1. Cara Membuat Robot Line Follower Microcontroller Tanpa LCD
Robot-ID.Com, Salam robotika.. apa kabarnya nih robolovers semua semoga selalu sehat dan menjalani rutinitas serta tugas kita dengan sebaik mungkin, kali ini saya +sudarmanto saputra  mau share tentang Cara Membuat Robot Line Follower Microcontroller Tanpa LCD.

Membuat robot line follower atau line tracer adalah pengalaman yang sangat berharga ketika saya membuat robot line follower untuk yang pertama kalinya, tentunya karena newbie atau pemula jadi saya mencari bahan atau tutorial yang tanpa LCD.

Mengapa tanpa LCD?
Dulu sekitar tahun 2010 saya memulai proyek ini proyek yang besar bagi saya karena saya masih belum punya pengalaman yang cukup terutama pemrograman dengan LCD 2X16 Character, pada waktu itu LCD seperti barang yg mewah saja karena harganya lumayan nyarinya pun cukup sulit harus ke glodok dulu baru dapet, tidak seperti sekarang serba online banyak yang menawarkan di grup facebook dengan harga murah serta model yang beragam.

Belajar pemrogramannya pun awalnya asembler dan untungnya sudah populer bahasa c itupun baru sedikit banget hanya bisa ngidupin led, ADC aja masih bingung, untungnya banyak bermunculan referensi tentang rangkaian maupun pemrograman dalam membuat robot line follower microcontroller di internet jadi pengembangannya pun bisa segera diwujudkan.

Dalam proses pembuatanya desain PCB-nya saya buat beberapa bagian misalnya bagian sensor saya buat sendiri dan masih menggunakan IC komparator LM324, kalo sekarang kita tinggal pake ADC ya nggak perlu repot nambah IC, tapi disini kita sebagai pemula mesti mencoba supaya kita tahu sistemnya, jika menggunakan IC LM324 keluarannya sudah digital jadi tinggal disambungkan ke port microcontroller saja, tetapi jika tidak menggunakan IC maka kita harus menggunakan ADC pada port A tentunya dengan program yang lumayan banyak.

Dalam gambar skema sensor masih menggunakan sensor IR dan LED, tapi jangan khawatir bisa juga diganti dengan photodioda dan Led super bright soalnya yang umum dipakai sekarang komponen itu, tapi jangan salah lho jika kita menggunakan sensor IR atau infrared maka sensor pada robot kita tidak tergantung dengan sinar UV yang ada pada lampu dan sinar matahari jadi robot kita akan tetap stabil walaupun diluar ruangan, jika kita menggunakan photodioda tanpa rangkaian filter maka robot kita akan rentan oleh gangguan cahaya, biasanya kita akali dengan menambahkan penutup atau busa tipis yang menutupi sensor agar cahaya dari luar dapat dihindari. 

Untuk minimum sistem saya masih menggunakan minimum sistem standar yang penting ada tombol resetnya bila perlu ditambah tombol untuk start, tapi kalo anda ingin membuatnya sekaligus dalam satu pcb tentunya lebih bagus kan sekarang mudah banget gambar layout pcb bisa dengan software diptrace, eagle, dan lainya, selanjutnya untuk driver motor saya menggunkan IC Driver L298 cukup lumayan untuk motor yang agak besar rpm-nya. 

Untuk rangkaian sensornya bisa dilihat dalam gambar dibawah ini, jangan lupa untuk membuat 8 sensor, cukup banget kalo kita gunakan 2 buah IC LM324.


Rangkaian Sensor LF

Berikut gambar skemanya minimum sistem menggunakan Atmega16 dan driver L298 :


Rangkaian Minimum Sistem dan Driver


Ini sekalian saya kasih source kode atau program robot line follower microcontroller dengan software AVR Studio bisa juga Code Vision AVR, tentunya akan lebih bagus dan mantap jika sedikit dipoles atau ditambah dengan LCD serta tombol supaya bisa jalan digaris atau arena yang berbeda-beda tapi ini juga sudah lumayan dan work di robot.

Source Code : Robot Line Follower Microcontroller Tanpa LCD

/*****************************************************
Project : Robot Line Follower Microcontroller Tanpa LCD
*****************************************************/

#include 
#include 
#ifdef debug
#include 
#endif
#define FWD 0xAA
#define REV 0x55
#define R 0x22
#define L 0x88
#define CW 0x99
#define CCW 0x66
#define STOP 0x00
#define B 0xFF
#define RSPEED OCR1AL
#define LSPEED OCR1BL
#define SPEED0 255
#define SPEED1 0
#define SPEED2 0
#define SPEED3 0
#define MAX 3
#define HMAX 1
void move (unsigned char dir,unsigned char delay,unsigned char power);
unsigned char i,rdev,ldev,ip,delay,dir,power,dirl,history[MAX],hcount=0,rotpow;
#ifdef debug
unsigned char rep=0,prev=0;
#endif
void main(void)
{
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
Line Follower
Page 12 of 17
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;
// Port B 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
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=0x00;
DDRC=0xFF;
// 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;
DDRD=0x30;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 921.600 kHz
// Mode: Fast PWM top=00FFh
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
TCCR1A=0xA1;
TCCR1B=0x0A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0xFF;
OCR1BH=0x00;
OCR1BL=0xFF;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
Line Follower
Page 13 of 17
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
#ifdef debug
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 57600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x07;
#endif
// 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;
SFIOR=0x00;
while (1){
#ifdef debug
if(rep<255 p="">rep++;
if(prev!=PINA) {
prev=PINA;
printf("%u\r",rep);
for(i=0;i<8 i="" p="">printf("%u\t",(prev>>i)&0x01);
rep=0;
}
#endif
if(PINA!=255){
rotpow=255;
ldev=rdev=0;
if(PINA.3==0)
rdev=1;
if(PINA.2==0)
rdev=2;
if(PINA.1==0)
rdev=3;
Line Follower
Page 14 of 17
if(PINA.0==0)
rdev=4;
if(PINA.4==0)
ldev=1;
if(PINA.5==0)
ldev=2;
if(PINA.6==0)
ldev=3;
if(PINA.7==0)
ldev=4;
if(rdev>ldev)
move(R,0,195+12*rdev);
if(rdevmove(L,0,195+12*ldev);
if(rdev==ldev)
move(FWD,0,200);
}
else {
for(i=0,dirl=0;iif(history[i]==L)
{dirl++;}
}
if(rotpow<160 rotpow="160;}</p">if(rotpow<255 p="" rotpow="">if(dirl>HMAX)
{move(CW,0,rotpow);}
else
{move(CCW,0,rotpow);}
}
};
}
void move (unsigned char dir,unsigned char delay,unsigned char power) {
PORTC=dir;
if(dir==L || dir==R) {
hcount=(hcount+1)%MAX;
history[hcount]=dir;
}
LSPEED=RSPEED=255;//power;
//delay_ms(delay);
}



2. Aplikasi Android Tutorial Robot Line Follower Microcontroller, Ayo Buruan Instal Mantap....
Robot-ID.Com, Robot Line Follower adalah sebuah jenis robot yang termasuk dalam kategori mobile robot yang di desain untuk bekerja secara otomatis dan robot ini memiliki kemampuan untuk dapat mendeteksi garis (umumnya hitam & putih) dan bergerak mengikuti (follows) garis yang ada pada arena. 



Sistem kendali robot yang digunakan dirancang untuk bisa melaju pada jalur garis yang ada dan melakukan manuver gerakan sesuai kondisi sensornya agar tetap bisa mengikuti garis tersebut. Robot jenis ini lumayan banyak diminati bagi mereka yang baru belajar teknologi robot. Bahkan kompetisi-kompetisi Line Follower Robot, secara rutin sering diadakan di berbagai universitas di Indonesia. Dalam bidang industri, robot jenis ini sering digunakan untuk untuk memindahkan barang dari satu tempat ke tempat yang lain.

Instal aplikasinya sekarang juga klik INSTAL APLIKASI

Robot Line Follower terbagi dalam dua jenis yaitu :
Robot Line Follower Analog
Robot Line Follower Microcontroller (Pemrograman)




Robot Line Follower Analog biasanya menggunakan komponen Transistor dan IC Op Amp sebagai komponen utama dan IC Driver motor, namun ada juga yang menggunakan relay sebagai kendali motor dc-nya. Robot Line Follower Analog biasanya terdapat beberapa tombol setting yang memiliki fungsi tertentu misalnya untuk pilihan warna jalur, baca garis kanan/kiri, juga tombol turbo untuk kecepatan lebih. Robot Line Follower Analog jika dilihat dari pergerakan ketika mendeteksi garis jalanya robot masih terkesan kasar saat mengikuti garis karena sistem kerjanya masih menggunakan sistem On/Off. Namun kali ini kita tidak membahas Robot Line Follower Analog tetapi yang akan dibahas adalah Robot Line Follower Micro.




Robot Line Follower Microcontroller biasanya menggunakan microcontroller sebagai otak robot, microcontroller yang digunakan bisa dengan minimum sistem atau bisa juga menggunakan arduino namun kali ini robot yang akan dibahas dalam aplikasi ini menggunakan microcontroler tipe Atmega16/32. Apa perbedaan dengan analog? Robot Line Follower Microcontroller di program dengan sistem PID jadi jalanya robot lebih halus dan setting sensornya bisa otomatis mendeteksi garis hitam atau putih, disamping itu Robot Line Follower Microcontroller bisa diprogram sesuai arena/lintasan dengan bentuk garis yang berbeda-beda.

Instal aplikasinya sekarang juga klik INSTAL APLIKASI







Robot Line Follower Microcontroller dalam menyusuri arena ada yang diprogram melalui komputer ada pula yang langsung diprogram dirobotnya biasa disebut Path Planning, dalam perlombaan robot LF pun sudah banyak digunakan oleh peserta lomba.




Robot Line Follower Microcontroller ini masih sangat sederhana dan hanya sebagai dasar pembelajaran line follower karena masih diprogram dengan komputer jadi tidak dispesifikan khusus untuk lomba namun sudah cukup bagus untuk sekedar tau basic Robot Line Follower Microcontroller .
Instal aplikasinya sekarang juga klik INSTAL APLIKASI

sumber: http://www.robot-id.com/2017/03/aplikasi-android-tutorial-robot-line.html#more


3. Tutorial Merakit Robot Line Follower Microcontroller
Robot-id.com, Selamat pagi gan... semoga selalu sehat walafiat, kali ini saya mau share video buatan tim mutekla yaitu Tutorial Merakit Robot Line Follower Microcontroller, ini adalah video praktis panduan khusus untuk pemula/newbie yang hobi membuat robot line follower agar mengetahui setiap langkah demi langkah bagaimana membuat robot Robot Line Follower Microcontroller.


Gambar Cover Tutorial di youtube

Video tutorial ini berisi lima langkah praktis merakit Robot Line Follower Microcontroller yang meliputi materi-materi sebagai berikut :
1. Cari/Searching Skema/Rangkaian sensor line follower, minimum system, dan driver mosfet h-bridge.
2. Cara Pembuatan layout PCB sensor LF, minimum system microcontroller, dan driver mosfet h-bridge.
3. Cara Cetak PCB sensor LF, minimum system Microcontroller, dan driver mosfet h-bridge.
4. Cara Memasang Komponen sensor LF, minimum system Microcontroller, dan driver mosfet h-bridge.
5. Cara Merakit semua komponen robot sampai jadi.

Dari kelima langkah tersebut sudah didesain khusus videonya, anda tinggal mengikuti langkah demi langkah agar lebih mudah dalam merakit robot line follower.



Jangan lupa lihat juga video lainya ya... semoga bermanfaat...
Sangat Mudah bukan cara membuatnya, Jangan lupa LIKE, COMMENT, & SUBSCRIBE ya...






Artikel Lainnya:

Tidak ada komentar:

Posting Komentar