Pemodelan Sistem Pengaturan Parkir Mobil Dalam Gedung Dengan Menggunakan Mikrokontroler MCS 51.
ABSTRAK
Perkembangan teknologi mengakibatkan bertambahnya kebutuhan masyarakat. Sarana transportasi sangat dibutuhkan untuk menunjang kebutuhan mobilitas yang semakin tinggi. Salah satu kendala terbesar saat ini adalah pencarian lokasi parkir terutama perparkiran dalam gedung. Sering kali terjadi antrian yang panjang untuk mendapatkan lokasi parkir.
Dibutuhkan suatu sistem terpadu untuk memecahkan masalah ini. Sistem ini dimodelkan dengan menggunakan mikrokontroller MCS 51 sebagai pusat informasi dari sensor infra red yang ditumpangkan pada motor steper untuk mencari lokasi parkir. Informasi yang terkumpul diterima komputer dan dicetak melalui printer.
Sistem ini akan sangat membantu para pengguna mobil dalam mencari lokasi parkir lebih cepat tanpa membutuhkan waktu yang lama.
(2)
ABSTRACT
Development of affects a society demand. Transportation infrastructure is highly needed to support the higher mobility. One of the biggest problem these days is looking for a parking place, especially in parking lot inside a building. A long queue is often happen to find a parking location.
An integrated system is needed to solve this problem. This system is modeled using a MCS 51 microcontroller as the information center of the infra red sensors which is placed on the stepper motors to find parking location. The collected information is accepted by computer and printed.
This system will much help the car rider in looking for a parking location faster without needed a lot of time.
(3)
DAFTAR ISI
ABSTRAK... i
ABSTRACT... ii
KATA PENGANTAR... iii
DAFTAR ISI... v
DAFTAR GAMBAR... vii
DAFTAR TABEL... viii
BAB I PENDAHULUAN... 1
I.1 Latar Belakang... 1
I.2 Identifikasi Masalah... 2
I.3 Tujuan... 2
I.4 Pembatasan Masalah... 2
I.5 Sistematika Penulisan... 2
BAB II TEORI PENUNJANG... 3
II.1. Mikrokontroler... 4
II.2. Mikrokontroler AT89C51... 4
II.2.1. Kaki-kaki Mikrokontroler AT89C51... 5
II.2.2. Organisasi Memori... 6
II.2.2.1. ROM (Read Only Memory)... 6
II.2.2.2. RAM (Random Access Memory)... 7
II.2.3. Interupsi... 8
II.2.3.1. Interrupt Enable Register... 8
II.2.3.2. Interupt Priority Register... 8
II.2.4. SFR ( Register Fungsi Khusus )... 10
II.2.5. Timer dan Counter ... 12
II.2.6. Perangkat Pengiriman Data... 13
II.2.6.1. Pengiriman Data Serial... 13
II.2.6.2. Komunikasi Data Asinkron... 13
(4)
II.2.8. Baud Rate... 16
II.3. Borland Delphi... 17
II.3.1. Tipe Data... 18
II.3.2. Operator... 19
II.3.3. Sub Rutin... 19
II.3.3.1. Prosedur... 19
II.3.3.2. Fungsi... 20
II.4. Infra Merah... 20
II.4.1. Gelombang Infra Merah... 20
II.5. Motor Steper... 21
II.5.1. Motor Steper Unipolar... 21
II.6. Saluran RS485... 21
BAB III PERANCANGAN DAN REALISASI……….. 25
III.1. Perancangan Kontrol Unit………...……… 26
III.2. Perancangan Komunikasi Serial... 27
III.3. Perancangan Perangkat lunak... 27
BAB IV PENGUKURAN DAN PEMBAHASAN... 31
IV.1. Pengujian SaluranTransmisi... 31
IV.2. Pengujian Sinyal Infra Merah... 32
IV.3 Pengujian Sistem... 33
IV.4 Penampilan Program Delphi... 34
BAB V KESIMPULAN DAN SARAN... 36
V.1. Kesimpulan ... 36
V.2. Saran... 36
DAFTAR PUSTAKA...37
LAMPIRAN A ... A-1 LAMPIRAN B ... B-1 LAMPIRAN C ... C-1 LAMPIRAN D ... D-1
(5)
DAFTAR GAMBAR
Gambar 2.1 Kaki-kaki mikrokontroler AT89C51... 5
Gambar 2.2 Interrupt Enable pada AT89C51... 8
Gambar 2.3 Interrupt Priority pada AT89C51... 8
Gambar 2.4 konsep dasar Timer/Counter pada AT89C51... 12
Gambar 2.5 Paket data asinkron... 14
Gambar 2.5 Diagram motor Steper... 21
Gambar 3.1 Diagram Blok kontrol unit... 25
Gambar 3.2 Perancangan kontrol unit... 26
Gambar 3.3 Hubungan mikrokontroler dengan RS 485………. 27
Gambar 3.4 Diagram model sistem………. 28
Gambar 3.5 Diagram alir program kontrol unit………... 29
Gambar 3.6 Diagram alir program Delphi……….. 30
Gambar 4.1 Pengujian spesikasi media transmisi RS485……… 31
Gambar 4.2 Diagram penampang IR modul………... 32
Gambar 4.3 Tampilan program delphi ..………... 34
Gambar 4.4Tiket parkir………..………... …. 35
(6)
DAFTAR TABEL
Tabel 2.1 Interrupt Enable pada AT89C51... 9
Tabel 2.2 Interrupt Priority pada AT89C51... 9
Tabel 2.3 Ukuran berbagai tipe data... 18
Tabel 2.4 Pemberian arus motor langkah penuh... 22
Tabel 2.5 Tabel perbandingan RS-485 dengan standar lain dari EIA... 23
Tabel 4.1 Hasil pengukuran media transmisi RS485………... 31
Tabel 4.2 Hasil pengukuran IR modul………. 32
(7)
LAMPIRAN A
(8)
A -2 6 5 4 3 2 1 D C B A Title
Number Re vision Size B DE 3 RE 2 D 4 A 6 B 7 R 1 U? DS75176 DE 3 RE 2 D 4 A 6 B 7 R 1 U? DS75176 DE 3 RE 2 D 4 A 6 B 7 R 1 U? DS75176 DE 3 RE 2 D 4 A 6 B 7 R 1 U? DS75176 10uF 10uF 10uF 10uF 1 6 2 7 3 8 4 9 5 U? DB9 VCC C1+ 1 C1-3 C2+ 4 C2-5 V+ 2 V- 6 TX1 11 TX2 10 RX1 12 RX2 9 OP1 14 OP2 7 IP1 13 IP2 8 TTL RS232 MAX232 VCC EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U? AT89C51 1B 1 2B 2 3B 3 4B 4 5B 5 6B 6 7B 7 8B 8 GND 9 COM8C 10
11 7C 12 6C 13 5C 14 4C 15 3C 16 2C 17 1C 18 U? ULN2804A U? 4K7 U? 4K7 U? 4K7 U? 4K7 U? 4K7 VCC SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG .
Kontrol 1 Kontrol 2 Kontrol 3 Kontrol 4 Kontrol 5
SEG A SEG B SEG C SEG D SEG E SEG F SEG G SEG .
Le d 1 Le d 2 Kontrol 1 Kontrol 2 Kontrol 3 Kontrol 4 Kontrol 5 VCC VCC M? MOTOR STEPPE R
KOMPUTER
8
8
8
8
8
5 X 7 Segme nt
11.059.200 33pF 33pF 10uF/16V 100 4K7 C? RESET VCC 10K VCC 12V 12V Vin 1 G N D 2 +5V 3 REGULATOR 1 LM7805CT Vin 1 G N D 2 +12V 3 REGULATOR 2 LM7812CT D1 D2 D3 C3 100uF C1
2200uF C2 100uF D4
LED3 LED MERAH POWER R12 330 TRAFO 500 mA VCC +12V PLN 220V
4 X 1N4002
LED HIJAU LED MERAH 330 330
VCC
LED 1 LED 2
Re ce ive r
Tra nsm itter
Tra nsm itter
Re ce ive r 8 X 10K
IR MODUL
VCC
IR MODUL
IR MODUL PENERIMA
TRIG 2 Q 3 R 4 CVolt 5 THR 6
DIS 7 V C C 8 G N D 1 U? LM555 BC547 BC547 BC547 BC547 BC547
15 1K 15K 47n 1n U? IR LED VCC 10K M?
MOTOR STEPPE R 12V
IR PENGIRIM 4K7
(9)
LAMPIRAN B
(10)
#INCLUDE "8051.H"
PORTSTEPPER .EQU P0 DATA7SEG .EQU P1 LEDMERAH .EQU P2.0 LEDHIJAU .EQU P2.1 SL1 .EQU P2.2 SL2 .EQU P2.3 SL3 .EQU P2.4 SL4 .EQU P2.5 SL5 .EQU P2.6 INPUTINFRA .EQU P3.2
.ORG $50 BUF1 .BLOCK 1 BUF2 .BLOCK 1 BUF3 .BLOCK 1 BUF4 .BLOCK 1 BUF5 .BLOCK 1 STLOK1 .BLOCK 1 STLOK2 .BLOCK 1 STLOK3 .BLOCK 1 STLOK4 .BLOCK 1 STLOK5 .BLOCK 1 STLOK6 .BLOCK 1 STLOK7 .BLOCK 1 STLOK8 .BLOCK 1 STLOK9 .BLOCK 1 STLOK10 .BLOCK 1 JUMMOBIL .BLOCK 1
(11)
.ORG $0 LJMP MULAI
.ORG $100
MULAI: MOV SP,#$20 LCALL INITSERIAL MOV STLOK1,#$30 MOV STLOK2,#$30 MOV STLOK3,#$30 MOV STLOK4,#$30 MOV STLOK5,#$30 MOV STLOK6,#$30 MOV STLOK7,#$30 MOV STLOK8,#$30 MOV STLOK9,#$30 MOV STLOK10,#$30 MOV BUF1,#$C0 MOV BUF2,#$C0 MOV BUF3,#$C0 MOV BUF4,#$C0 MOV BUF5,#$C0 SETB LEDMERAH CLR LEDHIJAU MOV R3,#$0A
LOOP: MOV SP,#$20 MOV R4,#$FF
(12)
LCALL CEKJUMMOBIL SCANLAGI1:
LCALL SCANNING DJNZ R4,SCANLAGI1
;---
; SCANNING POSISI MOBIL DAN MENCATATNYA ;---
MOV R3,#$0A MOV R4,#$4F SCANMOBIL1:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL1
JB INPUTINFRA,SCANMOBIL2 MOV STLOK1,#$31
DEC R3
LJMP SCANMOBIL21
SCANMOBIL2: MOV STLOK1,#$30
SCANMOBIL21: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL22:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL22
JB INPUTINFRA,SCANMOBIL3 MOV STLOK2,#$31
DEC R3
LJMP SCANMOBIL31
SCANMOBIL3: MOV STLOK2,#$30
SCANMOBIL31: LCALL PENGIRIMANDATA MOV R4,#$4F
(13)
SCANMOBIL32:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL32
JB INPUTINFRA,SCANMOBIL4 MOV STLOK3,#$31
DEC R3
LJMP SCANMOBIL41
SCANMOBIL4: MOV STLOK3,#$30
SCANMOBIL41: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL42:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL42
JB INPUTINFRA,SCANMOBIL5 MOV STLOK4,#$31
DEC R3
LJMP SCANMOBIL51
SCANMOBIL5: MOV STLOK4,#$30
SCANMOBIL51: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL52:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL52
JB INPUTINFRA,SCANMOBIL6 MOV STLOK5,#$31
DEC R3
LJMP SCANMOBIL61
SCANMOBIL6: MOV STLOK5,#$30
SCANMOBIL61: LCALL PENGIRIMANDATA MOV R4,#$4F
(14)
SCANMOBIL62:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL62
JB INPUTINFRA,SCANMOBIL7 MOV STLOK6,#$31
DEC R3
LJMP SCANMOBIL71
SCANMOBIL7: MOV STLOK6,#$30
SCANMOBIL71: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL72:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL72
JB INPUTINFRA,SCANMOBIL8 MOV STLOK7,#$31
DEC R3
LJMP SCANMOBIL81
SCANMOBIL8: MOV STLOK7,#$30
SCANMOBIL81: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL82:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL82
JB INPUTINFRA,SCANMOBIL9 MOV STLOK8,#$31
DEC R3
LJMP SCANMOBIL91
SCANMOBIL9: MOV STLOK8,#$30
SCANMOBIL91: LCALL PENGIRIMANDATA MOV R4,#$4F
(15)
SCANMOBIL92:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL92
JB INPUTINFRA,SCANMOBIL10 MOV STLOK9,#$31
DEC R3
LJMP SCANMOBIL101 SCANMOBIL10: MOV STLOK9,#$30
SCANMOBIL101: LCALL PENGIRIMANDATA MOV R4,#$4F
SCANMOBIL102:
LCALL PUTARMOTORKR DJNZ R4,SCANMOBIL102
JB INPUTINFRA,SCANMOBILEND MOV STLOK10,#$31
DEC R3
LJMP SCANMOBILEND1
SCANMOBILEND: MOV STLOK10,#$30
SCANMOBILEND1: LCALL PENGIRIMANDATA
;--- SCANNING PERTAMA SELESAI --- MOV R4,#$FF
LCALL CEKJUMMOBIL SCANLAGI2: LCALL SCANNING DJNZ R4,SCANLAGI2
;--- SCANNING BALIK --- MOV R3,#$0A
JB INPUTINFRA,BSCANMOBIL90 MOV STLOK10,#$31
(16)
BSCANMOBIL90: MOV STLOK10,#$30 BSCANMOBIL91: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL9:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL9
JB INPUTINFRA,BSCANMOBIL8 MOV STLOK9,#$31
DEC R3
LJMP BSCANMOBIL81 BSCANMOBIL8: MOV STLOK9,#$30
BSCANMOBIL81: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL82:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL82
JB INPUTINFRA,BSCANMOBIL7 MOV STLOK8,#$31
DEC R3
LJMP BSCANMOBIL71 BSCANMOBIL7: MOV STLOK8,#$30
BSCANMOBIL71: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL72:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL72
JB INPUTINFRA,BSCANMOBIL6 MOV STLOK7,#$31
DEC R3
(17)
BSCANMOBIL6: MOV STLOK7,#$30
BSCANMOBIL61: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL62:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL62
JB INPUTINFRA,BSCANMOBIL5 MOV STLOK6,#$31
DEC R3
LJMP BSCANMOBIL51 BSCANMOBIL5: MOV STLOK6,#$30
BSCANMOBIL51: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL52:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL52
JB INPUTINFRA,BSCANMOBIL4 MOV STLOK5,#$31
DEC R3
LJMP BSCANMOBIL41 BSCANMOBIL4: MOV STLOK5,#$30
BSCANMOBIL41: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL42:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL42
JB INPUTINFRA,BSCANMOBIL3 MOV STLOK4,#$31
DEC R3
(18)
BSCANMOBIL3: MOV STLOK4,#$30
BSCANMOBIL31: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL32:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL32
JB INPUTINFRA,BSCANMOBIL2 MOV STLOK3,#$31
DEC R3
LJMP BSCANMOBIL21 BSCANMOBIL2: MOV STLOK3,#$30
BSCANMOBIL21: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL22:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL22
JB INPUTINFRA,BSCANMOBIL1 MOV STLOK2,#$31
DEC R3
LJMP BSCANMOBIL11 BSCANMOBIL1: MOV STLOK2,#$30
BSCANMOBIL11: LCALL PENGIRIMANDATA MOV R4,#$4F
BSCANMOBIL12:
LCALL PUTARMOTORKN DJNZ R4,BSCANMOBIL12
JB INPUTINFRA,BSCANMOBIL10 MOV STLOK1,#$31
DEC R3
(19)
BSCANMOBIL10: MOV STLOK1,#$30
BSCANMOBIL101: LCALL PENGIRIMANDATA LCALL PUTARMOTORKN
LJMP LOOP
;--- ; PEMUTARAN STEPPER MOTOR ;---
PUTARMOTORKN: MOV DPTR,#DATASTEPPER1 PUTARMOTORKN1: CLR A
MOVC A,@A+DPTR
CJNE A,#0,PUTARMOTORKN2 RET
PUTARMOTORKN2: MOV PORTSTEPPER,A LCALL DELAYMOTOR
NOP NOP NOP
INC DPTR
LJMP PUTARMOTORKN1
PUTARMOTORKR: MOV DPTR,#DATASTEPPER2 PUTARMOTORKR1: CLR A
MOVC A,@A+DPTR
CJNE A,#0,PUTARMOTORKR2 RET
PUTARMOTORKR2: MOV PORTSTEPPER,A LCALL DELAYMOTOR
(20)
NOP NOP NOP
INC DPTR
LJMP PUTARMOTORKR1
;--- ;PENGIRIMAN DATA KE KOMPUTER ;--- PENGIRIMANDATA:
MOV A,STLOK1 LCALL SENDCHR MOV A,STLOK2 LCALL SENDCHR MOV A,STLOK3 LCALL SENDCHR MOV A,STLOK4 LCALL SENDCHR MOV A,STLOK5 LCALL SENDCHR MOV A,STLOK6 LCALL SENDCHR MOV A,STLOK7 LCALL SENDCHR MOV A,STLOK8 LCALL SENDCHR MOV A,STLOK9 LCALL SENDCHR MOV A,STLOK10 LCALL SENDCHR
(21)
MOV A,#$0D ;ENDOFFDATA LCALL SENDCHR
RET
;--- ;RUTIN MENJALANAN STEPPER MOTOR ;--- JALANKANMOTOR:
MOV DPTR,#DATASTEPPER1 PUTARKAN1:
CLR A
MOVC A,@A+DPTR CJNE A,#0,PUTARKAN2 RET
PUTARKAN2: MOV PORTSTEPPER,A LJMP PUTARKAN1
CEKJUMMOBIL: MOV A,R3 JNZ TTG1
MOV BUF1,#$8C MOV BUF2,#$86 MOV BUF3,#$C8 MOV BUF4,#$C1 MOV BUF5,#$89 CLR LEDMERAH SETB LEDHIJAU
(22)
RET
TTG1: SETB LEDMERAH CLR LEDHIJAU MOV BUF1,#$C0 MOV BUF2,#$C0 MOV BUF3,#$C0 CJNE R3,#$01,TTG2 MOV BUF4,#$C0 MOV BUF5,#$F9 RET
TTG2: CJNE R3,#$02,TTG3 MOV BUF4,#$C0 MOV BUF5,#$A4 RET
TTG3: CJNE R3,#$03,TTG4 MOV BUF4,#$C0 MOV BUF5,#$B0 RET
TTG4: CJNE R3,#$04,TTG5 MOV BUF4,#$C0 MOV BUF5,#$99 RET
TTG5: CJNE R3,#$05,TTG6 MOV BUF4,#$C0 MOV BUF5,#$92 RET
TTG6: CJNE R3,#$06,TTG7 MOV BUF4,#$C0 MOV BUF5,#$82
(23)
RET
TTG7: CJNE R3,#$07,TTG8 MOV BUF4,#$C0 MOV BUF5,#$F8 RET
TTG8: CJNE R3,#$08,TTG9 MOV BUF4,#$C0 MOV BUF5,#$80 RET
TTG9: CJNE R3,#$09,TTG10 MOV BUF4,#$C0
MOV BUF5,#$90 RET
TTG10: CJNE R3,#$0A,TTG2 MOV BUF4,#$F9
MOV BUF5,#$C0 RET
;--- ; RUTIN SCANNING DISPLAY
;--- SCANNING:
SCANW1: MOV DATA7SEG,BUF1 CLR SL1
SETB SL2 SETB SL3 SETB SL4 SETB SL5
(24)
LCALL DELAYDISPONW MOV DATA7SEG,#$FF NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
SCANW2: MOV DATA7SEG,BUF2 SETB SL1
CLR SL2 SETB SL3 SETB SL4 SETB SL5
LCALL DELAYDISPONW MOV DATA7SEG,#$FF NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
(25)
SCANW3: MOV DATA7SEG,BUF3 SETB SL1
SETB SL2 CLR SL3 SETB SL4 SETB SL5
LCALL DELAYDISPONW MOV DATA7SEG,#$FF NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP
SCANW4: MOV DATA7SEG,BUF4 SETB SL1
SETB SL2 SETB SL3 CLR SL4 SETB SL5
LCALL DELAYDISPONW MOV DATA7SEG,#$FF NOP
NOP NOP
(26)
NOP NOP NOP NOP NOP NOP NOP
SCANW5: MOV DATA7SEG,BUF5 SETB SL1
SETB SL2 SETB SL3 SETB SL4 CLR SL5
LCALL DELAYDISPONW MOV DATA7SEG,#$FF NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP RET ;---
(27)
;--- SENDCHR: CLR ES
CLR TI MOV SBUF,A TXLOOP:
JNB TI,TXLOOP CLR TI
SETB ES RET
;---
; INISIALISASI KOMUNIKASI SERIAL 9600BPS ;---
INITSERIAL:
MOV TMOD,#20H MOV TCON,#41H MOV TH1,#0FDH MOV SCON,#50H SETB TR1
RET
; ROUTINE KONVERSI ANGKA KE DALAM FORMAT 7 SEGMENT ----
CONV7SEG:
MOV DPTR,#SEG LOAD: MOVC A,@A+DPTR RET
(28)
DELAYDISPONW: MOV R6,#$02
DELAY0ONW: MOV R7,#$FF
DELAY1ONW: DJNZ R7,DELAY1ONW DJNZ R6,DELAY0ONW
RET
DELAYMOTOR: MOV R6,#$0F ;2f ;4F DELAYMOTOR1: MOV R7,#$FF
DELAYMOTOR2: DJNZ R7,DELAYMOTOR2 DJNZ R6,DELAYMOTOR1
RET
; 0 1 2 3 4 5 6 7 8 9
SEG: .BYTE $C0,$F9,$A4,$B0,$99,$92,$82,$F8,$80,$90,$C0,$BF,$BF KATAPENUH .BYTE $8C,$86,$C8,$C1,$89
DATASTEPPER1 .BYTE $11,$22,$44,$88,$0
DATASTEPPER2 .BYTE $88,$44,$22,$11,$0 .END
(29)
unit FUTAMA;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, QCCom32,printers, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm) Panel1: TPanel; pmobil1: TPanel; pmobil2: TPanel; pmobil3: TPanel; pmobil4: TPanel; pmobil5: TPanel; pmobil6: TPanel; pmobil7: TPanel; pmobil8: TPanel; pmobil9: TPanel; pmobil10: TPanel; Label1: TLabel; Label2: TLabel; Enomor: TEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel;
(30)
Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Bmasuk: TBitBtn; Panel2: TPanel; Timer1: TTimer; Com: TQCCom32; PLOKASI: TPanel; Label13: TLabel; Label14: TLabel; Table1: TTable; DataSource1: TDataSource; ptanggal: TPanel; pjam: TPanel; BitBtn2: TBitBtn; Label15: TLabel; Label16: TLabel; Panel3: TPanel; Panel4: TPanel; Panel5: TPanel; DBGrid1: TDBGrid; Label17: TLabel;
procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BmasukClick(Sender: TObject); private
{ Private declarations } public
(31)
{ Public declarations } end; var Form1: TForm1; datars232:string; stlok1, stlok2, stlok3, stlok4, stlok5, stlok6, stlok7, stlok8, stlok9,
stlok10 :boolean; stisi:boolean;
lokasiparkir:integer; implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
ptanggal.caption:=formatdatetime('dd/mm/yyyy',DATE); pjam.caption:=formatdatetime('hh:mm:ss',time);
datars232:=com.read; if length(datars232)>10 then
(32)
begin
if copy(datars232,1,1)='1' then stlok1:=true else stlok1:=false; if copy(datars232,2,1)='1' then stlok2:=true else stlok2:=false; if copy(datars232,3,1)='1' then stlok3:=true else stlok3:=false; if copy(datars232,4,1)='1' then stlok4:=true else stlok4:=false; if copy(datars232,5,1)='1' then stlok5:=true else stlok5:=false; if copy(datars232,6,1)='1' then stlok6:=true else stlok6:=false; if copy(datars232,7,1)='1' then stlok7:=true else stlok7:=false; if copy(datars232,8,1)='1' then stlok8:=true else stlok8:=false; if copy(datars232,9,1)='1' then stlok9:=true else stlok9:=false; if copy(datars232,10,1)='1' then stlok10:=true else stlok10:=false; end;
if stlok1 then pmobil1.color:=clred else pmobil1.Color:=clteal; if stlok2 then pmobil2.color:=clred else pmobil2.Color:=clteal; if stlok3 then pmobil3.color:=clred else pmobil3.Color:=clteal; if stlok4 then pmobil4.color:=clred else pmobil4.Color:=clteal; if stlok5 then pmobil5.color:=clred else pmobil5.Color:=clteal; if stlok6 then pmobil6.color:=clred else pmobil6.Color:=clteal; if stlok7 then pmobil7.color:=clred else pmobil7.Color:=clteal; if stlok8 then pmobil8.color:=clred else pmobil8.Color:=clteal; if stlok9 then pmobil9.color:=clred else pmobil9.Color:=clteal; if stlok10 then pmobil10.color:=clred else pmobil10.Color:=clteal; end;
procedure TForm1.FormCreate(Sender: TObject); begin
stlok1:=false; stlok2:=false; stlok3:=false;
(33)
stlok4:=false; stlok5:=false; stlok6:=false; stlok7:=false; stlok8:=false; stlok9:=false; stlok10:=false; lokasiparkir:=0; stisi:=true;
end;
procedure TForm1.BmasukClick(Sender: TObject); begin
if (not STLOK1) and stisi then begin lokasiparkir:=1;stisi:=false;end; if (not STLOK2) and stisi then begin lokasiparkir:=2;stisi:=false;end; if (not STLOK3) and stisi then begin lokasiparkir:=3;stisi:=false;end; if (not STLOK4) and stisi then begin lokasiparkir:=4;stisi:=false;end; if (not STLOK5) and stisi then begin lokasiparkir:=5;stisi:=false;end; if (not STLOK6) and stisi then begin lokasiparkir:=6;stisi:=false;end; if (not STLOK7) and stisi then begin lokasiparkir:=7;stisi:=false;end; if (not STLOK8) and stisi then begin lokasiparkir:=8;stisi:=false;end; if (not STLOK9) and stisi then begin lokasiparkir:=9;stisi:=false;end; if (not STLOK10) and stisi then begin lokasiparkir:=10;stisi:=false;end;
stisi:=true;
(34)
table1.Refresh; table1.Last; with table1 do begin Insert; fieldbyname('tanggal').asstring:=ptanggal.caption; fieldbyname('jam').asstring:=pjam.caption; fieldbyname('no_polisi').asstring:=enomor.Text; fieldbyname('lok_parkir').AsString:=inttostr(lokasiparkir); end;
with Printer do begin
BeginDoc;
canvas.Textout(320,10, '====PARKING SYSTEM===='); canvas.textout(320,80, '---'); canvas.TextOut(320,150, 'Tanggal: '+ptanggal.caption); canvas.TextOut(320,220,'Jam : '+pjam.caption); canvas.TextOut(320,290,'No Kendaraan: '+enomor.text);
canvas.TextOut(320,360,'Lokasi Parkir: '+inttostr(lokasiparkir)); canvas.textout(320,430,'**********************************'); canvas.textout(320,500,' Terima kasih');
EndDoc; end;
end;
(35)
LAMPIRAN C
(36)
Gambar 1 Sensor TX
(37)
Gambar 3 Bagian Pengontrol
(38)
LAMPIRAN D
DATA KOMPONEN
(39)
(40)
(41)
(42)
(43)
(44)
(45)
(46)
(47)
(48)
(49)
(50)
(51)
(52)
(53)
(54)
(55)
(56)
(57)
(58)
(59)
(60)
(61)
(62)
(63)
(64)
(65)
(66)
(67)
(68)
(69)
BAB I
PENDAHULUAN
I.1 Latar Belakang
Dengan semakin berkembangnya teknologi dan meningkatnya taraf hidup serta kepadatan penduduk yang sangat tinggi, mengakibatkan meningkatnya kebutuhan mobilitas masyarakat yang sangat cepat.
Meningkatnya taraf hidup seseorang akan menyebabkan bertambahnya jenis dan jumlah kebutuhan untuk menunjang rutinitas sehari-hari. Salah satu kebutuhan yang secara umum diperlukan oleh masyarakat dewasa ini adalah sarana transportasi untuk menunjang kebutuhan mobilitas yang semakin tinggi. Mobil merupakan salah satu kebutuhan yang meningkat menjadi kebutuhan primer, mengingat efisiensi, keamanan dan kenyamanan yang diberikannya.
Dalam kenyataannya, salah satu kendala yang sering kali dijumpai oleh pengguna mobil adalah sulitnya mendapatkan lokasi parkir terutama ditempat-tempat umum. Hampir setiap saat terjadi antrian yang cukup panjang untuk menunggu lahan parkir yang kosong. Padahal luas lahan parkir yang tersedia sebenarnya cukup memadai, akan tetapi penggunaan lahan parkir tersebut belum sepenuhnya.
Untuk itu diperlukan suatu sistem penunjang yang bisa meningkatkan kapasitas dan efisiensi penggunaan lahan parkir. Berdasarkan keadaan tersebut maka dilakukan percobaan membuat model sistem parkir mobil secara terpadu.
(70)
I.2 Identifikasi Masalah
• Bagaimana merealisasikan suatu sistem yang dapat dipergunakan untuk melakukan pengaturan parkir mobil secara terpadu ?
I.3 Tujuan
• Membuat perangkat keras dan lunak dari sistem pengaturan parkir terpadu yang dirancang dan direalisasikan dengan menggunakan mikrokontroler MCS 51
I.4 Pembatasan Masalah
1. Program yang dipergunakan adalah Borland Delphi. 2. Mikrokontroler yang digunakan adalah AT89C 51.
3. Motor stepper yang digunakan adalah motor stepper unipolar. 4. Jarak sensor infra red maksimum 3 meter.
5. Jumlah tempat parkir 10 tempat. 6. Waktu scanning 10 detik. 7. Proses scanning searah.
I.5 Sistematika Pembahasan BAB I. PENDAHULUAN
Berisi latar belakang dari tugas akhir, identifikasi masalah, tujuan penulisan, pembatasan masalah, dan terakhir adalah sistematika pembahasan.
BAB II. TEORI PENUNJANG
Berisi dasar teori sistem mikrokontroler AT89C51, konsep komunikasi serial, dan komponen-komponen lain yang digunakan.
BAB III. PERANCANGAN DAN REALISASI ALAT
Berisi kegiatan perancangan dan pembuatan hardware dan software.
(71)
BAB IV. UJICOBA DAN PEMBAHASAN
Berisi kegiatan pengujian alat yang telah dibuat apakah berfungsi dengan baik sesuai dengan tujuan awal.
BAB V. KESIMPULAN DAN SARAN
(72)
BAB V
KESIMPULAN DAN SARAN
V.1. Kesimpulan
Berdasarkan hasil perancangan, pengukuran, pengujian dari model sistem pengaturan parkir dapat ditarik kesimpulan sebagai berikut:
1. Alat yang dibuat telah bekerja dengan baik.
2. Mekanik sangat menentukan keberhasilan sistem berjalan dengan baik. 3. Posisi sensor Tx dan Rx tidak harus tegak lurus,,karena sensor yang
digunakan memiliki derajat kemiringan sebesar 30o. .
V.2. Saran
Untuk pengembangan lebih lanjut, penulis mempunyai beberapa saran sebagai berikut:
1. Program yang digunakan tidak hanya program delphi tetapi ada beberapa program lain.
2. Untuk mengatasi permasalahan mekanik disarankan menggunakan sensor yang didalamnya sudah terdapat Tx dan Rx dalam satu paket modulnya, dan juga akan membantu proses scanning yang lebih akurat.
3. Petunjuk lokasi parkir pada tiket parkir lebih baik tidak ditampilkan, karena keterbatasan sistem.
(73)
DAFTAR PUSTAKA
1. Fendi. Eduard, Haryono. Widyatmo, Arianto, “Belajar Mikroprosesor-Mikrokontroller Melalui Komputer PC“., PT Elex Media Komputindo., 1999.
2. Inge, Martina, “Pemrograman Visual Borland Delphi 7”., PT Elex Media Komputindo., 2004.
3. Malik, Moh. Ibnu, Anistardi, Bereksperimen dengan Mikrokontroller 8051., PT Elex Media Komputindo., 1999.
4. Putra, Agfianto.E, “Belajar Mikrokontroller AT89C51/52/55 Teori dan Aplikasi”, Gava Media, Yogyakarta, 2002.
(1)
(2)
BAB I
PENDAHULUAN
I.1 Latar Belakang
Dengan semakin berkembangnya teknologi dan meningkatnya taraf hidup serta kepadatan penduduk yang sangat tinggi, mengakibatkan meningkatnya kebutuhan mobilitas masyarakat yang sangat cepat.
Meningkatnya taraf hidup seseorang akan menyebabkan bertambahnya jenis dan jumlah kebutuhan untuk menunjang rutinitas sehari-hari. Salah satu kebutuhan yang secara umum diperlukan oleh masyarakat dewasa ini adalah sarana transportasi untuk menunjang kebutuhan mobilitas yang semakin tinggi. Mobil merupakan salah satu kebutuhan yang meningkat menjadi kebutuhan primer, mengingat efisiensi, keamanan dan kenyamanan yang diberikannya.
Dalam kenyataannya, salah satu kendala yang sering kali dijumpai oleh pengguna mobil adalah sulitnya mendapatkan lokasi parkir terutama ditempat-tempat umum. Hampir setiap saat terjadi antrian yang cukup panjang untuk menunggu lahan parkir yang kosong. Padahal luas lahan parkir yang tersedia sebenarnya cukup memadai, akan tetapi penggunaan lahan parkir tersebut belum sepenuhnya.
Untuk itu diperlukan suatu sistem penunjang yang bisa meningkatkan kapasitas dan efisiensi penggunaan lahan parkir. Berdasarkan keadaan tersebut maka dilakukan percobaan membuat model sistem parkir mobil secara terpadu.
(3)
I.2 Identifikasi Masalah
• Bagaimana merealisasikan suatu sistem yang dapat dipergunakan untuk melakukan pengaturan parkir mobil secara terpadu ?
I.3 Tujuan
• Membuat perangkat keras dan lunak dari sistem pengaturan parkir terpadu yang dirancang dan direalisasikan dengan menggunakan mikrokontroler MCS 51
I.4 Pembatasan Masalah
1. Program yang dipergunakan adalah Borland Delphi. 2. Mikrokontroler yang digunakan adalah AT89C 51.
3. Motor stepper yang digunakan adalah motor stepper unipolar. 4. Jarak sensor infra red maksimum 3 meter.
5. Jumlah tempat parkir 10 tempat. 6. Waktu scanning 10 detik. 7. Proses scanning searah.
I.5 Sistematika Pembahasan BAB I. PENDAHULUAN
Berisi latar belakang dari tugas akhir, identifikasi masalah, tujuan penulisan, pembatasan masalah, dan terakhir adalah sistematika pembahasan.
BAB II. TEORI PENUNJANG
Berisi dasar teori sistem mikrokontroler AT89C51, konsep komunikasi serial, dan komponen-komponen lain yang digunakan.
BAB III. PERANCANGAN DAN REALISASI ALAT
(4)
BAB IV. UJICOBA DAN PEMBAHASAN
Berisi kegiatan pengujian alat yang telah dibuat apakah berfungsi dengan baik sesuai dengan tujuan awal.
BAB V. KESIMPULAN DAN SARAN
(5)
BAB V
KESIMPULAN DAN SARAN
V.1. Kesimpulan
Berdasarkan hasil perancangan, pengukuran, pengujian dari model sistem pengaturan parkir dapat ditarik kesimpulan sebagai berikut:
1. Alat yang dibuat telah bekerja dengan baik.
2. Mekanik sangat menentukan keberhasilan sistem berjalan dengan baik. 3. Posisi sensor Tx dan Rx tidak harus tegak lurus,,karena sensor yang
digunakan memiliki derajat kemiringan sebesar 30o. .
V.2. Saran
Untuk pengembangan lebih lanjut, penulis mempunyai beberapa saran sebagai berikut:
1. Program yang digunakan tidak hanya program delphi tetapi ada beberapa program lain.
2. Untuk mengatasi permasalahan mekanik disarankan menggunakan sensor
yang didalamnya sudah terdapat Tx dan Rx dalam satu paket modulnya, dan juga akan membantu proses scanning yang lebih akurat.
3. Petunjuk lokasi parkir pada tiket parkir lebih baik tidak ditampilkan, karena keterbatasan sistem.
(6)
DAFTAR PUSTAKA
1. Fendi. Eduard, Haryono. Widyatmo, Arianto, “Belajar Mikroprosesor-Mikrokontroller Melalui Komputer PC“., PT Elex Media Komputindo., 1999.
2. Inge, Martina, “Pemrograman Visual Borland Delphi 7”., PT Elex Media Komputindo., 2004.
3. Malik, Moh. Ibnu, Anistardi, Bereksperimen dengan Mikrokontroller 8051., PT Elex Media Komputindo., 1999.
4. Putra, Agfianto.E, “Belajar Mikrokontroller AT89C51/52/55 Teori dan Aplikasi”, Gava Media, Yogyakarta, 2002.