Autonomous Robot Pembuang Sampah Otomatis Berbasis Mikrokontroler Atmega 8

58

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


Jenis Kelamin

: Laki-Laki

Nomor Hp

: 081285333101

Email

: [email protected]

RiwayatPendidikan
1997 – 2003

: SD Negeri 04 Perbesi

2003 – 2006


: SMP Negeri 2Tigabinanga

2006 – 2009

: SMKPenerbanganMedan

2011 – Sekarang

: S1 IlmuKomputerUniversitas Sumatera Utara, Medan

Keahlian
Bahasa

: Indonesia, Inggris

BahasaPemrograman : C#
Multimedia

: Adobe Flash


Design

: Photoshop

Perkantoran

: Microsoft Office, Microsoft Excel

Pengalaman Bekerja
2010

: Praktik Kerja PT Garuda Maintenance Facility (GMF)

2014

: Praktik Kerja Lapangan di Kantor Gubernur Sumatra Utara

Seminar
2014


: Seminar NasionalLiterasiInformasi “SENARAI”

Universitas Sumatera Utara

59

LAMPIRAN A : LISTING PROGRAM MIKROKONTROLER

#include
#include
#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;
delay_us(35);
PORTD.0 = 0;

//
// send start pulse
//

Universitas Sumatera Utara


60

TCNT1=0;

//reset counter

while (PIND.1 == 0){};

TCCR1B=0x02;

// wait for return pulse

// start timer (timer period = 2uS)

while ((PIND.1 == 1) && !(TIFR & 0x80));
TCCR1B=0x00;

// timing the return pulse

// 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){};

TCCR1B=0x02;

// wait for return pulse

// start timer (timer period = 2uS)

while ((PIND.3 == 1) && !(TIFR & 0x80));
TCCR1B=0x00;

// timing the return pulse

// stop timer

FRONT = TCNT1/8;
}

void Read_RSensor(void) //rutin baca sensor ping

{

PORTD.6 = 1;
delay_us(35);

//

// send start pulse

Universitas Sumatera Utara

61

PORTD.6 = 0;

//

TCNT1=0;

//reset counter


while (PIND.7 == 0){};

TCCR1B=0x02;

// wait for return pulse

// start timer (timer period = 2uS)

while ((PIND.7 == 1) && !(TIFR & 0x80));
TCCR1B=0x00;

// timing the return pulse

// stop timer

RIGHT = TCNT1/8;
}

void maju(void)

{for(i=0;i 150){
s = 2;maju();
t++;
if(t==2){Read_FSensor();if(FRONT < 150){Read_FSensor();} t=0;}
}

Universitas Sumatera Utara

66

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);

}
}

Universitas Sumatera Utara