• Tidak ada hasil yang ditemukan

BAB IV HASIL DAN PEMBAHASAN

4.2. Pengamatan Sistem

4.2.6. Pengujian ADC

Pengujian yang dilakukan untuk mengetahui apakah alat dapat bekerja dengan baik dalam mengukur suhu atau tidak. Pengujian pertama adalah pengujian ADC internal ATMEGA8535, yang dilakukan dengan cara memberikan tegangan masukan pada pin masukan ADC. Tegangan masukan yang diberikan ini dibatasi dengan tegangan maksimal adalah tegangan referensi internal ADC, yaitu 2,5v (hasil pengukuran). Besarnya nilai tegangan masukan ini kemudian akan disimpan di EEPROM ATMEGA8535, dan nilai

yang tersimpan di dalam EEPROM ATMEGA8535 inilah yang kemudian dibandingkan dengan tegangan masukan. Dan hasil pengujiannya dapat dilihat pada table 4.6.

Tabel 4.6 Perbandingan Tegangan Masukan dan Data di Memori Tegangan Masukan ADC

(volt) Data di Memori Selisih Data

0 0.068 0.068 nilai tegangan masukan dengan nilai yang tersimpan pada EEPROM ATMEGA8535, yang mana rata-rata selisihnya adalah 0,0686. Yang berarti setiap tegangan masukan yang diterima, ADC akan membaca nilai tersebut dan ditambahkan 0.0686.

Pada pengujian ADC yang dilakukan selanjutnya adalah mengukur tegangan keluaran dari LM35 dan membandingkan dengan suhu yang terukur.

Tabel 4.7 Perbandingan Data Suhu dan Tegangan Keluaran LM35 Suhu

Dari hasil pengujian antara suhu yang terdeteksi dengan tegangan keluaran dari LM35 tersebut dapat dilihat bahwa LM35 bekerja sesuai dengan dasar teori, yaitu perubahan suhu setiap 1°C sama dengan perubahan tegangan sebesar 10mv.

Setelah menguji setiap bagian, langkah selanjutnya adalah mengukur suhu menggunakan LM35 yang langsung terhubung dengan sistem, dimana sistem akan menyimpan data suhu ke dalam EEPROM ATMEGA8535. Data di dalam EEPROM ATMEGA8535 tersebut kemudian dibandingkan dengan suhu yang terukur menggunakan thermometer dan juga tegangan keluaran LM35 yang diukur menggunakan multimeter.

Hasil pengujian yang dilakukan menggunakan thermometer dan multimeter dapat dilihat pada tabel 4.8 berikut ini.

Tabel 4.8 Perbandingan Antara Data Tersimpan dan Data Terukur Data Suhu Tersimpan

(°C)

Data Suhu Terukur (°C)

38.7 31

41.75 35

49 42

56.75 50

70.5 63

86.75 80

103.5 96

121.5 115

135.75 128

141 134

Jika dari semua data suhu yang tersimpan di EEPROM ATMEGA8535 dikurangi dengan nilai 0.0686 (volt) atau 6,86 (°C), kemudian dilihat selisihnya dengan suhu sebenarnya, maka diperoleh data bahwa kemungkinan perbedaan suhu terukur dan suhu tersimpan sebesar 1°C.

KESIMPULAN

Dari pembahasan dan pengujian dari alat yang telah dibuat berdasarkan hasil rancangan, maka pada bab ini dapat diambil kesimpulan dan beberapa saran yang berguna untuk pengembangan alat.

5.1 Kesimpulan

1. Pemilihan mode penguncian pintu otomatis atau manual yang dipengaruhi indikator kunci mobil dapat berjalan dengan baik.

2. Reed switch yang digunakan sebagai sensor pintu dapat mendeteksi buka dan tutup pintu dengan baik.

3. Rangkaian timer eksternal astable timer 555 dapat memberikan keluaran yang baik, kecuali untuk keluaran T

H

= 15s karena proses pengisian dan pengosongan yang berjalan dengan tidak sempurna.

4. Selisih waktu pada indikator keamanan yang menggunakan timer internal tidak bekerja sesuai dengan perancangan.

5. Data ADC yang tersimpan di EEPROM ATMEGA8535 selisih maksimal 1ºC.

5.2 Saran

Pengembangan lebih lanjut pada alat ini dapat dilakukan dengan lebih mengaplikasikan dan menyesuaikan pada perangkat mobil dalam keadaan yang sesungguhnya.

Pemahaman dalam hal penggunaan timer internal sangat membantu keberhasilan dalam

pembuatan alat ini. Selain itu, salah satu faktor keberhasilan dalam pembuatan suatu alat

terletak pada komponen alat yang sesuai dengan perancangan, kesesuaian ini dapat diperoleh

dengan melakukan pengukuran awal komponen.

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma : Nama : Thomas Joko Lelana

Nomor Mahasiswa : 045114064

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universi-tas Sanata Dharma karya ilmiah saya yang berjudul :

