Akuisisi Data Pada Slot Reader Menggunakan Komputer Untuk Memonitor.

(1)

i Universitas Kristen Maranatha

AKUISISI DATA PADA SLOT READER MENGGUNAKAN

KOMPUTER UNTUK MEMONITOR

Disusun Oleh: Ary kashogy

0622066

Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : arykashogy_3688@yahoo.com

ABSTRAK

Akuisisi data merupakan cara memperoleh informasi untuk diolah lebih lanjut. Contoh akuisisi data yang dilakukan di perkantoran atau perhotelan adalah dengan mengumpulkan data – data keluar atau masuk pengunjung untuk keperluan evaluasi dan monitor.

Tugas akhir ini merealisasikan sistem akuisisi data pada slot reader dengan mengunakan komputer untuk memonitor. Data pada slot reader dikirimkan ke AVR ATMEGA16(sebagai slave) untuk diolah dan dikirimkan melalui RS 232 ke konverter RS232 ke RS 485. Hasil keluaran konverter ini dibuat topologi bus berupa koneksi pararel dengan konverter RS485 ke RS232.

Bus ini juga dihubungkan ke komputer (sebagai master) melalui RS232 dari

konverter RS 485 ke RS 232, sehingga data dari bus dapat dibaca oleh komputer Hasil pengujian yang dilakukan pada tugas akhir ini menunjukkan semua data yang dikirimkan dari pengontrol mikro AVR ATMEGA 16 berhasil diterima oleh komputer dan hasil tampilannya berupa informasi ID pengontrol, ID card, status ID, masuk/keluar pintu, dan waktu saat akuisisi.

Kata kunci: akuisisi, AVR ATMEGA16, konverter RS 232 to RS 485, topologi jaringan, antarmuka.


(2)

ii Universitas Kristen Maranatha

DATA ACQUISITION AT SLOT READER USING

COMPUTER FOR MONITORING

Composed by: Ary kashogy

0622066

Electrical Engineering, Maranatha Christian University, Jl. Prof.Drg.Suria Sumantri, MPH no.65, Bandung, Indonesia,

email : arykashogy_3688@yahoo.com

ABSTRACT

Data acquisition is a way to obtain information to be processed further. Examples of data acquisition performed in an office or hotel is to collect data enter or exit of visitors for the purposes of evaluation and monitoring.

This final project is to realize the system of data acquisition on the slot reader using the computer of monitoring. The data on slot reader is send to AVR

ATMEGA16(as slave) to be processed and delivered through RS 232 to

converter of RS 232 to RS 485. The result of this output converter is made bus topology in the form of parallel connection with converter of RS 485 to RS 232. This Bus also connected to computer ( as master) passing RS 232 from converter of RS 485 to RS 232, so that data from bus can be read by computer.

The result of the experiment in this final project is to show all data send from microcontroller AVR ATMEGA 16 successfully received by the computer and the appearance is the controller ID information, ID cards, state ID, entry / exit door, and when the time of acquisition.

Keywords: acquisition, AVR ATMEGA16, converter RS 232 to RS 485, network topology, interface.


(3)

v Universitas Kristen Maranatha DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ...iii

DAFTAR ISI ... v

DAFTAR LAMPIRAN ... viii

DAFTAR TABEL ... ix

DAFTAR GAMBAR... x

BAB I PENDAHULUAN ... 1

I.1 LATAR BELAKANG ... 2

I.2 PERUMUSAN MASALAH ... 2

I.3 TUJUAN ... 2

I.4 PEMBATASAN MASALAH ... 2

I.5 METODOLOGI ... 2

I.6 SPESIFIKASI ALAT ... 2

I.7 SISTEMATIKA PENULISAN ... 3

BAB II LANDASAN TEORI ... 5

II.1 RFID ... 5

II.2 SLOT READER ... 6

II.3 KEYPAD ... 8

II.4 MIKROKONTROLER ... 9

II.4.1 MIKROKONTROLER ATMEGA16 ... 9

II.4.1.1 STRUKTUR ATMEGA16 ... 10

II.4.1.2 REGISTER DAN MEMORI ATMEGA16 ... 15

II.4.1.3 PORT INPUT/OUTPUT ATMEGA16... 16

II.5 KOMUNIKASI USART... 17

II.5.1 KOMUNIKASI SERIAL RS232 ... 18

II.5.2 KOMUNIKASI SERIAL RS485 ... 18

II.6 TOPOLOGI JARINGAN... 19


(4)

vi Universitas Kristen Maranatha

II.6.2 TOPOLOGI BINTANG ... 20

II.6.3 TOPOLOGI CINCIN ... 20

II.6.4 TOPOLOGI MESH ... 21

II.7 MICROSOFT VISUAL BASIC... 21

BAB III PERANCANGAN DAN REALISASI ... 25

III.1 PERANCANGAN SISTEM AKUISISI DATA ... 25

III.1.1 DIAGRAM BLOK SISTEM AKUSISI DATA ... 25

III.2 PERANCANGAN DAN REALISASI SISTEM AKUISISI DATA ... 27

III.2.1 PERANCANGAN DAN REALISASI PENGONTROL MIKRO ... 28

III.2.1.1 ALGORITMA MIKROKONTROL AVR ATMEGA16 ... ... 31

III.2.1.2 ANTARMUKA MIKROKONTROL AVR ATMEGA16 ... 37

III.2.2 PERANCANGAN DAN REALISASI KONVERTER RS232 KE RS485 ... 37

