Robot Pengikut Garis (Seri Robotika)
Robot Pengikut Garis adalah robot yang bergerak mengikuti garis yang melintang di bawahnya.
Pada aplikasi
kali ini, Robot Pengikut Garis, sensor yang digunakan untuk mendeteksi
keberadaan garis adalah sensor LDR yang terintegrasi di modul DI-MLDR.
Agar robot dapat bergerak ke kanan dan ke kiri dengan baik, maka
digunakan dua motor DC yang terhubung pada mekanik roda, yaitu pada sisi
kanan dan pada sisi kiri. Sedangkan pada sisi depan sebagai penyeimbang
digunakan roda bebas. Agar mikrokontroler dapat menggerakkan motor DC,
digunakan driver
motor DC tipe H-Bridge dalam bentuk IC, L298, yang telah terintegrasi
pada modul DI-MDCD4A. Dan sebagai pengendali utama robot digunakan
mikrokontroler AVR tipe ATmega8535 yang terintegrasi pada modul
AVR System.
Modul-Modul yang Mendukung:- AVR System (Sistem Minimum Mikrokontroler AVR ATMEGA8535) atau
Basic AVR System - Extension Board
- MDCD4A (Motor DC Driver 4A)
- MLDR (DI-Multifunction LDR) = 2 modul (minimal)
Disain Mekanik:
Skrip Program:
A. BASCOM (BASIC COMPILER)
$regfile = “m8535.dat”
$crystal = 7372800
Config Porta.0 = Input
Config Porta.1 = Input
Ldr_kanan Alias Pina.0
Ldr_kiri Alias Pina.1
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.3 = Output
Motor_kanan_maju Alias Portc.0
Motor_kanan_mundur Alias Portc.1
Motor_kiri_maju Alias Portc.2
Motor_kiri_mundur Alias Portc.3
Main:
Motor_kanan_maju = 0
Motor_kanan_mundur = 0
Motor_kiri_maju = 0
Motor_kiri_mundur = 0
Do
If Ldr_kiri = 0 Then
If Ldr_kanan = 0 Then
‘motor off
Exit Do
Else
‘belok kanan
Motor_kiri_maju = 1
Motor_kiri_mundur = 0
Motor_kanan_maju = 0
Motor_kanan_mundur = 1
End If
Else
If Ldr_kanan = 0 Then
‘belok kiri
Motor_kiri_maju = 0
Motor_kiri_mundur = 1
Motor_kanan_maju = 1
Motor_kanan_mundur = 0
Else
‘Maju
Motor_kiri_maju = 1
Motor_kiri_mundur = 0
Motor_kanan_maju = 1
Motor_kanan_mundur = 0
End If
End If
Loop
Goto Main
End
B. CODE VISION
/*****************************************************
This program was produced by the
CodeWizardAVR V2.03.4 Standard
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 3/4/2011
Author :
Company :
Comments:
Chip type : ATmega8535L
Program type : Application
Clock frequency : 7.372800 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 128
*****************************************************/
#include <mega8535.h>
// Declare your global variables here
#define ldr_kanan PINA.0
#define ldr_kiri PINA.1
#define ddr_ldr_kanan DDRA.0
#define ddr_ldr_kiri DDRA.1
#define motor_kanan_maju PORTC.0
#define motor_kanan_mundur PORTC.1
#define motor_kiri_maju PORTC.2
#define motor_kiri_mundur PORTC.3
#define ddr_motor_kanan_maju DDRC.0
#define ddr_motor_kanan_mundur DDRC.1
#define ddr_motor_kiri_maju DDRC.2
#define ddr_motor_kiri_mundur DDRC.3
void main(void)
{
ddr_ldr_kanan=0;
ddr_ldr_kiri=0;
ddr_motor_kanan_maju=1;
ddr_motor_kanan_mundur=1;
ddr_motor_kiri_maju=1;
ddr_motor_kiri_mundur=1;
ACSR=0x80;
SFIOR=0x00;
while (1){
motor_kanan_maju=0;
motor_kanan_mundur=0;
motor_kiri_maju=0;
motor_kiri_mundur=0;
if (ldr_kiri==0){
if (ldr_kanan==0){
continue;
}else
{
//belok kanan
motor_kiri_maju = 1;
motor_kiri_mundur = 0;
motor_kanan_maju = 0;
motor_kanan_mundur = 1;
}
}else
{
if (ldr_kanan == 0){
//’belok kiri
motor_kiri_maju = 0;
motor_kiri_mundur = 1;
motor_kanan_maju = 1;
motor_kanan_mundur = 0;
}
else
{
//’Maju
motor_kiri_maju = 1;
motor_kiri_mundur = 0;
motor_kanan_maju = 1;
motor_kanan_mundur = 0;
}
}
};
}
Selamat Mencoba ya kawan-kawan..!!!!
1 comment:
Semoga Bermanfaat buat Temen2!!!
Post a Comment