• Tidak ada hasil yang ditemukan

Autonomous Robot Pembuang Sampah Otomatis Berbasis Mikrokontroler Atmega 8

N/A
N/A
Protected

Academic year: 2017

Membagikan "Autonomous Robot Pembuang Sampah Otomatis Berbasis Mikrokontroler Atmega 8"

Copied!
9
0
0

Teks penuh

(1)

CURRICULUM VITAE

Data Diri

Nama : AndrioSaktiSebayang

Tempat/Tanggal Lahir : Medan, 30 September 1991

AlamatSekarang :Jl. JaminGintingSpParang 2 Medan Alamat Orang Tua :Perbesi, Jl. Kota Cane

Agama : Kristen Protestan 2003 – 2006 : SMP Negeri 2Tigabinanga

2006 – 2009 : SMKPenerbanganMedan

2011 – Sekarang : S1 IlmuKomputerUniversitas Sumatera Utara, Medan

Keahlian

2010 : Praktik Kerja PT Garuda Maintenance Facility (GMF) 2014 : Praktik Kerja Lapangan di Kantor Gubernur Sumatra Utara

Seminar

(2)

LAMPIRAN A : LISTING PROGRAM MIKROKONTROLER

#include <mega8.h> #include <delay.h>

#define ADC_VREF_TYPE 0x00 // Read the AD conversion result

unsigned int read_adc(unsigned char adc_input) {

ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);

// Delay needed for the stabilization of the ADC input voltage delay_us(10);

// Start the AD conversion ADCSRA|=0x40;

// Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0);

ADCSRA|=0x10; return ADCW; }

unsigned int IR, RIGHT,FRONT,LEFT,i,s,t;

void Read_LSensor(void) //rutin baca sensor ping { PORTD.0 = 1; //

(3)

TCNT1=0; //reset counter

while (PIND.1 == 0){}; // wait for return pulse

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((PIND.1 == 1) && !(TIFR & 0x80)); // timing the return pulse TCCR1B=0x00; // stop timer

LEFT = TCNT1/8; }

void Read_FSensor(void) //rutin baca sensor ping { PORTD.2 = 1; //

delay_us(35); // send start pulse PORTD.2 = 0; //

TCNT1=0; //reset counter

while (PIND.3 == 0){}; // wait for return pulse

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((PIND.3 == 1) && !(TIFR & 0x80)); // timing the return pulse TCCR1B=0x00; // stop timer

FRONT = TCNT1/8; }

void Read_RSensor(void) //rutin baca sensor ping { PORTD.6 = 1; //

(4)

PORTD.6 = 0; //

TCNT1=0; //reset counter

while (PIND.7 == 0){}; // wait for return pulse

TCCR1B=0x02; // start timer (timer period = 2uS)

while ((PIND.7 == 1) && !(TIFR & 0x80)); // timing the return pulse TCCR1B=0x00; // stop timer

RIGHT = TCNT1/8; }

void maju(void) {for(i=0;i<s;i++){

PORTB.1 =1;PORTB.3 =1;delay_ms(15);PORTB.1 =0;PORTB.3 =0;delay_ms(10); }}

void mundur(void) {for(i=0;i<s;i++){

PORTB.0=1;PORTB.2 =1;delay_ms(15);PORTB.0 =0;PORTB.2 =0;delay_ms(10); }}

void kiri(void) {for(i=0;i<s;i++){

(5)

void kanan(void) {for(i=0;i<s;i++){

PORTB.1 =1;delay_ms(15);PORTB.1 =0;delay_ms(10); }}

void putar_kiri(void) {for(i=0;i<s;i++){

PORTB.0 =1;PORTB.3 =1;delay_ms(15);PORTB.0 =0;PORTB.3 =0;delay_ms(10); }}

void putar_kanan(void) {for(i=0;i<s;i++){

PORTB.1 =1;PORTB.2 =1;delay_ms(15);PORTB.1 =0;PORTB.2 =0;delay_ms(10); }}

void maju_lurus(void){ FRONT = 200;

while (FRONT > 160){ Read_RSensor();

if (RIGHT < 100){s = 10;kiri();s = 15;maju();}

if (RIGHT > 150){s = 10;kanan();s = 15;maju();} s = 3;maju();

t++;

(6)

} }

void maju_balik(void){ FRONT = 220;

while (FRONT > 200){ Read_RSensor();

if (RIGHT < 100){s = 10;kiri();s = 15;maju();}

if (RIGHT > 220){s = 10;kanan();s = 15;maju();} s = 3;maju();

t++;

if(t==2){ Read_FSensor();if(FRONT < 200){Read_FSensor();} t=0;} }

}

void main(void)

{

// Input/Output Ports initialization // Port B initialization

(7)

DDRB=0xFF;

// Port C initialization PORTC=0xFF; DDRC=0x00;

// Port D initialization PORTD=0xBA; DDRD=0x75;

// ADC initialization

// ADC Clock frequency: 691.200 kHz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84;

delay_ms(1000);

while (1) {IR = 0;

x: while(IR < 800){IR = read_adc(5);delay_ms(10);} delay_ms(1500);

IR = read_adc(5); if(IR < 800)

{PORTD.4=0;PORTD.5=0;delay_ms(5000);PORTD.4=1;PORTD.5=1; goto x; }

(8)

delay_ms(500);

if(t==2){Read_FSensor();if(FRONT < 300){Read_FSensor();} t=0;} }

(9)

delay_ms(500); s = 39;putar_kanan(); delay_ms(500); s = 80;maju(); maju_balik();

delay_ms(500); s = 40;putar_kanan(); delay_ms(500); s = 40; mundur();

delay_ms(1000);

}

Referensi

Dokumen terkait

TGT berhasil meningkatkan skill-skill dasar , pencapaian, interaksi positif antar siswa, harga diri dan sikap penerimaan pada siswa-siswa lain yang berbeda [6].

[r]

[r]

Adapun hasil keputusannya adalah se bagai berikut 6 :(a) Penentuan awal bulan qa ma- riyah didasarkan pada sistem hisab hakiki tahkiki dan atau rukyah, (b) Penentuan awal

[r]

Wacana masyarakat madani yang sudah menjadi arus utama dewasa ini, baik di lingkungan masyarakat, pemerintah, dan akademisi, telah mendorong berbagai kalangan untuk memikirkan,

Ario Wirawan Salatiga sebagai Rumah Sakit Khusus yang memberikan pelayanan kesehatan paru.. secara komprehensip, meliputi Promotif, Preventif, Kuratif,

Model ini berkaitan dengan penelitian dengan pihak 7-Eleven sebagai komunikator memberikan stimulus-stimulus kepada pelanggan dalam hal pelayanan dengan berbagai bentuk,