III.2.3 PERANCANGAN DAN REALISASI PENGAKUISISI DATA PADA KOMPUTER ... 40

III.2.3.1 ALGORITMA PROGRAM MICROSOFT VISUAL BASIC ... 43

BAB IV DATA PENGAMATAN DAN ANALISA... 48

IV.1 PENGUJIAN VALIDASI DATA ... 48

IV.1.1 PENGUJIAN VALID DATA ... 48

IV.1.1.1 PENGUJIAN MENGGUNAKAN RFID ... 48

IV.1.1.2 PENGUJIAN MENGGUNAKAN KEYPAD ... 49

IV.1.2 PENGUJIAN INVALID DATA ... 50

IV.1.2.1 PENGUJIAN INVALID ID DAN PASSWORD... 50

IV.1.2.2 PENGUJIAN INVALID ID ... 51

IV.1.2.3 PENGUJIAN INVALID PASSWORD ... 53

IV.2 PENGUJIAN PADA MENU ... 53


(5)

vii Universitas Kristen Maranatha

IV.2.2 SET PASSWORD ... 54

IV.3 PENGUJIAN PENGIRIMAN DATA BERSAMAAN ... 56

IV.4 PENGUJIAN KONVERTER... 57

IV.5 PENGUJIAN VISUAL BASIC ... 64

IV.5.1 TAMPILAN USER INTERFACE PADA VISUAL BASIC ... 64

IV.5.2 LIHAT DATA ... 65

IV.5.3 HAPUS DATA ... 66

IV.5.4 PENYIMPANAN AKUISISI DATA ... 67

BAB V KESIMPULAN DAN SARAN ... 69

V.1 KESIMPULAN ... 69

V.2 SARAN ... 69


(6)

viii Universitas Kristen Maranatha DAFTAR LAMPIRAN

LAMPIRAN A

List Program Code Vision ATMEGA16 ... A-1 List Program Visual Basic ... A-11 LAMPIRAN B

Skematik Pengontrol Mikro AVR ATMEGA 16 ... B-1 Skematik Konverter RS 232 ke RS 485 dan Sebaliknya ... B-2 LAMPIRAN C

Foto Sistem Akuisisi ... C-1 Foto Pengontrol Mikro AVR ATMEGA16 ... C-2 Foto Konverter RS 232 ke RS 485 dan Sebaliknya ... C-3 LAMPIRAN D

Datasheet ATMEGA16 ... D-1 Datasheet MAX232 ... D-6 Datasheet MAX485 ... D-13


(7)

ix Universitas Kristen Maranatha DAFTAR TABEL

Tabel 2.1 Fungsi Khusus Port B ATMEGA16 ... 12

Tabel 2.2 Fungsi Khusus Port C ATMEGA16 ... 12

Tabel 2.3 Fungsi Khusus Port D ATMEGA16 ... 13

Tabel 2.4 Konfigurasi Port ATMEGA16 ... 16

Tabel 3.1 Format Data Antar PORT ... 28

Tabel 3.2 Format Data dari Pengontrol ... 29

Tabel 4.1 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 20m ... 58

Tabel 4.2 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 20m ... 59

Tabel 4.3 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 40m ... 60

Tabel 4.4 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 40m ... 61

Tabel 4.5 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 60m ... 62

Tabel 4.6 Hasil Pengukuran Tegangan Pada Osiloskop dengan Jarak Kabel RS485 Sejauh 60m ... 63


(8)

x Universitas Kristen Maranatha DAFTAR GAMBAR

Gambar 2.1 Rangkaian Dasar RFID Reader dan RFID Tag ... 5

Gambar 2.2 Diagram Blok IC pada RFID Tag ... 6

Gambar 2.3 ID card dan Slot reader ... 7

Gambar 2.4 Pembacaan Pita Kaset menggunakan Tape Head ... 7

Gambar 2.5 Hubungan Baris dan Kolom pada Keypad 16 Buah Tombol ... 8

Gambar 2.6 Chip ATMEGA16 ... 10

Gambar 2.7 Konfigurasi Pin ATMEGA16 ... 11

Gambar 2.8 Blok Diagram ATMEGA16 ... 14

Gambar 2.9 Register ATMEGA16 ... 15

Gambar 2.10 Pemetaan Memori ATMEGA16 ... 15

Gambar 2.11 Kemasan Data Seri Asinkrom ... 17

Gambar 2.12 Level Tegangan pada Komunikasi Serial RS232 ... 18

Gambar 2.13 Level Tegangan TTL ... 18

Gambar 2.14 Level Tegangan High pada Komunikasi Serial RS485 ... 19

Gambar 2.15 Level Tegangan low pada Komunikasi Serial RS485 ... 19

Gambar 2.16 Topologi Bus ... 20

Gambar 2.17 Topologi Bintang ... 20

Gambar 2.18 Topologi Cincin ... 20

Gambar 2.19 Topologi Mesh Network ... 21

Gambar 2.20 Tampilan New Project ... 21

Gambar 2.21 Tampilan Dasar MS Visual Basic 6.0 ... 22

Gambar 3.1 Diagram Blok Sistem Akuisisi Data ... 25

Gambar 3.2 Skematik Pengontrol Mikro AVR ATMEGA16 ... 30

Gambar 3.3 Algoritma untuk Modul AVR Penerima Scan Data dari RFID ... 32

Gambar 3.4 Algoritma Tampilan Awal Modul AVR1x(x=1,2,3) ... 33