PENGENDALI UTAMA CAR IMMOBILIZER DENGAN RFID BERBASIS ATMEGA8535

beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, me-ngalihkan dalam ben-tuk media lain, mengelolanya dalam benben-tuk pangkalan data, mendistribusikan secara terba-tas, dan mempublikasikannya di Internet atau media lain untuk kepentingan akademis tan-pa perlu meminta ijin dari saya maupun memberikan royalti ketan-pada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini yang saya buat dengan sebenarnya.

Dibuat di Yogyakarta

Pada tanggal : 9 Maret 2010 Yang menyatakan

( Thomas Joko Lelana)

LAMPIRAN

Perbandingan Data Tegangan Masukan dan Data ADC Tersimpan

Tegangan masuk 0 V

Data tersimpan 07 0 = 0000 0111 0000 = 0000 0111 00 xx = 28

= 2.5

1024 28 x

 

= 0.068

Tegangan masuk 0.72 V

Data tersimpan 50 C = 0101 0000 1100 = 0101 0000 11 xx = 323

= 2.5

1024 323 x

 

= 0.788 Data ADC yang tersimpan

Data ADC yang tersimpan

Tegangan 1v = 1.074

Data tersimpan 6E 0 = 0110 1110 0000 = 0110 1110 00 xx = 440

= 2.5

1024 440 x

 

= 1.074

Tegangan 1.20v + 1.267

Data tersimpan 81 C = 1000 0001 1100 = 1000 0001 11 xx = 28

= 2.5

1024 519 x

 

= 1.267 Data ADC yang tersimpan

Data ADC yang tersimpan

Tegangan 1.846

Data tersimpan C1 C = 1100 0001 1100 = 1100 0001 11 xx = 28

= 2.5

1024 775x

 

= 1.892

Perbandingan Data Suhu Terukur dan Data ADC Tersimpan

Saat Suhu = 31°C

26 C = 0010 0110 1100 = 0010 0110 11 xx = 155

56 . 1024 2

155 x

Vinput

 



387 . 0

Vinput v = 38.7°C Data ADC yang tersimpan Data ADC yang tersimpan

Saat Suhu = 35°C Data ADC yang tersimpan Data ADC yang tersimpan

Saat Suhu = 50°C Data ADC yang tersimpan

Data ADC yang tersimpan

Saat Suhu = 80°C Data ADC yang tersimpan

Data ADC yang tersimpan

Saat Suhu = 115°C Data ADC yang tersimpan

Data ADC yang tersimpan

Saat Suhu = 134°C

8D 0 = 1000 1101 0000 = 1000 1101 00 xx = 564

56 . 1024 2

564 x

Vinput

 



41 . 1

Vinput v = 141°C Data ADC yang tersimpan

Listing Program

//==================================================

//

// File Name : '1-1'

// Title : ATmega 8535 in Car Immobilizer RFID // Author : Thomas Jangis

// Created : 2009-06-04 // Revision : 2009-03-02

// Target MCU : Atmel AVR ATMEGA8535 //

//==================================================

#include <avr/io.h>

#include <avr/eeprom.h>

#include <avr/interrupt.h>

#include <compat/deprecated.h>

#include <inttypes.h>

#include <stdio.h>

#include <util/delay.h>

//

volatile unsigned char counter_ind=0;

volatile unsigned char var_indi;

volatile unsigned char sta_rfid, sta_ind=0;

volatile unsigned char rfid;

volatile unsigned int sta_mode=0;

volatile unsigned int sta_maling=0;

volatile unsigned long int baca_adc1=0, baca_adc2=0;

volatile unsigned char data_adc1=0, data_adc2=0;

volatile unsigned int alamat=0;

//=========================================================

// init timer internal void timer_init(void) {

TCCR0|=(0<<WGM01)|(0<<WGM00)|(0<<COM01)|(0<<COM00)|(1<<

CS02)|(0<<CS01)|(1<<CS00);

TCNT0=0X3C;

TIMSK=(0<<OCIE0)|(1<<TOIE0);

TIFR=0x00;

}

//interupsi timer internal ISR (TIMER0_OVF_vect) {

if (sta_ind==1) {

TCNT0=0XB1;

sbi(PORTC,0);

if (counter_ind<20) {

counter_ind++;

//

if (counter_ind>=10)

{cbi(PORTC,0);}

else if (counter_ind<10) {sbi(PORTC,0);}

}

else if (counter_ind>=20) {counter_ind=0;}

}

else if (sta_ind==0) {

cbi(PORTC,0);

} }

// INIT DELAY void delay_ms(int ms) {

for (int i=0; i<=ms;i++) {

_delay_ms(1);

};

}

// INIT ADC void adc_init(void) {

ADMUX=(1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(0<<MU X2)|(0<<MUX1)|(0<<MUX0);

ADCSRA=(1<<ADEN)|(1<<ADSC)|(1<<ADATE);

}

