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