Gambar 3.5 Algoritma Input ID dari Keypad atau RFID beserta Proses Pencocokan ID dan Password ... 34


(9)

xi Universitas Kristen Maranatha

Gambar 3.6 Algoritma Pilihan Menu ... 35

Gambar 3.7 Algoritma Ubah Password ... 35

Gambar 3.8 Rangkaian Skematik Interface RS232 ... 37

Gambar 3.9 Rangkaian Skematik Konverter RS232 ke RS 485 dan Sebaliknya ... 38

Gambar 3.10 Tampilan User Interface pada Visual Basic ... 40

Gambar 3.11 Contoh Isi File idrom.ABC ... 42

Gambar 3.12 Contoh Isi File id.ABC ... 43

Gambar 3.13 Algoritma Pengiriman ID Device dan Penerimaan Data ... 44

Gambar 3.14 Algoritma Tampilan dan Penyimpanan Data ... 45

Gambar 3.15 Algorima Buka File di Komputer ... 46

Gambar 3.16 Algorima Kelompokan Data dari Pengontrol ... 46

Gambar 3.17 Algorima Tampilkan Informasi Tambahan ... 46

Gambar 3.18 Algorima Simpan File di Komputer ... 47

Gambar 4.1 Pengujian Menggunakan RFID ... 49

Gambar 4.2 Pengujian Menggunakan Keypad ... 49

Gambar 4.3 Pengujian Invalid ID dan Password ... 50

Gambar 4.4 Tampilan User Interface saat Invalid ID dan Password ... 51

Gambar 4.5 Pengujian Invalid ID ... 52

Gambar 4.6 Tampilan User Interface saat Invalid ID ... 52

Gambar 4.7 Hasil Tampilan Invalid Password ... 53

Gambar 4.8 Penekanan Tombol A(ENTER) Untuk Pilihan Buka Pintu ... 54

Gambar 4.9 Hasil Tampilan User Interface Setelah Penekanan Tombol ENTER ... 54

Gambar 4.10 Pilihan Set Password ... 55

Gambar 4.11 Permintaan Kembali Masukan Password ... 55

Gambar 4.12 Pengiriman Data Bersamaan ke Komputer ... 56

Gambar 4.13 Hasil Tampilan User Interface saat Pengiriman Data Bersamaan ... 57

Gambar 4.14 Hasil Tampilan User Interface Sebelum Ada Pengiriman Data ... 64

Gambar 4.15 Hasil Tampilan User Interface Setelah Ada Pengiriman Data ... 65

Gambar 4.16 Tampilan User Interface Setelah Penekanan Tombol Lihat Data ... 66


(10)

xii Universitas Kristen Maranatha

Gambar 4.17 Tampilan User Interface Setelah Penekanan Tombol Hapus List ... 67 Gambar 4.18 Tampilan File id.ABC Sebelum Ada Data ... 68 Gambar 4.19 Tampilan File id.ABC Setelah Ada Data ... 68


(11)

LAMPIRAN A

PROGRAM PADA PENGONTROL MIKRO AVR

ATMEGA 16


(12)

A-1

PROGRAM UTAMA

PENGONTROL MIKRO

ATMEGA16

/*************************************** **************

This program was produced by the CodeWizardAVR V1.25.3 Standard Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com

Project : Version : Date : 9/12/2009

Author : F4CG Company : F4CG Comments:

Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 256

*************************************/ #include <mega16.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm

#include <lcd.h> #include <delay.h> #include <stdio.h> #include <stdlib.h> unsigned char keypad(); unsigned char

key,data[5],tanda,idkirim[2],text[32]; long int idku,pwku,pwku1,pwku2;

eeprom unsigned long int idrom[10],pwrom[10];

unsigned int i,j,secur,set; // Standard Input/Output functions #include <stdio.h>

// Declare your global variables here

