Escolar Documentos
Profissional Documentos
Cultura Documentos
Abstrak:
Pada aplikasi kali ini, dibuat robot yang bergerak menuju kepada cahaya
yang paling terang yang mengenai permukaan rangka robot. Sensor yang
digunakan untuk mengukur level kecerahan cahaya adalah LDR, light
dependent resistor, yang terpasang di tiga titik rangka robot (lihat disain
mekanik). Metode yang digunakan adalah membandingkan nilai tegangan
keluaran dari rangkaian LDR yang adalah representasi dari level
kecerahan cahaya, kemudian robot akan menuju ke titik sensor LDR yang
menerima level kecerahan cahaya terbesar.
Disain Mekanik:
Zona deteksi robot dibagi menjadi 4 bagian: sisi depan, sisi kanan, sisi
belakang, dan sisi kiri.
Tiap zona dibagi lagi menjadi 3 segmen pemantauan sesuai dengan
jumlah sensor.
Robot akan mencari cahaya sampai robot mencapai titik yang memiliki
tingkat kecerahan yang lebih dari atau sama dengan batas kecerahan
yang telah ditetapkan di program sebelumnya.
Robot akan berhenti pula jika tidak mendapatkan perbedaan tingkat
kecerahan cahaya di 4 zona deteksi di mana di tiap zona tingkat
kecerahan berada di bawah batas gelap.
Jika dari 3 segmen dalam satu zona deteksi memiliki kecerahan yang
sama, maka robot akan bergerak ke arah depan, dengan skala prioritas;
depan-kanan-kiri.
Flowchart:
1. BASCOM:
$regfile = m8535.dat
$crystal = 11059200
Config Adc = Single , Prescaler = Auto
Start Adc
Dim Adc_kanan As Word
Dim Adc_kiri As Word
Dim Adc_tengah As Word
Chanel_kanan Alias 0
Chanel_kiri Alias 1
Chanel_tengah Alias 2
Motor_kanan Alias Portc.0
Motor_kiri Alias Portc.1
Config Motor_kanan = Output
Config Motor_kiri = Output
Do
Adc_kanan = Getadc(chanel_kanan)
Adc_kiri = Getadc(chanel_kiri)
Adc_tengah = Getadc(chanel_tengah)
Motor_kanan = 0
Motor_kiri = 0
Waitms 100
Loop
End
/*****************************************************
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 : 28/04/2011
Author :
Company :
Comments:
#include <mega8535.h>
#include <delay.h>
#define chanel_ldr_kanan 0
#define chanel_ldr_kiri 1
#define chanel_ldr_tengah 2
void main(void)
{
unsigned int adc_kanan, adc_tengah, adc_kiri;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC Clock frequency: 691,200 kHz
// ADC Voltage Reference: AREF pin
// ADC High Speed Mode: Off
// ADC Auto Trigger Source: None
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;
ddr_motor_kanan=1;
ddr_motor_kiri=1;
while (1)
{
// Place your code here
adc_kanan=read_adc(chanel_ldr_kanan);
adc_kiri=read_adc(chanel_ldr_kiri);
adc_tengah=read_adc(chanel_ldr_tengah);
motor_kanan=0;
motor_kiri=0;
};
}