// BACA RFID void baca(void) {

sta_rfid=0; //nilai awal status rfid //

if(bit_is_set(PIND,7)) //baca RFID signal {

delay_ms (100); //tunda utk memastikan if(bit_is_set(PIND,7)) //uji ulang

{ sta_rfid = 1; //jika on, status=1 } }

//kesimpulan if (sta_rfid==1) { rfid=1; } else

{ rfid=0; } }

// MODE ALERT void alert(void) {

sta_ind=1;

sei();

if ((sta_mode==0) | (sta_mode==1))

{

sta_mode=2;

sbi(PORTC,5); // buzzer sbi(PORTC,6); // hazard delay_ms(400);

cbi(PORTC,5);

cbi(PORTC,6);

}

cbi(PORTC,7); // ig_sw mati sbi(PORTC,1); // pintu1 tutup sbi(PORTC,2); // pintu2 tutup sbi(PORTC,3); // pintu3 tutup sbi(PORTC,4); // pintu4 tutup //

// cek sensor pintu

if ((bit_is_set(PINB,0)) | (bit_is_set(PINB,1)) | (bit_is_set(PINB,2)) | (bit_is_set(PINB,3)))

{

sbi(PORTC,6); // hazard sbi(PORTC,5); // Alarm sta_maling=1;

//sbi(PORTD,6); // lampu ruang nyala }

}

// MODE NON ALERT void non_alert(void) {

sta_ind=0;

sei();

//cbi(PORTC,0); // mati indikator if (sta_maling==1)

{

sta_maling=0;

cbi(PORTC,5); // matikan Alaram cbi(PORTC,6); // matikan hazard cbi(PORTD,6); //lampu ruang padam }

if ((sta_mode==0) | (sta_mode==2)) {

sta_mode=1;

sbi(PORTC,5); // buzzer sbi(PORTC,6); // hazard

//sbi(PORTD,6); // lampu ruang nyala delay_ms(200);

cbi(PORTC,5);

cbi(PORTC,6);

} //

//POSISI kunci mobil

if(bit_is_clear(PIND,5)) // cek kunci starter {

//AUTOMATIC OPERATION

//================================================

//cek orang yg mengunci pintu

eeprom_write_byte(1,0); // memberi nilai nol pada alamat 1 eeprom_write_byte(0,0); // memberi nilai nol pada alamat 1 if(bit_is_set(PINA,1))

{ sbi(PORTC,1); }

if(bit_is_set(PINA,2))

{ sbi(PORTC,2); }

if(bit_is_set(PINA,3))

{ sbi(PORTC,3); }

if(bit_is_set(PINA,4))

{ sbi(PORTC,4); }

//cek pintu ada yang tertutup?

if ((bit_is_set(PINC,1)) | (bit_is_set(PINC,2)) | (bit_is_set(PINC,3)) | (bit_is_set(PINC,4)))

{ delay_ms(200); } //kalau tdk ada masalah

cbi(PORTC,1); // pintu1 buka cbi(PORTC,2); // pintu2 buka cbi(PORTC,3); // pintu3 buka cbi(PORTC,4); // pintu4 buka }

else {

//MANUAL OPERATION

//================================================

if(bit_is_set(PINA,1)) // PINTU 1

{ sbi(PORTC,1); }

else if(bit_is_clear(PINA,1))

{ cbi(PORTC,1); }

if(bit_is_set(PINA,2)) //PINTU 2

{ sbi(PORTC,2); }

else if(bit_is_clear(PINA,2))

{ cbi(PORTC,2); }

if(bit_is_set(PINA,3)) // PINTU 3

{ sbi(PORTC,3); }

else if(bit_is_clear(PINA,3))

{ cbi(PORTC,3); }

if(bit_is_set(PINA,4)) //PINTU 4

{ sbi(PORTC,4); }

else if(bit_is_clear(PINA,4))

{ cbi(PORTC,4); }

//

//Akses ADC

//baca ADC 10 bit baca_adc1= ADCW;

if(baca_adc1 > baca_adc2)

{

baca_adc2 = baca_adc1;

data_adc1 = ADCH;

data_adc2 = ADCL;

eeprom_write_byte((unsigned char *)0,data_adc1);

eeprom_write_byte((unsigned char *)1,data_adc2);

} }

//================================================

sbi(PORTC,7); // ig_sw nyala }

int main(void) {

//inisialisasi

PORTA=0XFF;

DDRA=0X00;

PORTB=0XFF;

DDRB=0X00;

DDRD=0x02;

PORTD=0xF7;

DDRC=0xFF;

PORTC=0x00;

sta_mode=0;

sta_maling=0;

//panggil adc

adc_init();

timer_init();

//loop truz while(1) {

baca(); //baca RFID if (rfid==1)

{ non_alert(); } else if(rfid==0)

{ alert(); } }

return(0);

}

Dokumen terkait