void main(void) {

// Declare your local variables here // Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out // State7=P State6=P State5=P State4=P State3=1 State2=1 State1=1 State0=1

PORTA=0xFF; DDRA=0x0F;

// Port B initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTB=0x00;

DDRB=0x00;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00;

// Port D initialization

// Func7=Out Func6=In Func5=Out Func4=In Func3=In Func2=In Func1=In Func0=In // State7=0 State6=T State5=0 State4=T State3=T State2=T State1=T State0=T


(13)

A-1

DDRD=0xA0;

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00;

MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00;

UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80; SFIOR=0x00;

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei")


(14)

A-2 { idrom[0]=654321; idrom[1]=754321; idrom[2]=854321; idrom[3]=578888; idrom[4]=565656; idrom[5]=423457; secur=0; ulang: if(secur==4) {lcd_clear(); lcd_putsf("PLEASE WAIT..."); delay_ms(10000); secur=0; goto ulang ; } else lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("=====welcome===="); delay_ms(2000); set=0; ok=0; // Menu=============================== ============= menu: lcd_clear(); key=keypad(); lcd_gotoxy(0,0);

lcd_putsf(" AVR MODUL 03 "); lcd_gotoxy(0,1);

lcd_putsf("A=IDCARD B=RFID");

if (key=='A') goto inputcard; else if(key=='B') goto inputRFID; delay_ms(200); goto menu; // program inputcard============================ ===== inputcard: lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("INPUT CARD:"); delay_ms(500); for(j=0;j<=6;j++) { key=keypad(); lcd_clear(); if(j==0) {data[0]=key;lcd_gotoxy(0,0); sprintf(text,"INPUT CARD1:");} else if(j==1) {data[1]=key;lcd_gotoxy(0,0); lcd_putsf("INPUT CARD2:"); lcd_gotoxy(0,1);sprintf(text,"%c",data[0]);} else if(j==2) {data[2]=key;lcd_gotoxy(0,0);lcd_putsf("INPUT CARD3:"); lcd_gotoxy(0,1);sprintf(text,"%c%c",data[0],data [1]);} else if(j==3) {data[3]=key;lcd_gotoxy(0,0);lcd_putsf("INPUT CARD4:");lcd_gotoxy(0,1); sprintf(text,"%c%c%c",data[0],data[1],data[2]);} else if(j==4) {data[4]=key;lcd_gotoxy(0,0);lcd_putsf("INPUT CARD5:");lcd_gotoxy(0,1); sprintf(text,"%c%c%c%c",data[0],data[1],data[2] ,data[3]);} else if(j==5) {data[5]=key;lcd_gotoxy(0,0);lcd_putsf("INPUT CARD6:");lcd_gotoxy(0,1);


(15)

A-3 sprintf(text,"%c%c%c%c%c",data[0],data[1],data [2],data[3],data[4]);} else if(j==6) {tanda=key;lcd_gotoxy(0,0); lcd_putsf("DOOR IN(*)/OUT(#)");lcd_gotoxy(0,1); sprintf(text,"%c%c%c%c%c%c",data[0],data[1], data[2],data[3],data[4],data[5]);} lcd_puts(text); delay_ms(200); if(key==247){j=j-1;} } idku=atol(data); goto scan1; //program inputRFID=========================== ==== inputRFID: lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("INPUT RFID:"); delay_ms(200); lcd_clear(); j=0; if(PINB==0xFA)goto isi; else goto inputRFID; isi:

if(PINB==0xF0){data[j]='0';j++;goto cek;} else if(PINB==0xF1){data[j]='1';j++;goto cek;}

else if(PINB==0xF2){data[j]='2';j++;goto cek;}

else if(PINB==0xF3){data[j]='3';j++;goto cek;}

else if(PINB==0xF4){data[j]='4';j++;goto cek;}

else if(PINB==0xF5){data[j]='5';j++;goto cek;}

else if(PINB==0xF6){data[j]='6';j++;goto cek;}

else if(PINB==0xF7){data[j]='7';j++;goto cek;}

else if(PINB==0xF8){data[j]='8';j++;goto cek;}

else if(PINB==0xF9){data[j]='9';j++;goto cek;}

else goto isi; cek:

if(PINB==0xFA)goto isi;

else if(j==6){idku=atol(data);goto pintu;} else goto cek;

pintu: lcd_clear(); lcd_putsf("DOOR IN(*)/OUT(#"); delay_ms(100); key=keypad(); if(key=='*'){tanda=key;goto scan1;} else if(key=='#'){tanda=key;goto scan1;} else goto pintu;

goto scan1; scan1: key=keypad(); lcd_clear(); lcd_gotoxy(0,1);

lcd_putsf("A=Yes B=No"); lcd_gotoxy(0,0);

sprintf(text,"YOUR ID:%ld %c",idku,tanda);

if(key=='A') goto password; else if(key=='B') goto ulang; else

lcd_puts(text); delay_ms(100); goto scan1;

//program input password


(16)

A-4 password: lcd_clear(); lcd_gotoxy(0,1); lcd_putsf("PASSWORD:"); delay_ms(500); for(j=0;j<6;j++) { key=keypad(); data[j]=key; lcd_gotoxy(0,1); lcd_clear(); if(j==0) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD1:");} else if(j==1) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD2:#"); } else if(j==2) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD3:##" );} else if(j==3) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD4:### ");} else if(j==4) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD5:### #");} else if(j==5) {lcd_gotoxy(0,1);sprintf(text,"PASSWORD6:### ##");} lcd_puts(text); delay_ms(200); if(key==247) {j=j-1;} } if(set==1)goto ubah1; else if(set==2)goto ubah2; else

pwku=atol(data); for(i=0;i<6;i++) { if(idrom[i]==idku &&

pwrom[i]==pwku){ok=1;goto scan2;} if(idrom[i]==idku && pwrom[i]!=pwku) { lcd_clear(); lcd_gotoxy(0,0); lcd_putsf("RETYPE ID"); lcd_gotoxy(0,0); lcd_putsf("RETYPE PASSWORD"); delay_ms(3000);goto ulang; } secur++;PORTD.5=1; lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf("INVALID ID !!!!!"); delay_ms(2000);PORTD.5=0; goto kirim; scan2: secur=0; key=keypad(); lcd_clear(); lcd_gotoxy(0,0);

lcd_putsf("A=ENTER D=BACK"); lcd_gotoxy(0,1);

lcd_putsf("B=SET PASSWORD"); if(key=='A')goto kirim;

else if(key=='B')goto set; else if(key=='D') goto ulang; else

delay_ms(200); goto scan2; //program kirim ke

serial======================= kirim:


(17)

A-5 for(j=0;j<2;j++) {scanf("%c",&idkirim[j]);} lcd_clear(); if(idkirim[0]=='1'&& idkirim[1]=='2') { if(ok==1){PORTD.7=1;delay_ms(2000);PORTD .7=0;} lcd_gotoxy(0,1); lcd_putsf("LOADING..."); delay_ms(2000); printf("%c%c%ld%c",idkirim[0],idkirim[1], idku,tanda); goto ulang; } else lcd_clear();lcd_gotoxy(0,1);lcd_putsf("LOADIN G..."); delay_ms(200);goto kirim; //program set password============================ == set: set=1; lcd_clear();lcd_gotoxy(0,1);

lcd_putsf("NOW SET PASSWORD"); delay_ms(2000); goto password; ubah1: set=2; pwku1=atol(data); lcd_clear();lcd_gotoxy(0,1); lcd_putsf("CONFIRM PASSWORD"); delay_ms(2000); goto password; ubah2: pwku2=atol(data); if(pwku1==pwku2) { pwrom[i]=atol(data); lcd_clear();lcd_gotoxy(0,1); lcd_putsf("PASSWORD CHANGE"); PIND.7=1; delay_ms(2000); goto ulang;} else if(pwku1!=pwku2){ set=1; lcd_clear(); lcd_putsf("RETYPE PASSWORD"); delay_ms(2000);

goto password; }

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

}; }

unsigned char keypad() { PORTA=0b11111110; if(PINA.4==0)return('1'); if(PINA.5==0)return('2'); if(PINA.6==0)return('3'); if(PINA.7==0)return('A'); //======================== PORTA=0b11111101; if(PINA.4==0)return('4'); if(PINA.5==0)return('5'); if(PINA.6==0)return('6'); if(PINA.7==0)return('B'); //======================== PORTA=0b11111011; if(PINA.4==0)return('7'); if(PINA.5==0)return('8'); if(PINA.6==0)return('9'); if(PINA.7==0)return('C'); //======================== PORTA=0b11110111;


(18)

A-6

if(PINA.4==0)return('*'); if(PINA.5==0)return('0'); if(PINA.6==0)return('#'); if(PINA.7==0)return('D'); //======================== }


(19)

A-7

PROGRAM SCAN RFID PENGONTROL MIKRO ATMEGA16

/*************************************** **************

This program was produced by the CodeWizardAVR V1.25.3 Standard Automatic Program Generator

© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com Project :

Version : Date : 9/12/2009

Author : F4CG Company : F4CG Comments:

Chip type : ATmega16 Program type : Application Clock frequency : 11.059200 MHz Memory model : Small

External SRAM size : 0 Data Stack size : 256

**************************************** *************/

#include <mega16.h>

// Alphanumeric LCD Module functions #asm

.equ __lcd_port=0x15 ;PORTC #endasm

#include <lcd.h> #include <delay.h> #include <stdio.h> unsigned int j; char rf[6]; #define RXB8 1 #define TXB8 0 #define UPE 2

#define OVR 3 #define FE 4 #define UDRE 5 #define RXC 7

// Declare your global variables here void main(void)

{

// Declare your local variables here

// Input/Output Ports initialization // Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTA=0x00;

DDRA=0x00;

// Port B initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1

PORTB=0xFF; DDRB=0xFF;

// Port C initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTC=0x00;

DDRC=0x00; // Port D initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T PORTD=0x00;


(20)

A-8

// Timer/Counter 0 initialization // Clock source: System Clock // Clock value: Timer 0 Stopped // Mode: Normal top=FFh // OC0 output: Disconnected TCCR0=0x00;

TCNT0=0x00; OCR0=0x00;

// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer 1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon. // OC1B output: Discon. // Noise Canceler: Off

// Input Capture on Falling Edge // Timer 1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00;

// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer 2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected ASSR=0x00;

TCCR2=0x00; TCNT2=0x00; OCR2=0x00;

// External Interrupt(s) initialization // INT0: Off

// INT1: Off // INT2: Off MCUCR=0x00; MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization TIMSK=0x00;

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On // USART Transmitter: On // USART Mode: Asynchronous // USART Baud rate: 9600 UCSRA=0x00;

UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// Analog Comparator initialization // Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80; SFIOR=0x00;

// LCD module initialization lcd_init(16);

// Global enable interrupts #asm("sei")

while (1) {

// Place your code here


(21)

A-9

scan:

PORTB=0xFF; for(j=0;j<14;j++) {scanf("%c",&rf[j]); } for(j=0;j<6;j++) {lcd_clear(); PORTB=0xFA; delay_ms(300); if(rf[j]==48)

{ PORTB=0xF0; delay_ms(300);} if(rf[j]==49)

{ PORTB=0xF1; delay_ms(300); }

if(rf[j]==50)

{ PORTB=0xF2; delay_ms(300);} if(rf[j]==51)

{PORTB=0xF3; delay_ms(300); }

if(rf[j]==52)

{PORTB=0xF4; delay_ms(300); } if(rf[j]==53)

{PORTB=0xF5;delay_ms(300); } if(rf[j]==54)

{PORTB=0xF6; delay_ms(300); } if(rf[j]==55)

{ PORTB=0xF7; delay_ms(300); } if(rf[j]==56)

{ PORTB=0xF8; delay_ms(300); } if(rf[j]==57)

{ PORTB=0xF9;delay_ms(300); } } goto scan;


(22)

A-10 ‘PROGRAM VISUAL BASIC

Sub proses(nomesin) hasil = Label7.Caption today = Now

Label15.Caption = today Label13.Caption = Left(hasil, 2) Label10.Caption = Mid(hasil, 3, 6) tanda = Right(hasil, 1)

Open "d:\idrom.ABC" For Input As #1 ada = 0

Input #1, datanya Do While (Not EOF(1)) If datanya = Label13.Caption + Label10.Caption Then

Label8.Caption = "terdaftar " ada = 1

End If Loop Close #1

If ada = 0 Then

Label8.Caption = "tidak dikenal" End If

masuk = "*"

If masuk = tanda Then

Label18.Caption = "masuk " End If

keluar = "#"

If keluar = tanda Then

Label18.Caption = "keluar" End If

hsl = (Label13.Caption + " " +

Label10.Caption + " " + Label15.Caption + " " + Label8.Caption + " " +

Label18.Caption)

Open "d:\id.ABC" For Append As #2 Print #2, hsl

Close #2 List1.AddItem (hsl) End Sub

Private Sub Command1_Click() Open "d:\id.ABC" For Input As #1 List1.Clear

Do While (Not EOF(1)) Line Input #1, idnya List1.AddItem (idnya) Loop

Close #1 End Sub

Private Sub Command2_Click() List1.Clear

End Sub

Private Sub Command3_Click() End

End Sub

Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,N,8,1" MSComm1.InputLen = 0

MSComm1.PortOpen = True End Sub

Private Sub Timer1_Timer() today = Now

Label9.Caption = today MSComm1.Output = "11" hasil1 = MSComm1.Input If Len(hasil1) > 0 Then Label7.Caption = hasil1 nomor = Left(Label7.Caption, 2) If Len(hasil1) > 0 And nomor = "11" Then Call proses("11")

End If

If Len(hasil1) > 0 And nomor = "12" Then Call proses("12")

End If


(23)

A-11

Call proses("13") End If

End If

MSComm1.Output = "12" hasil1 = MSComm1.Input

MSComm1.Output = "13" hasil1 = MSComm1.Input End Sub


(24)

LAMPIRAN B

SKEMATIK


(25)

B-1

B-1 Skematik Pengontrol Mikro AVR ATMEGA 16

Modul AVR

Modul AVR 1X(X=1,2,3) Ke RS 232

RFID

1 2 3 A 4 5 6

8 B

7 9 C

* 0 # D

Ke konverter RS232 to RS 485


(26)

B-2

B-2 Skematik Konverter RS 232 ke RS 485 dan Sebaliknya

Dari RS 232 Pengontrol mikro

Ke RS 232 komputer Supply

Supply Ke konverter RS 485 to RS 232


(27)

LAMPIRAN C

FOTO ALAT


(28)

C-1


(29)

C-2


(30)

C-3


(31)

C-4

LAMPIRAN D

DATA SHEET


(32)

1 Universitas Kristen Maranatha

BAB I

PENDAHULUAN

Pada bab ini akan dibahas mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, spesifikasi alat, dan sistematika penulisan

I. LATAR BELAKANG

Sistem akuisisi data dapat didefinisikan sebagai suatu sistem yang berfungsi untuk mengambil, mengumpulkan dan menyiapkan data, hingga memprosesnya untuk menghasilkan data yang dikehendaki Contoh akuisisi data yang dilakukan di perkantoran atau perhotelan adalah dengan mengumpulkan data – data keluar atau masuk pengunjung untuk keperluan evaluasi dan monitor. Perkembangan dunia elektronika kini sudah modern, salah satu contohnya adalah penggunaan kunci pintu rumah dengan magnetic card yang mempunyai kode-data tersendiri, dengan mengakuisisi data pada magnetic card yang terbaca oleh slot reader maka data tersebut digunakan untuk memonitor.

Komunikasi slot reader dengan komputer yang umum dipakai menggunakan komunikasi serial RS 232, komunikasi ini memiliki kekurangan yaitu hanya bisa transfer data dalam jarak pendek sedangkan terkadang letak

slot reader dengan komputer untuk memonitor cukup jauh sehingga dibutuhkan

konverter yang mempunyai kemampuan komunikasi jarak jauh. Konverter RS 232 ke RS 485 ini mengubah standar antarmuka komunikasi serial RS 232 ke standar antarmuka komunikasi serial RS 485 yang dapat transfer data sampai sejauh 1220 meter, selain itu hasil keluaran RS 485 dapat digunakan sebagai

multi drop(sistem yang berhubungan secara one to many /sebagai data bus yang

dihubungkan secara paralel).

Pada Tugas Akhir ini telah dirancang suatu sistem pada komputer untuk akuisisi data dari banyak slot reader menggunakan komunikasi serial RS 485


(33)

Bab I Pendahuluan 2

Universitas Kristen Maranatha

yang nantinya dapat dikembangkan untuk akuisisi data pada pintu – pintu kamar kost atau kamar hotel.

II. PERUMUSAN MASALAH

1). Bagaimana menerapkan akuisisi data dengan RS 485?

2). Bagaimana menggunakan komunikasi multi drop pada RS 485? 3). Bagaimana membedakan ID tiap slot reader pada komputer?

III. TUJUAN TUGAS AKHIR

Tujuan dari tugas akhir ini adalah merancang suatu sistem pada komputer untuk akuisisi data dari banyak slot reader dengan menggunakan komunikasi serial RS 485.

IV. PEMBATASAN MASALAH

Pembatasan masalah pada Tugas Akhir ini meliputi:

1. Perangkat slot reader diimplementasikan menggunakan mikrokontroler AVR ATMega16 .

2. Pembatasan untuk akuisisi data menggunakan 3 buah slot reader.

3. Komputer yang digunakan untuk memonitor data mempunyai jalur komunikasi online dengan slot reader.

4. Semua slot reader(sebagai slave) harus diberikan ID agar data yang dikirimkan dapat dibedakan oleh komputer(sebagai master).

5. Informasi yang diakuisisi adalah ID pengontrol,ID card, status ID, masuk/keluar pintu, dan waktu saat akuisisi (pewaktu komputer).

V. METODOLOGI

Metodologi yang digunakan pada Tugas Akhir ini adalah menggunakan metodologi eksperimental.

VI. SPESIFIKASI ALAT


(34)

Bab I Pendahuluan 3

Universitas Kristen Maranatha

1. Slot reader

- Slot pembaca card

- Saluran komunikasi serial RS 232 2. Mikokontroler AVR ATMega 16

- Saluran I/O sebanyak 32 buah

- Port USART untuk komunikasi serial

- Keypad yang mempunyai 16 tombol

3. Konverter

- Saluran komunikasi serial RS 232 ke RS 485 dan sebaliknya 4. Komputer dengan koneksi serial RS 232

VII. SISTEMATIKA PENULISAN

Penyusunan laporan Tugas Akhir terdiri dari lima bab sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini dibahas mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, spesifikasi alat, dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini dibahas teori-teori yang akan digunakan untuk merancang dan merealisasikan sistem akuisisi data, yang meliputi pembahasan mikrokontroler ATMEGA16, arsitektur ATMEGA16, komunikasi serial, topologi dalam komunikasi, dan penggunaan Microsoft Visual Basic secara umum.

BAB III PERANCANGAN dan REALISASI

Pada bab ini dijelaskan mengenai diagram blok dan cara kerja sistem akuisisi data dari banyak slot reader meliputi mikrokontroler ATMEGA 16, konverter, serta program microsoft visual basic yang digunakan untuk akuisisi data.


(35)

Bab I Pendahuluan 4

Universitas Kristen Maranatha

BAB IV HASIL dan ANALISA

Pada bab ini akan dibahas pengujian data yang diolah dan dikirim dari pengontrol mikrokontroler ATMEGA16 , komputer bertugas menerima data dari pengontrol kemudian menampilkan dan menyimpan data pada file yang ditunjukkan.

BAB V KESIMPULAN dan SARAN

Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.


(36)

69 Universitas Kristen Maranatha

BAB V

KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan hasil penelitian dan analisis dari masalah yang dihadapi serta saran bagi pihak yang terkait berkenaan dengan pembuatan “Akuisisi Data Pada Slot Reader Menggunakan

Komputer Untuk Memonitor“.

V.1 KESIMPULAN

1. Rangkaian yang dirancang dan direalisasikan dapat mengakuisisi data dengan baik.

2. Komunikasi serial RS 485 diimplementasikan pada sistem akusisi data dari banyak pengontrol mikro yang dihubungkan dengan Slot Reader. 3. Pengaturan jalannya komunikasi oleh komputer (sebagai master) pada

banyak pengontrol mikro (sebagai slave) untuk menghindari collision data.

V.2 SARAN

1. Akuisisi Data Pada Slot Reader Menggunakan Komputer Untuk Memonitor dapat dikembangkan untuk akuisisi data pada pintu – pintu kamar kost atau kamar hotel.

2. Password yang ada di EEPROM pengontrol mikro dapat diubah melalui


(37)

Universitas Kristen Maranatha

70

DAFTAR PUSTAKA

1. Budiharto, Widodo., Perancangan Sistem dan Aplikasi Mikrokontroler, PT Elex Media Komputindo, Jakarta, 2005

2. Mesran,S.Kom,Belajar Microsoft Visual Basic 6.0, Penerbit Mitra Wacana Media

3. Yonatan, H., Buku Panduan : Pelatihan Networking and cable

comunication, 2008.

4. Wardhana, Lingga., Belajar Sendiri Mikrokontroler AVR Seri

ATMega8535 Simulasi, Hardware dan Aplikasi, Penerbit Andi,

Yogyakarta, 2006 5. http://www.atmel.com

6. http://www.circuitproject.com 7. http://www.intersoft.com 8. http://www.playback.com


(1)

BAB I

PENDAHULUAN

Pada bab ini akan dibahas mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, spesifikasi alat, dan sistematika penulisan

I. LATAR BELAKANG

Sistem akuisisi data dapat didefinisikan sebagai suatu sistem yang berfungsi untuk mengambil, mengumpulkan dan menyiapkan data, hingga memprosesnya untuk menghasilkan data yang dikehendaki Contoh akuisisi data yang dilakukan di perkantoran atau perhotelan adalah dengan mengumpulkan data – data keluar atau masuk pengunjung untuk keperluan evaluasi dan monitor. Perkembangan dunia elektronika kini sudah modern, salah satu contohnya adalah penggunaan kunci pintu rumah dengan magnetic card yang mempunyai kode-data tersendiri, dengan mengakuisisi data pada magnetic card yang terbaca oleh slot reader maka data tersebut digunakan untuk memonitor.

Komunikasi slot reader dengan komputer yang umum dipakai menggunakan komunikasi serial RS 232, komunikasi ini memiliki kekurangan yaitu hanya bisa transfer data dalam jarak pendek sedangkan terkadang letak slot reader dengan komputer untuk memonitor cukup jauh sehingga dibutuhkan konverter yang mempunyai kemampuan komunikasi jarak jauh. Konverter RS 232 ke RS 485 ini mengubah standar antarmuka komunikasi serial RS 232 ke standar antarmuka komunikasi serial RS 485 yang dapat transfer data sampai sejauh 1220 meter, selain itu hasil keluaran RS 485 dapat digunakan sebagai multi drop(sistem yang berhubungan secara one to many /sebagai data bus yang dihubungkan secara paralel).

Pada Tugas Akhir ini telah dirancang suatu sistem pada komputer untuk akuisisi data dari banyak slot reader menggunakan komunikasi serial RS 485


(2)

Bab I Pendahuluan 2

yang nantinya dapat dikembangkan untuk akuisisi data pada pintu – pintu kamar kost atau kamar hotel.

II. PERUMUSAN MASALAH

1). Bagaimana menerapkan akuisisi data dengan RS 485?

2). Bagaimana menggunakan komunikasi multi drop pada RS 485? 3). Bagaimana membedakan ID tiap slot reader pada komputer?

III. TUJUAN TUGAS AKHIR

Tujuan dari tugas akhir ini adalah merancang suatu sistem pada komputer untuk akuisisi data dari banyak slot reader dengan menggunakan komunikasi serial RS 485.

IV. PEMBATASAN MASALAH

Pembatasan masalah pada Tugas Akhir ini meliputi:

1. Perangkat slot reader diimplementasikan menggunakan mikrokontroler AVR ATMega16 .

2. Pembatasan untuk akuisisi data menggunakan 3 buah slot reader.

3. Komputer yang digunakan untuk memonitor data mempunyai jalur komunikasi online dengan slot reader.

4. Semua slot reader(sebagai slave) harus diberikan ID agar data yang dikirimkan dapat dibedakan oleh komputer(sebagai master).

5. Informasi yang diakuisisi adalah ID pengontrol,ID card, status ID, masuk/keluar pintu, dan waktu saat akuisisi (pewaktu komputer).

V. METODOLOGI

Metodologi yang digunakan pada Tugas Akhir ini adalah menggunakan metodologi eksperimental.


(3)

Bab I Pendahuluan 3

1. Slot reader

- Slot pembaca card

- Saluran komunikasi serial RS 232 2. Mikokontroler AVR ATMega 16

- Saluran I/O sebanyak 32 buah

- Port USART untuk komunikasi serial

- Keypad yang mempunyai 16 tombol

3. Konverter

- Saluran komunikasi serial RS 232 ke RS 485 dan sebaliknya 4. Komputer dengan koneksi serial RS 232

VII. SISTEMATIKA PENULISAN

Penyusunan laporan Tugas Akhir terdiri dari lima bab sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini dibahas mengenai latar belakang, perumusan masalah, tujuan, pembatasan masalah, metodologi, spesifikasi alat, dan sistematika penulisan.

BAB II LANDASAN TEORI

Pada bab ini dibahas teori-teori yang akan digunakan untuk merancang dan merealisasikan sistem akuisisi data, yang meliputi pembahasan mikrokontroler ATMEGA16, arsitektur ATMEGA16, komunikasi serial, topologi dalam komunikasi, dan penggunaan Microsoft Visual Basic secara umum.

BAB III PERANCANGAN dan REALISASI

Pada bab ini dijelaskan mengenai diagram blok dan cara kerja sistem akuisisi data dari banyak slot reader meliputi mikrokontroler ATMEGA 16, konverter, serta program microsoft visual basic yang digunakan untuk akuisisi data.


(4)

Bab I Pendahuluan 4

BAB IV HASIL dan ANALISA

Pada bab ini akan dibahas pengujian data yang diolah dan dikirim dari pengontrol mikrokontroler ATMEGA16 , komputer bertugas menerima data dari pengontrol kemudian menampilkan dan menyimpan data pada file yang ditunjukkan.

BAB V KESIMPULAN dan SARAN

Bab ini berisi kesimpulan dari Tugas Akhir dan saran-saran yang perlu dilakukan untuk perbaikan di masa mendatang.


(5)

BAB V

KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan hasil penelitian dan analisis dari masalah yang dihadapi serta saran bagi pihak yang terkait berkenaan dengan pembuatan “Akuisisi Data Pada Slot Reader Menggunakan Komputer Untuk Memonitor“.

V.1 KESIMPULAN

1. Rangkaian yang dirancang dan direalisasikan dapat mengakuisisi data dengan baik.

2. Komunikasi serial RS 485 diimplementasikan pada sistem akusisi data dari banyak pengontrol mikro yang dihubungkan dengan Slot Reader. 3. Pengaturan jalannya komunikasi oleh komputer (sebagai master) pada

banyak pengontrol mikro (sebagai slave) untuk menghindari collision data.

V.2 SARAN

1. Akuisisi Data Pada Slot Reader Menggunakan Komputer Untuk Memonitor dapat dikembangkan untuk akuisisi data pada pintu – pintu kamar kost atau kamar hotel.

2. Password yang ada di EEPROM pengontrol mikro dapat diubah melalui komputer.


(6)

DAFTAR PUSTAKA

1. Budiharto, Widodo., Perancangan Sistem dan Aplikasi Mikrokontroler, PT Elex Media Komputindo, Jakarta, 2005

2. Mesran,S.Kom,Belajar Microsoft Visual Basic 6.0, Penerbit Mitra Wacana Media

3. Yonatan, H., Buku Panduan : Pelatihan Networking and cable comunication, 2008.

4. Wardhana, Lingga., Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi, Hardware dan Aplikasi, Penerbit Andi, Yogyakarta, 2006

5. http://www.atmel.com

6. http://www.circuitproject.com 7. http://www.intersoft.com 8. http://www.playback.com