MO
ITORI
G SUHU KOTAK OBAT BERBASIS PC
!" #$%&&$#'(
PROGRAM STUDI TEK
IK ELEKTRO
FAKULTAS SAI
S DA
TEK
OLOGI
U
IVERSITAS SA
ATA DHARMA
YOGYAKARTA
FI
AL PROJECT
PC BASED TEMPERATURE MO
ITORI
G OF
MEDICI
E BOX
)
*
+ +
+
+
+
+
,
*
#$%&&$#'(
ELECTRICAL E
GI
EERI
G STUDY PROGRAM
SCIE
CE A
D TECH
OLOGY FACULTY
SA
ATA DHARMA U
IVERSITY
YOGYAKARTA
v
vi
! " #
#
$
# # %
& &%
$
# '&
(
) % # &
*
%
!
*
$
#
#
& &
)
#
& ( +
#
! *
& &%
%&#&# ! )
% )
# )
&
&
!
(
#&%& !
# ) )& !
&
&
!
# )
!
#
!
# #
! ) !
)
, !
#
'&
! - .
&
# #
#
- &
# !
) !
# %
&
%
#&%&
' !
!
-! )
&
!
!
!
!
(
-# #
&
#&%&
!
!
&)
!
!
-) %
- - -) (
!
-) %
- - -)
&
!
(
' !
#&
-!&)
*
TLP434A Ultra Small Transmitter.
# )
)&
!
-!&)
*
!
) )& &!
&
-!&) #
!
.
&
# /00,10
2((
!
-!&)
RLP434A SAW
Based Receiver
!
!
!
&
) #
)
(
!
,
-
)
#
- -
&
+ #& )
# * % &#
!
&
%
) ! !
)
' ! ! ! #
)
!
!
)
' !
.
&! %
&
& #&%& -
-
(
)
)
# &
#
%
,
- - -)
#&! % !
! !
(
!
-) %
- - -)
) % !
!
)
!
!
&
) #
) !
! ! #
& !
#
&
** ##(
%
, !
. # ) #
!
!
!
.
&
& &
&! %
-# #
#&%&(
& * 3
&
!
,
-
)
#
- -
#&%&,
- - -)
vii
ABSTRACT
%
! $ )-
-. ! # # #
*
)
*-
-
$
* , #- #
! !
$
-&#
%-! -
( 5
-. %
%-!# # &#
$ **
#
-! -
$
% ! # # ( + **
"% *% #
!
!# #
* )
# -
( 6-
- -
%
& , #- % # .
2
&
,
# !
# *-
* ! " % *- -))
# #
! #
! # )
, #
)#- *-
* ! " %
! - . 7&
*
#
* *&
#
! &
.-"
) ## *-
& * -
" %
#- $
*%
# % # %
!
%
-! ) -.
.
2
&
*
- - !
(
%
-** ## -.
&
- -
#
. -
#.
!
* -*- -)) (
% #
* -*- -))
" ))
#
! (
%
, % #
!
" ))
*-
%
& -.
TLP434A Ultra Small Transmitter
( % -& & -. % #
-!&)
" ))
#
! %-& % %
&#
-!&) - " % . 7&
* /00,01
2(
RLP434A SAW Based Receiver,
! "% *% #
* $ ! " ))
#
! &#
#
) *
)
-
(
, + #& )
# * #-. "
&# *%
!
!
) "% *% #
**
!
*-
! *
) ! #- # *
#%-"
% *#( #
&# #
#
- -
%
&
-.
! *
&
(
)
-
-. % # .
)
,
* -*- -))
% #
#
! % !
" ))(
!
* $
!-
- "-
-
) (
%
!
"% *% #
#
!
* -*- -))
% #
.-
!
" )) " % &#
#
) *
)
! )) -. % !
*
# - ! &#
** ## !
# (
# !! - , %
# -
! #) !
. * ) #
"% *% *
&# !
&# # -
&
- -
-* ##
#
(
"- !# 3 .
2
&
, #-. "
) * - -.
&
- -
,
4101
viii
PUBLIKASI KARYA ILMIAH U TUK KEPE TI GA AKADEMIS
!
!
" %
, #
% # #"
$ # #
%
3
3
!
.
- -
% # #"
3 8/199/8:;
) &
%&
, #
!
&#
$ # #
%
)
% #
'&!&) 3
MO ITORI G SUHU KOTAK OBAT BERBASIS PC
#
!
)&
< )
! =(
!
#
!
&#
$ # #
%
%
& &
,
) %
! )
&
!
)
,
)-)
! )
&
)
! ,
! #
&#
# *
#, !
& )
#
!
&
!
)
& &
!
#
)&
'
!
#
& &
-
)
! #
# )
*
&
#
#
&) #(
#
& !
#
(
& !
-!
) 3 :4
:884
ix
KATA PE GA TAR
&' # & &
!
&%
# #
)
&
# %
&) # !
) #
&) #
&
#
%
(
&
#
%
'&!&) 3 > - -
&%&
-
5
?
! %
!
- &
#
# !
)&
#
)
#
!
&
!
# (
&
#
%
! &) # & &
&% # ) % # & #
! )
-) %
)
# '
!
-
# &!
)
-
$ # #
%
(
&) #
#
#
! ! #
!
% # ) % # )
&) #
-) %
!
#
*
) ,
&
) , #
! % # )
&'
&'
) (
&) #
&*
# %
!
%
) %
,
&
, !
%
# %
)
-
!
! # ) #
, !
3
9(
#&#
# &#,
) !&
% !&
&
:(
&
(@&
,
( (, ( ( # )
& !-#
#
#
) %
#&
,
%
, #
# )
'
&
#
%
(
0(
(
'
! - # )
& !-#
#
#
!
) %
#
!
&) # & &
&
#
#
! )
'
-
!
) %
# %
&) #
!
) #
-
!
(
/(
(
&
"
, ( ,
(
( # )
&
& '& &#
)
) %
'
!
&) # & &
&
. # ) # )
- - &
# )
'
&
#
%
(
1(
&#
-
-"-, ( ( # )
&
)
)
-;(
!
& !-#
A& &#
)
-
) %
! !
!
'
% )
&
& &
# !
&) #(
B(
)& &% # . #
) %
&
&) # ! )
& &# #
&
# ) % !
# # # )
&) %
!
$ # #
%
(
x
) #
&
#
%
"
&(
98(
&!
# &!
&
) %
&
!
&) #
# %
&
' !
!
! (
99(
:88/, #
-
-
# ) )&(
9:(
&
%
) % )
!
!
&) # #
&
# &
# &,
# % # #
& !& &
(
&) #
!
%"
&) #
#
#
# %
!
&
(
)
!
#
!
%
&) #
& &
# )
'&
(
-
&) #
!
.
* (
# %(
-
, 98
:884
xi
DAFTAR ISI
)
A&!&)DDDDDDDDDDDDDDDDDDDDD(DDDDD(
# %
-) %
DDDDDDDDDDDD((DDDD(((
# %
-) %
&' DDDDDDDDDDDD(DDDDDDD
#)
DDDDDDDDDDDDDDDDDD(
$
)
#
%
!
- -
!& ((DDDDDDDDDDDDDDD((
$
#
DDDDDDDDDDDD((DDDDDDDDDDDD((DDDD(((
$
# * DDDDDDDDDDDDDDDDDDDDDD(DDDDDDD
$
# &'&
& )
#
)
% DDDDDDDDDD(
$
DDDDDDDD(DDDDDDDDDDDDDDDDDD(
E
.
# DDDDDDDDDDDD(((((DDDDDDDDDDDDDDD((
E
.
DDDDDDDDDDDDDDDDDDDDDDDDDD((
E
.
)DDDDDDDDDDDDDDDDDDDDDDDDDDD((
E$
! %&)&
DDDDDDDDDDDDDDDD(DDDDD
9
9(9(
)
DDDDDDDDDDDDDDD(DDD
9
9(:(
&'&
!
. ((DDDDDDDDDDDDDDDD
9
9(0(
#
# ) %D((( DDDDDDDDDD(DDDDD((
:
9(/(
-!-)-
)
DDDDDDDD(DDDDDDD(
:
9(1(
#
&) #
(DDDDDDDDDD(DDDDD((
0
#
- DDDDDDDDDDDDD((DDDDDDD((D
1
:(9(
- &
#
)
4101DDDDDDDDDDD(
1
:(:(
) &!
% .
<
=DDDDDDDDDDDD(
C
:(:(9(
<
= DDDDDDDDDDDDD(
C
:(:(:(
) &!
% .
<
=DDDDDD
98
:(0(
- &
#
)
:0:DDDDDDDDDDD(((DD((
9:
:(/(
- . & #
)
CDDDDDDDDDDDD(((DD((
9/
:(1( + #& )
# *DDDDD(((DDDDDDDDDDD(((DD((
9B
:(1(9(
&
-
-
DDDDDDDDDD((
9B
xii
:(1(/(
&
-
-
-
!
& - DDDDD((
94
:(1(1(
# #
&
*- -)
-
DDDD
9C
:(1(;(
-
# ! )
+ #& )
# *DDDDD
9C
:(1(;(9(
' )
** ##DDDDDDDDD
9C
:(1(;(:( 5 '
# ! )
** ##DDDDD(
:8
:(1(;(0(
&
) !
** ##DDDD(((
:9
:(1(;(0(9(
&
)
&DDDDDD((
::
*
&
(((DDDDDDDDDDDDD((
:/
0(9(
- &
# #
)
!
- - -)
+
#
4101DDDDDDDDDDDDDDDDDDD(
:/
0(:(
)
-!&)
*
((DDDD(D((
:B
0(0(
-
)
.
&%&
&
+ #& )
# *
;(8((((((((((((((DDDDDDDDDDDDDDDDDDDD(
:B
+
# ) !
% #
DDDDD( DDDDDD(((DDD((DD((
0/
/(9(
# )
&'
-# #
!
- - -)
4101DDDDDDDDDDDDDDDDDDD(
00
/(:(
# )
&'
&
DDDDD DDD((DDD
0B
/(:(9(
)
" )
# )
*
&
((D
04
/(:(:(
# )
&'
D(D((((((DD
/9
/(:(0(
# )
&'
)
. DDD(D((D(
/1
/(:(/(
# )
&'
DD(D(((D(
1:
/(0(
!
# )
&
!
.
- -))
&
-
5
DDDDDDDDDDDDDDD(
1B
+
#
&)
!
DDDDDDDDDDDDDDDDD(((
;8
1(9(
#
&)
DDDDDDDDDDDDDDDDDDD((
;8
1(:(
DDDDDDDDDDDDDDDDDDDDDD
;8
.
&#
DDDDDDDDDDDDDDDDDDDDDDDDD((D
;9
xiii
DAFTAR GAMBAR
:(9( < =
)
.-
# < =
)
(((((((((DDDDDDD(((DD((
98
:(:( < =
-!&) -
< =
-!&) -
D(((DDDD((((((D((
98
:(0(
-!&) #
< =
)
-!&) # < =
)
<*=
)
DDDDDDDDDDDDDDDDDDDDD((DD(
99
:(/( < =
-!&) -
< =
-!&) -
(((DD((DDDD((
9:
:(1(
$ )
:0:DDD(((DDDDD((DDDD(((DDDD
9/
:(;(
- . & #
F:0:DD(((DDDDDDDDDD(((D((D((D
9/
:(B(
*&
F :0:DDDDDDDDDDDDDDD(((((
9/
:(4(
- . & #
)
CDDDDD(((DDDDDDDDD(((D(((
91
:(C(
)
" )
** ##DDDDDDDDD((DDDDDD(((
:8
:(98(
5 '
!
** ##DD(((((((DDDDDD(DDDDDDD(
:9
:(99(
)
6 )
# ((DDDD(DDDDDDD(
::
:(9:(
)
) ((((((DD(DDDDDDDDDDDDDD
::
:(90(
)
&
)
&(DD(((DDDDDDDDDDD
:0
0(9(
)-
#
DD(((DDDD((DDDDDDDDDDD(((
:/
0(:( 6-)"*%
# ) # #
- - -) D(((DDDDD((DDDDD((
:;
0(0( 6)-"*%
-# #
- - -) ((DDD((DDD(
:;
0(/(
)-
&
- - -)
-!&)
*
-!&)
DDDDDD(DDDDDDDDDD
:B
0(1( 6)-"*%
.
) &%&(DDDDDDDDDDDDDD(
:C
0(;(
)
-# #
DD((((DDDDDDDD((
08
0(B(
)
-# #
&
. # ) # #) ! (DDDDDDDD((
0:
0(4(
)
&
. # ) # - DD(((DDD((DDDD(((
0:
0(C(
*
)
-
+ #& )
# * ;(8(DDDDDDDD(((((
00
/(9(
# )
)&
&
!
)D(DD(((
0;
/(:(
# )
)&
&
) #
) D(((DDDDDDDD(((
0B
/(0( 6-
&) DDD(((D(DDDDDDDDDDDDDDDDD(((
0C
xiv
/(;(
)
)
!
#&
DD(DDDDDDDDDD(((
/:
/(B(
#
)
!
# -EDDDDD(((DDDDDDDDDDD
/:
/(4(
)
.
# *
# )& &%
DDDDDDDDDDDDD(
/1
/(C(
)
988 !
# #) !
! &
DDDD(DD(
/;
/(98(
)
) &!- !
#
-&# !
)
!
&D(((
/;
/(99( A
! )
-$ !
!
-
#(((DDDDDDDDD
10
/(9:( A
! )
-
* -
!
-
#DDDDDDDD((
10
/(90( A
! )
-
*- ! -& * DDDDDDDDDDDDDD(
1/
/(9/(
)
#
&
** ##(DDDDDDDDDD
1/
/(91(
# )
)
& &
.
!
-
+ #& )
# *(DD(
1B
xv
DAFTAR TABEL
) :(9(
<
- -)
! &#
#
=DDD(((DDD(((((((
;
) :(:(
<
- -)
! &#
#
=((DDD(((DD((D(((
;
) :(0(
<
- -)
! &#
#
=((DDDDD(((D(((((
B
) :(/(
&
-!
# DDDDDDDDDDDD(DD(((DDD((
4
) :(1(
)
DDDDD(((DDDDDDDDDDDDDDDD(((
99
) :(;(
- . & #
!
)
-
-
)
C((D(((DDD((
91
) :(B(
#
#
)
((DDDDDDDDDDDDD(((
9;
) :(4( 5 '
- '
! )
** ##((DDDDDDDDD(DD(((DDD((
:9
1
PE DAHULUA
1.1 Latar Belakang
!
"
#
#
$
#
%
"
"
"
1.2 Tujuan dan Manfaat
&
"
#
2
(
&
)
$
'
%
$
#
(
'
"
%
*
+
(
'
#
1.3 Batasan Masalah
(
'
(
(
,
(
-# %!. /0/
(
1
"
2
(
3 "
1.4 Metodologi Penelitian
4
%
'
&
5
/ &
"
0 &
"
#
2
6 &
7 &
!
$
8 &
5
1.5 Sistematika Penulisan
'
- )9$!:151!9
"
-- $! !4
&);4-4 (/0/
4
-2 :! -5 $!9 )% !:! !9
2 ,) -% 15!9 $!9 !4!9
5
DASAR TEORI
Pada bab ini akan dijelaskan beberapa hal yang diperlukan untuk menunjang
penelitian yang dilakukan :
Komunikasi Serial Mikrokontroler AVR seri ATMega8535 .
Amplitude Shift Keying (ASK)
Komunikasi Serial RS232
Konfigurasi Serial DB9
Software Visual Basic.
2.1 Komunikasi Serial ATMega8535
ATMega8535 telah dilengkapi
Universal Synchronous and Asynchronous serial
Receiver and Transmitter (USART). Melalui USART dapat dilakukan komunikasi secara
serial dengan komputer atau perangkat lainnya[3]. Sistem USART ATMega8535
memiliki beberapa keuntungan dibandingkan dengan sistem UART, yaitu :
1. Operasi full duplex
2. Mode operasi asinkron dan sinkron
3. Mendukung komunikasi multiprosesor
4. Mode kecepatan transmisi berorde Mbps
Komunikasi USART dilakukan melalui pin RXD (PD0) dan TXD (PD1) serta pin
XCK (PB0) untuk komunikasi
synchronous . Untuk mengontrol USART digunakan
register UCSRA, UCSRB dan UCSRC ( USART
Control and Status Register A,B,C )
dan UBRR ( USART Baud Rate Register ).
UCSRA (USART Control and Status Register A)
•
RXC – USART Receive Complete
, bit ini akan aktif jika ada data masuk.
6
Tabel 2.1. UCSRA (USART Control and Status Register A)[3]
Bit
7
6
5
4
3
2
1
0
RXC
TXC
UDRE
FE
DOR
PE
U2X
MPCM
Read/Write
R
R/W
R
R
R
R
R/W
R/W
Initial Value
0
0
1
0
0
0
0
0
•
UDRE – USART Data Register Empty
, bit ini menandakan
transmitter siap untuk
menerima data.
•
FE – Framing Error
, bit ini akan aktif jika terdapat error saat menerima data.
•
DOR – Data OveRun
, bit ini akan aktif jika ada data yang masuk namun register UDR
penuh ( belum dibaca ).
•
PE – Parity Error
, bit ini akan aktif jika terdapat error parity saat menerima data.
•
U2X – Double USART Transmission Speed
, bit ini digunakan untuk men
doubel
kecepatan baud rate.
•
MPCM – Multiprocessor Communication Mode
UCSRB (USART Control and Status Register B )
Tabel 2.2. UCSRB (USART Control and Status Register B)[3]
Bit
7
6
5
4
3
2
1
0
RXCIE TXCIE UDRIE RXEN
TXEN
UCSZ2 RXB8
TXB8
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R
R/W
Initial Value
0
0
0
0
0
0
0
0
•
TXCIE – USART Transmit Complete Interrupt Enable
, mengatur aktivasi interupsi
pengiriman data serial. Bernilai awal 0. Jika bernilai 1 dan jika bit pada TXC pada
UCSRA bernilai 1, interupsi pengiriman data serial akan dieksekusi.
•
UDRIE – USART Data Register Empty Interrupt Enable
, mengatur aktivasi
interupsi yang berhubungan dengan kondisi bit UDRE pada UCSRA. Bernilai awal 0.
Jika bernilai 1 maka interupsi akan terjadi hanya jika bit UDRE bernilai 1.
•
RXE. – Receive Enable
, merupakan bit aktivasi penerima serial ATMega 8535.
Bernilai awal 0. Jika bernilai 1, maka penerima data serial diaktifkan.
•
TXE. – Transmitt Enable
, merupakan bit aktivasi pengirim serial ATMega 8535.
Bernilai awal 0. Jika bernilai 1, maka pengirim data serial diaktifkan.
•
UCSZ2 – Character Size
, bersama dengan bit UCSZ1 dan UCSZ0 di register UCSRC
menentukan ukuran karakter serial yang dikirimkan. Pada saat awal, ukuran karakter
diset pada 8 bit.
•
RXB8 – Receive Data Bit 8
, menampung bit ke 8 pada penerimaan 9 bit.
•
TXB8 – Transmit Data Bit 8
UCSRC (USART Control and Status Register C )
UCSRC merupakan register 8 bit yang digunakan untuk mengatur mode dan kecepatan
komunikasi serial yang dilakukan.
•
URSEL – Register Select
, merupakan bit pemilih akses antara UCSRC dan UBRR
karena memiliki alamat yang sama. Bernilai awal 1 sehingga secara normal akan selalu
mengakses register UCSRC.
Tabel 2.3. UCSRC (USART Control and Status Register C)[3]
Bit
7
6
5
4
3
2
1
0
URSEL UMSEL UPM1 UPM0 USBS UCSZ1 UCSZ0 UCPOL
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Initial
Value
8
• UMSEL – USART Mode Select
, merupakan bit pemilih mode komunikasi serial
antara sinkron dan asinkron. Bernilai awal 0 sehingga modenya asinkron. Jika bernilai 1,
maka modenya sinkron.
•
UPM 1:0 – Parity Mode
, merupakan bit pengatur paritas. Bernilai awal 00 sehingga
paritas tidak dipergunakan. Detail nilainya dapat dilihat pada table berikut :
Tabel 2.4 Penentuan Mode Paritas[3]
UPM 1 : 0
Mode Paritas
00
Tidak aktif
01
Tidak digunakan
10
Paritas genap
11
Paritas ganjil
•
USBS – Stop Bit Select
, merupakan bit pemilih ukuran bit stop. Bernilai awal 0
sehingga jumlah bit stop yaitu 1 bit. Jika bernilai 0, maka jumlah bit stop yaitu 2 bit.
•
UCSZ1 dan UCSZ0
merupakan bit pengatur jumlah karakter serial.
•
UCPOL – Clock Polarity
, merupakan bit pengatur hubungan antara perubahan data
keluaran dan data masukan serial dengan clock sinkronisasi. Hanya berlaku pada mode
sinkron. Untuk mode asinkron, bit ini diset 0.
Proses membangun hubungan komunikasi data serial memerlukan suatu
kecepatan data (data transfer rate ) yang sesuai, baik di sisi computer maupun di sisi
mikrokontroller. Ada beberapa hal yang perlu diperhatikan untuk membangun hal
tersebut di mikrokontroler, yaitu nilai
baud rate yang dipergunakan, seting format data
stop bit, dan pengaturan beberapa register seperti : RXEN, TXEN, dan RXCIE.
Pengaturan baud rate dilakukan dengan memberikan nilai pada register UBRR. Register
UBRR adalah register 16 bit sehingga terdiri dari UBRRH (UBRR High) dan UBRRL
(UBRR Low). Rumus yang dipergunakan adalah :
yaitu bit UDRE ( USART
Data Register Empty
). Bit UDRE merupakan indikator
kondisi register UDR. Jika UDRE bernilai 1, maka register UDR telah kosong dan siap
diisi dengan data yang baru.
Proses penerimaan data serial dilakukan dengan mengecek nilai bit RXC (USART
Receive Complete) pada register UCRSA. RXC akan bernilai 1 jika ada data yang siap
dibaca di buffer penerima, dan bernilai 0 jika tidak ada data pada buffer penerima. Jika
penerima USART dinonaktifkan, maka bit akan selalu bernilai 0.
2.2 Amplitude Shift Keying ( ASK )
Amplitude Shift Keying merupakan salah satu teknik proses modulasi sinyal
digital, yaitu sinyal yang bersifat diskret terhadap waktu, yang didapat dari proses
sampling, dan terkuantisasi secara nilai, kemudian setelah proses kuantisasi dilakukan
encoding sehingga nilai dari sinyal digital ini berbentuk nilai digit 0 dan 1[4,5].
Ada empat macam modulasi sinyal digital, yaitu modulasi digital dengan
mengubah amplitudo sinyal pembawa, disebut Amplitude Shift Keying (ASK), modulasi
digital dengan mengubah frekuensi sinyal pembawa, disebut Frequency Shift Keying
(FSK), modulasi digital dengan mengubah phasa sinyal pembawa, disebut Phase Shift
Keying (PSK), dan modulasi digital dengan mengubah amplitudo dan phasa sinyal
pembawa, disebut Quadrature Amplitude Modulation (QAM).
2.2.1 Binary – ASK (BASK)
Sinyal yang dikatakan termodulasi secara BASK didefinisikan dengan[4,5] :
s (t) = Am (t) cos (ω
ct)
0 ≤ t ≤ T
………..……(2.2)
A adalah konstanta, m(t) adalah sinyal data (sinyal pemodulasi) yang mempunyai nilai 0
atau 1, ω
cadalah frekuensi putar dari sinyal pembawa, dan T adalah lebar dari 1 bit.
Jadi jika sebuah sinyal digital, yang hanya mengandung 0 dan 1, dimodulasikan dengan
BASK, maka sinyal pembawa hanya akan dikalikan dengan 0 atau 1.
10
(pemodulasi) bernilai 0 atau 1. BASK disebut juga on – off keying (OOK). Gambar 2.2
menunjukkan modulator dan demodulator BASK,
Gambar 2.1.(a) Sinyal informasi (b) Sinyal BASK[4,5]
Gambar 2.2 . (a) Modulator BASK (b) Demodulator BASK[4,5]
2.2.2 M – ary Amplitude Shift Keying ( M7ASK)
Seperti halnya BASK, sinyal yang termodulasi secara M ASK didefinisikan dengan [4,5]:
s (t) = A
i(t) cos (ω
ct)
0 ≤ t ≤ T
………..…(2.3)
dengan nilai A
i:
A
i= A [ 2i – (M+1)]
………..………(2.4)
A adalah konstanta, i = 0, 1, 2, …, M
1, dan M ≥ 4. ω
cadalah frekuensi putar dari sinyal
pembawa, dan T adalah lebar dari 1 bit.
Tabel 2.5 Sinyal M ASK
Data
s(t)
Keterangan
0 0
Sinyal
pembawa
dikali
Amplitudo dan fasa 180
0(tanda minus)
0 1
Sinyal
pembawa
dikali
setengah Amplitudo dan
fasa 180
0(tanda minus)
1 0
Sinyal
pembawa
dikali
setengah Amplitudo
1 1
Sinyal
pembawa
dikali
Amplitudo
Gambar 2.3 menunjukkan sinyal M ASK yang dihasilkan dari sinyal modulasi 00 01 10
11
12
Proses modulasinya menggunakan alat pengubah serial menjadi parallel (Serial to
Parallel Converter), karena bit yang dating diambil masing masing dua bit untuk
dipasangkan. Dengan menggunakan pola seperti ini, maka sinyal termodulasi memiliki
lebar pita spektrum yang lebih kecil, dalam hal ini setengah dari BASK, tanpa harus
melanggar teorema sampling.
Kelemahan dari M ASK adalah lebih sensitif terhadap perubahan amplitudo, yang
disebabkan oleh sinyal gangguan selama proses transmisi. Gambar 2.4 menunjukkan
modulator dan demodulator M ASK
Gambar 2.4. (a) Modulator M ASK (b) Demodulator M ASK[4,5]
Modul pemancar dan penerima yang digunakan akan menggunakan modulasi ASK.
2.3 Komunikasi Serial RS232
Nama resmi dari standar
interface ini adalah
interface antara
data terminal
equipment dan
data communication employing serial binary data interchange, yaitu
suatu terminal yang menghubungkan antara terminal data dari suatu peralatan dan
peralatan komunikasi data yang yang menjalankan pertukaran data biner secara serial,
oleh industri komunikasi data disebut RS 232. Sejak dipublikasikan pertama kali pada
tahun 1962 ,
interface ini telah mengalami beberapa revisi dan sekarang yang banyak
dipergunakan adalah RS 232 revisi kelima yang dipergunakan pada tahun 1991 dan
disebut RS 232E atau EIA 232 E[6].
memiliki ketetapan hukum yang mengharuskan untuk digunakan dalam dunia
komunikasi data. Ada beberapa standar sederhana yang dikembangkan sendiri oleh
pembuat peralatan elektronik yang mungkin dapat diikuti, agar secara umum ada
kecocokan.
Standar lain yang menyangkut referensi aspek fungsi dan prosedur
interface
secara mekanikal dan elektrikal yang dipublikasikan oleh ITUT pada tahun 1993 adalah
standart V.25 dan V.28, sehingga RS 232E sebenarnya menyakup empat aspek, yaitu :
Mechanical : ISO21110
Electrical : V.28
Functional : V.24
Prosedural : V.24
Terdapat beberapa macam cara untuk menerapkan
interface data biner pada
komunikasi secara serial, salah satunya adalah RS 232 yang merupakan salah satu dari
standar yang dipilih dan sekarang telah dipakai secara luas dan dalam komunikasi data
umumnya digunakan untuk menghubungkan DTE (Data Terminal Equipment) ke DCE
(Data Communication Equipment) yang berupa peralatan sistem komunikasi analog.
RS232 merupakan salah satu standar
interface dalam proses transfer data antar
komputer terutama dalam bentuk serial transfer. Standar ini digunakan untuk
interface
antara peralatan terminal data dan komunikasi data, dengan munggunakan data biner
sebagai data yang ditransmisi. RS232 adalah suatu data
Serial Data Interface Standart
yang dikeluarkan oleh EIA. Standarisasi meliputi konektor, fungsi serta posisi tiap per
timming (pewaktu) dan level tegangan/arus.
Standar ini juga berisikan karakteristik sinyal listrik, karakteristik mekanik dan
cara operasional rangkaian fungsioanal[6,7] . Beberapa karakteristik rangkaian
fungsionalnya adalah sebagai berikut :
1. Tegangan terbuka maksimum 25 volt.
2. Keadaan logika `1` disebut “mark” ditandai dengan tegangan antara 5 volt sampai
dengan 15 volt.
14
4. Hambatan keluran DC harus dikurangi dari 700 ohm jika diberi tegangan 3 volt dan 15
volt, dan harus lebih besar 3000 ohm jika tegangan kurang dari 25 volt.
5. Slew rate harus lebih kecil dari 30 volt/detik. Waktu yang dipergunkan untuk melewati
daerah peralihan 3 volt sampai dengan +3 volt tidak boleh melebihi 1mdetik.
Gambar 2.5 Level Tegangan RS 232[6,7]
Beda tegangan 2 volt disebut sebagai noise margin dari RS232
6. Daerah tegangan antara 3 volt hingga +3 volt adalah invalid level, yaitu daerah
tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga,
level tegangan lebih negatif dari 25 volt atau lebih positif dari +25 volt juga harus
dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS232.
Komunikasi serial RS232 ini dilakukan oleh IC MAX232 yang berisikan 2 buah RS232
Line Driver dan 2 buah RS 232 Line Receiver. Berikut adalah konfigurasi pin dan circuit
dari IC MAX232 :
Gambar 2.6 Konfigurasi IC MAX232
Gambar 2.7 Circuit Diagram MAX 232
2.4 Konfigurasi Serial DB79
Gambar 2.8 Konfigurasi Serial DB 9[7]
Keterangan :
Pin 1(Data Carier Detect) berfungsi untuk medeteksi apakah DTE menerima data atau
tidak.
Pin2(Received Data) digunakan DTE untuk menerima data dari DCE
Pin3(Transmitted Data) digunakan DTE untuk mengirimkan data ke DCE.
Pin4(Data Terminal Ready) digunakan pada saat DTE memberitahukan kesiapan
terminalnya.
Pin5(Signal Ground) merupakan saluran ground.
Pin6(DCE Ready) berfungsi untuk menunjukan bahwa DCE siap untuk menerima data.
Pin7(Request To Send) digunakan pada saat DCE diminta mengirimkan data oleh DTE.
Pin8(Clear To send) digunakan pada saat DCE memberitahukan bahwa DTE boleh mulai
mengirimkan data.
Pin9(Ring Indicator) digunakan pada saat DCE memberitahukan ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya.
Berikut ini adalah konfigurasi pin dan nama sinyal konektor serial DB 9 :
Tabel 2.6. Konfigurasi Pin dan Nama Sinyal Konektor Serial DB 9[7]
.omor Pin
.ama Sinyal
Direction
Keterangan
1
DCD
In
Data Carrier Detect / Received
Line Signal Detect
2
RxD
In
Received Data
3
TxD
Out
Transmit Data
4
DTR
Out
Data Terminal Ready
5
GND
Ground
6
DSR
In
Data Set Ready
7
RST
Out
Request to Send
8
CTS
In
Clear to Send
16
Untuk dapat menggunakan port serial dalam hal ini COM1 maka perlu diketahui
alamatnya.
Base address COM1 biasanya adalah 1016(3F8h). Alamat tersebut adalah
alamat yang biasanya digunakan, tergantung dari komputer yang digunakan. Setelah
mengetahui
base address
nya, maka dapat ditentukan alamat register register yang
digunakan untuk komunikasi port serial ini. Berikut adalah tabel register register tersebut
beserta alamatnya :
Tabel 2.7. Nama Register Beserta Alamatnya[7]
.ama Register
Alamat Register
TX Buffer
3F8h
RX Buffer
3F8h
Baud Rate Divisor Latch LSB
3F8h
Baud Rate Divisor Latch MSB
3F9h
Interrupt Enable Register
3F9h
Interrupt Identification
Register
3FAh
Line Control Register
3FBh
Modem Control Register
3FCh
Line Status Register
3FDh
Modem Status Register
3FEh
•
RX Buffer
, digunakan untuk menampung dan menyimpan data dari DCE.
•
TX Buffer
, digunakan untuk menampung dan menyimpan data yang akan dikirim ke
port serial
•
Baud rate Divisor Latch LSB
, digunakan untuk menampung byte bobot rendah untuk
pembagi clock pada IC UART agar didapat baud rate yang tepat.
•
Baud rate Divisor Latch MSB
, digunakan untuk menampung byte bobot tinggi untuk
pembagi clock pada IC UART.
•
Interrupt Enable Register
, digunakan untuk menset interupsi apa saja yang akan
dilayani komputer.
•
Interrupt Identification Register
, digunakan untuk menentukan urutan prioritas
interupsi.
•
Modem Control Register
, digunakan untuk mengatur saluran pengatur modem
terutama saluran DTR dan saluran RST.
•
Line Status Register
, digunakan untuk menampung bit bit yang menyatakan keadaan
penerimaan atau pengiriman data dan status kesalahan operasi.
• Modem Status Register
, digunakan untuk menampung bit bit yang menyatakan status
dari saluran hubungan dengan modem.
2.5 Visual Basic
Form utama berupa tampilan menu menu yang dibuat dengan perangkat lunak berbasis
pada bahasa pemrograman visual basic, komponen yang digunakan antara lain :
Timer,
Label, Textbox , dan Comand Button[6,7].
2.5.1 Penggunaan Komponen Timer
Timer
adalah komponen pada
toolbox
yang digunakan untuk memberikan suatu
waktu tunda (delay) terhadap perintah yang dikenakan [6,7]. Untuk menggunakan
komponen timer langkah yang harus dilakukan adalah :
1. Mengambil komponen
timer
dari
toolbox
dan memasangnya pada
form
yang
digunakan.
2. Memberikan waktu tunda dengan mengisikannya pada properti interval dengan
persamaan waktu interval 1000 sama dengan 1 detik.
3. Komponen
timer
terdapat fasilitas
Enable
sehingga kita dapat mengeset mulainya
komponen timer.
2.5.2 Penggunaan Komponen Label
Untuk menggunakan komponen Label, langkah – langkahnya adalah[6,7]:
1. Mengambil komponen
Label
dari
Toolbox
dan memasangnya pada form yang
digunakan.
2. Pada
properti caption
disikan dengan tulisan yang ingin ditampilkan pada form yang
digunakan.
18
4. Komponen Label merupakan komponen
visual sehingga dapat diatur properti
visible
nya untuk ditampilkan atau tidak pada form sesuai dengan kebutuhan yang diinginkan.
2.5.3 Penggunaan Komponen TextBox
Untuk menggunakan komponen Textbox, langkah langkahnya adalah[6,7]:
1. Mengambil komponen
Textbox
dari
Toolbox
dan memasangnya pada form yang
digunakan .
2. Pada
properti caption
disikan dengan tulisan yang ingin ditampilkan pada form yang
digunakan.
3. Pada properti name dapat disikan nama dari pada komponen tersebut.
4. Komponen Textbox merupakan komonen visual sehingga dapat diatur properti visible
nya untuk ditampilkan atau tidak pada form sesuai dengan kebutuhan yang diinginkan.
5. Komponen
Textbox
dapat digunakan untuk memberikan suatu perintah dengan
memberikan input pada Textbox.
2.5.4 Penggunaan Komponen Command Button
Untuk menggunakan komponen
Command Botton, langkah – langkahnya adalah
[6,7]:
1. Mengambil komponen
Command Botton
dari
Toolbox
dan memasangnya pada form
yang digunakan.
2. Pada
properti caption
disikan dengan tulisan yang ingin ditampilkan pada form yang
digunakan.
3. Pada properti name dapat disikan nama dari pada komponen tersebut.
4. Komponen
Command Botton
merupakan komonen
visual
sehingga dapat diatur
properti
visible
nya untuk ditampilkan atau tidak pada
form
sesuai dengan kebutuhan
yang diinginkan.
2.5.5 Pengaksesan dengan menggunakan Kontrol MSComm
Kontrol MSComm menyediakan fasilitas komunikasi antara program aplikasi
yang dibuat dengan port serial untuk mengirim atau menerima data[7]. Setiap MSComm
hanya menangani satu port serial sehingga jika ingin menggunakan lebih dari satu port
serial, maka harus digunakan juga MSComm sebanyak port serial yang dipakai. Properti–
properti MSComm yang sering digunakan adalah sebagai berikut :
• CommPort : digunakan untuk menentukan nomor port serial yang akan dipakai
• Setting : digunakan untuk menset nilai baud rate, pariti, jumlah bit data, dan jumlah bit
stop
• PortOpen : digunakan untuk membuka ataupun menutup port serial yang dihubungkan
dengan MSComm ini
• Input : digunakan untuk mengambil data string yang ada pada buffer penerima
• Output : digunakan untuk menulis data string pada buffer kirim
2.5.6 Pemrograman Database dalam Visual Basic
Pemrograman database adalah pembuatan program (aplikasi) yang melibatkan
database sebagai penyimpan datanya. Pemrograman database dilakukan untuk membuat
aplikasi database[9]. Di dalam aplikasi database terdapat form untuk menginputkan data,
form transaksi, report/laporan, beserta databasenya. Pemrograman database ini dapat
menggunakan banyak tool seperti Visual Basic dengan Ms. Access, Visual basic dengan
SQL Server, Visual Foxpro, Ms. Access dan lain lain. Ms. Access sendiri selain untuk
menangani database juga dapat digunakan untuk membangun aplikasi database.Biasanya
Ms. Access hanya digunakan untuk menyimpan database. Untuk membuat aplikasi
database kita memerlukan bahasa pemrograman lain seperti visual basic. Pembuatan form
entri, form transaksi dan report/laporan dilakukan di visual basic, sementara access
digunakan untuk menyimpan data yang diinputkan maupun data yang akan disajikan ke
user saja.
2.5.6.1 Menjalankan MS Access
20
1. Klik tombol
Start
untuk membuka menu Start
2. Pilih Programs untuk menampilkan daftar program aplikasi yang ada pada komputer.
3. Kemudian klik Microsoft Access. Setelah dijalankan, pada layar monitor terlihat
jendela Ms. Access seperti pada gambar 2.9. berikut :
Gambar 2.9 Tampilan Awal MS Access[9]
Penjelasan:
Menu Bar berisi deretan menu menu yang disediakan Ms. Access
Tool Bar berisi deretan tombol yang digunakan untuk menjalankan perintah yang ada di
access
Tombol pengaturan jendela untuk memperbesar, meminimize maupun menutup jendela
Ms. Access.
Area Kerja digunakan untuk tempat pembuatan maupun pengeditan database
Status Bar untuk menampilkan status.
2.5.6.2 Objek Database Dalam Ms. Access
Gambar 2.10 Bar Objek di MS Access[9]
Objek yang terdapat dalam MS Access adalah :
Tabel 2.8 Objek objek dalam MS Access[9]
2.5.6.3 Membuat Tabel dengan MS Access
22
Gambar 2.11 Tampilan Penyimpanan File Database[9]
Tuliskan nama file yang diinginkan kemudian klik tombol create.
2.5.6.3.1 Membuat Tabel Baru
Klik Create table in Design View seperti gambar 2.12
Gambar 2.12 Tampilan Create Table[9].
Masukkan nama field pada kolom
Field .ame
kemudian pilih tipe datanya di kolom
Gambar 2.13 Tampilan Pembuatan Tabel Baru[9]
24
Wireless
•
!
"#$
"%
&' '
•
•
(
#
) *
!
"%
&' '
+,-
.
'
/
*
.
0
data transfer rate
1
-baud rate
. $$
9
baud rate
:)**
.
$
2
. $$ 3 0
*';
<= , 0 )6:)**11 7
2
. $$ 3 ;>
8888 88 0 ;1
!
.
&
.?@ *
(
9
&
.
(
.?@ *
.? $?
.$ AB
9
*
(
.? $?
. $$
9
(
$CA2
%CA2
" ?++
"
0
flowchart
1
.
0
flowchart
1
;
9
baud rate
(
9
"
baud rate
9
baud rate
"
9
26
;
4 D
+
4 D
9
9
9
buffer
-buffer
"
buffer
buffer
"
9
buffer
buffer
!
" "
#
$
" "
$ %
&
9
(
/
'
<=
" "
#
$
/
(
;
(
(
#
/
" "
$ %
&
&
) >
(
;
(
(
linear output
/ '
(
#
&
" ! 0
Amplitude Shift
Keying
1 .
D
' E
7
7
/
7
7
'
(
$ )
* +
+
plot
9
(
manual
auto save
.
9
:
E
E
%%B
(
E
$ ; ;
(
(
B E
$ ; ;
28
(
E
+?
"C; ;
:
"D
9
?
E
E
MSComm1.CommPort = 1
MSComm1.Settings = "9600,',8,1"
9
?-?-
9
?
:)**
9
baud rate
2
9
D
setting
&
9
9
&
9
9
.
MSComm1.PortOpen = True
"
true
false.
MSComm1.PortOpen = False
9
software
hardware
!
!
"
"
#
$
$
%
%
%
' 4 D
(
9
(
(
baud rate
9
9
<
software
#
serial port
9
"
9
30
9
9
9
E
(
E
9
9
9
(
9
(
D
9
(
0
save
1
manual
auto saving
D
(
0
flowchart
1
9
9
E
database
E
field
E
field
9
set point
field
field
field
9
)
E
D
-
)
field
%
software
#
(
slider
pointer
(
Slider
picture
Pointer
D
(
slider
pointer
>
&
9
(
slider
pointer
(
slider
2
9
slider Slider
9
slider
9
slider
32
(
pointer
mouse
time
2
time
F
textbox
textbox time
>
(
&
$
#
) *
: $
%
#
) *
!
%
-D
( D
%
9
(
%
%
E
%
B
9
(
34
BAB IV
HASIL DA PEMBAHASA
4.1 Hasil Pengujian Proses Pengiriman Data dari Mikokontoler
ATMega8535
!
"#$#
% &! '
Universal Asynchronous Receiver and Transmitter
(
baud rate
software
)
%
*
*
+
*
"
"
*
,
-.
buffer
1
buffer
1
buffer
0
buffer
2
buffer
buffer
,
buffer
byte
,
.
byte
*
00,.
3
/
#define USART_UBBR_VALUE 27 //boud 9600 ‘pengaturan nilai UBBR #define duty OCR2 // register OCR2 sebagai penentu duty cycle pada timer2
void USART_init(void) ‘inisialisasi komunikasi USART {
// Set baud rate
UBRRH = (uint8_t)(USART_UBBR_VALUE>>8); UBRRL = (uint8_t)USART_UBBR_VALUE;
// mengatur format ke 8 bit data, no parity, 1 stop bit UCSRC = (1<<URSEL)|(3<<UCSZ0);
// aktifkan pengirim dan penerima UCSRB = (1<<RXE;)|(1<<TXE;); }
void USART_vSendByte(uint8_t u8Data) {
// tunggu sampai data telah terkirim semua while((UCSRA&(1<<UDRE)) == 0); // kirimkan data
UDR = u8Data; }
uint8_t USART_vReceiveByte() {
// tunggu sampai data telah diterima semua while((UCSRA&(1<<RXC)) == 0);
// kembalikan nilai UDR sebagai penampung data yang diterima return UDR;
}
void kirim2monitor(long int vin) {
long int temp1, temp2; int n;
temp1=vin/1000;
n=pgm_read_byte(&Tulisan[temp1]); //nilai kali 10000 USART_vSendByte(n);
36
temp1 = vin B temp1; temp2 = temp1 / 100;
n=pgm_read_byte(&Tulisan[temp2]); USART_vSendByte(n);
temp2 = temp2 * 100; temp1 = temp1 B temp2; temp2 = temp1 / 10;
n=pgm_read_byte(&Tulisan[temp2]); USART_vSendByte(n);
temp2 = temp2 * 10; temp1 = temp1 B temp2;
n=pgm_read_byte(&Tulisan[temp1]); USART_vSendByte(n);
}
int main() {
//BBBBBBBBinisialisasi port BBBBBBB
LCD_DDR = 0xff; // set untuk keluaran
DDRB = 0xf0; // set untuk setengah keluaran dan setengah masukan DDRD = 0xff; // set untuk keluaran
PORTD = 0xff; // set keluaran awal adalah 1
//BBBBBBBBinisialisasi fitur BBBBBB timer1_init(); USART_init();
kirim2monitor(sp); // kirim setpont
mp = konversi_tegangan(temp1);//pengolahan nilai mp kirim2monitor(mp); // nilai mp kirim ke monitor }
2
TLP434A Ultra Small
Transmitter
RLP434A SAW Based Receiver
4
4
!
,
-5
4
, 0
6
, 0 4
2
,
-4
!
,
byte
2
*
, 01
1
,
byte
-.
byte
, 0
4
!
00,.1 00,.1 00,.1 00,.1
,
byte
,
byte
-.
4.2. Hasil Pengujian Perangkat Lunak
software
)
4
7
38
)
1
/
1
1
4.2.1. Tampilan Awal Hasil Perancangan Perangkat Lunak
0
Form
1
/
Form
%
Form
Form
Form
timer
Form
6
, $
Form
Form
%
toolbox
Form
command button
start
1
stop
1
exit
1
picturebox
1
frame
1
optionbutton
1
label
-
1
0
1
$
1
"
1
textbox
6
, ,
Form
%
3
timer
form
/
Private Sub Form_Load()
Timer4.Enabled = True // aktifkan timer4
End Sub
Private Sub Timer4_Timer()
Form1.Visible = False //hilangkan form1
Form2.Visible = True //tampilkan form2
Form2.SetFocus
ASH = ASH + 1 //tambah nilai counter
If ASH > 30 Then // cek nilai counter
Form2.Visible = False //hilangkan form2
Unload Form2
Timer4.Enabled = False //matikan timer4 Form1.Visible = True //tampilkan kembali form1 End If
/
2
,
form
,
1
-
form
2
7
4
counter
counter
0
4
0
-
,
6
, $ 8
40
3
/
Private Sub Form_Load()
aHari = Array("Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu") Timer2.Interval = 500
Timer2.Enabled = True //aktifkan timer2 List1.AddItem "Suhu Percobaan"
Picture1.ScaleMode = 0 //pengaturan tampilan gambar Picture1.ScaleWidth = 100 //pengaturan lebar gambar Picture1.ScaleHeight = 30 //pengaturan tinggi gambar Picture1.ScaleLeft = 0
Picture1.ScaleTop = B30
Picture1.BackColor = vbCyan //pengaturan warna Picture1.ForeColor = vbBlue
Picture1.Line (0, 0)B(10000, 0)
Picture1.Line (0, B30)B(10000, B30), vbRed //pemberian garisBgaris gradient gambar Picture1.Line (0, B27)B(10000, B27), vbRed
Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10
Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u
Picture1.CurrentY = B1 Picture1.Print u
;ext u
Picture1.CurrentX = 1 Picture1.CurrentY = B1 Picture1.Print "0"
Picture2.ScaleMode = 0 //pengaturan tampilan gambar2 Picture2.ScaleWidth = 3
Picture2.ScaleHeight = 30 Picture2.ScaleLeft = 0 Picture2.ScaleTop = B30 Picture2.BackColor = vbBlack Picture2.ForeColor = vbWhite Picture2.CurrentX = 1 Picture2.CurrentY = B30 Picture2.Print "30" Picture2.CurrentX = 1 Picture2.CurrentY = B27 Picture2.Print "27"
Picture2.CurrentX = 1 Picture2.CurrentY = B18 Picture2.Print "18" Picture2.CurrentX = 1 Picture2.CurrentY = B15 Picture2.Print "15" Picture2.CurrentX = 1 Picture2.CurrentY = B12 Picture2.Print "12" Picture2.CurrentX = 1 Picture2.CurrentY = B9 Picture2.Print "9" Picture2.CurrentX = 1 Picture2.CurrentY = B6 Picture2.Print "6" Picture2.CurrentX = 1 Picture2.CurrentY = B3 Picture2.Print "3" Picture2.CurrentX = 1 Picture2.CurrentY = 0 Picture2.Print "0" End Sub
Private Sub Timer2_Timer()
sHari = aHari(Abs(Weekday(Date) B 1)) //tampilkan nama hari Label5.Caption = "" & sHari & " , " & Format(Date, "dd mmmm yyyy") //tampilkan tanggal Label6.Caption = Format(Time, "hh:mm:ss") //tampilkan jam
End Sub
form
/
picturebox
Picturebox
. $.
.*
9
:
:
-..
!
0
#
;
4.2.2 Hasil Pengujian Bagian Penerimaan Data
-1
01
$1
listbox
3
--.
)
42
*
+
listbox
'6
, <( 6
, ;
1
*
)
*
-5
6
, #
2
6
, ; 3
3
6
, <
3
=
3
/
Private Sub Form_Load()
End Sub
Private Sub XPButton1_Click() //tombol start If Text7.Text = "" Then
MsgBox ("Masukkan ;ama Vaksin") //minta masukan pengguna Exit Sub
Else
Label34.Caption = Text7.Text End If
Timer3.Enabled = True //aktifkan timer3(stopwatch) If MSComm1.PortOpen = False Then
Label11.Caption = Label5.Caption & " " & Label6.Caption
MSComm1.PortOpen = True //buka port Comm1 Timer1.Enabled = True //aktifkan timer1 timeout = 0
Label1.Caption = "On" End If
End Sub
Private Sub MSComm1_OnComm() //minta masukan pilihan pengguna If Option1.Value = True Then //pilihan selain yang dipilih pengguna dihilangkan Option2.Visible = False
Option3.Visible = False Option1_Click
End If
If Option2.Value = True Then Option1.Visible = False Option3.Visible = False Option2_Click
End If
If Option3.Value = True Then Option1.Visible = False Option2.Visible = False Option3_Click
End If End Sub
Private Sub Option_Click()
If MSComm1.CommEvent = comEvReceive Then //tunggu buffer terima data Label2.Caption = "Port Buka"
Label3.Caption = MSComm1.Input Label4(i).Caption = ""
Label4(i).Caption = Label3.Caption / 100
List1.AddItem Label4(i).Caption //tambahkan nilai data ke listbox End If
End Sub
Private Sub Timer1_Timer() Dim Response
If timeout = 0 Then
Timer1.Enabled = False
Response = MsgBox("Port Open, Data Dapat Diterima", vbInformation, "AKSES DITERIMA")
44
End Sub
Private Sub Timer3_Timer() //timer sebagai fungsi stopwatch TotalTenthDetik = TotalTenthDetik + 1
TenthDetik = TotalTenthDetik Mod 100 TotalDetik = Int(TotalTenthDetik / 60) Detik = TotalDetik Mod 60
If Len(Detik) = 1 Then Detik = "0" & Detik End If
Menit = Int(TotalDetik / 60) Mod 60 If Len(Menit) = 1 Then
Menit = "0" & Menit End If
Jam = Int(TotalDetik / 3600) If Jam < 9 Then
Jam1 = "0" & Jam End If
Label8 = Jam1 & ":" & Menit & ":" & Detik & ":" & TenthDetik & "" If Detik = 10 Then
If Label3.Caption = "Label3" Then Timer3.Enabled = False
MsgBox ("Alat Belum Terhubung. Tidak ada data yang diterima")
End
End If End If
End Sub
/
1
*
-software
*
-*
-
*
-
*
-
baud rate
1
1
1
>
baud rate
)
>
*
-
-buffer
*
-*
-
?7
7
7
stopwatch
@
port
1
-A+ B @
port
option button
option button
0
A
B
set
point
>
listbox.
4.2.3 Hasil Pengujian Bagian Penampil Grafik
6
0
1
'6
, "(
-..
slider
'6
, C( !
-..
1
1
6
pointer
amplitudo
time
'6
, -.(
46
6
, C !
-..
6
, -. >
!
3
/
Private Sub Option1_Click() //pilihan tampilan per 100 data Picture1.Width = 337 //pengaturan batasBbatas gambar Picture1.ScaleMode = 0
Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = 0 Picture1.ScaleTop = B30 Picture1.BackColor = vbCyan Picture1.ForeColor = vbBlue Picture1.Line (0, 0)B(10000, 0)
Picture1.Line (0, B30)B(10000, B30), vbRed Picture1.Line (0, B27)B(10000, B27), vbRed Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10
Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u
Picture1.CurrentY = B1 Picture1.Print u
;ext u
If MSComm1.CommEvent = comEvReceive Then
Label27.Caption = Buat(i) //simpan nilai data suhu ;ilai(i) = ""
;ilai(i) = Buat(i) a = 1
For t = 1 To I //plot data suhu dlm grafik Picture1.Line (a, B;ilai(a))B(t, B;ilai(t)), vbWhite
a = t ;ext t
s = B;ilai(i) Text6.Text = ;ilai(i) Call Awal
Call Cek;ilai End If
i = i + 1 //naikkan nilai counter
End If End Sub
Private Sub Option3_Click() //pilihan tampilan keseluruhan Picture1.Width = 600
Picture1.ScaleWidth = 4500 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = 0 Picture1.ScaleTop = B30 Picture1.BackColor = vbBlack Picture1.ForeColor = vbWhite End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then //prosedur pengaktifan fasilitas pointer Slider2.Value = X
Label22.Caption = X * 10 Label23.Caption = BY
If Label23.Caption > 23 Then //cek kondisi untuk mengubah warna background Label19.BackColor = vbRed
End If
If Label23.Caption < 23 Then
Label19.BackColor = vbYellow End If
If Label23.Caption < 16 Then
Label19.BackColor = vbGreen End If
If Label23.Caption < 8 Then
Label19.BackColor = vbBlue End If
If Label23.Caption < 2 Then
Label19.BackColor = vbWhite End If
Label19.Caption = Label23.Caption + " 'C" //tampilkan nilai amplitudo 0C Label21.Caption = Label22.Caption + " s" //tampilkan nilai waktu
End If End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then
48
Label23.Caption = BY If Label23.Caption > 23 Then Label19.BackColor = vbRed End If
If Label23.Caption < 23 Then
Label19.BackColor = vbYellow End If
If Label23.Caption < 16 Then
Label19.BackColor = vbGreen End If
If Label23.Caption < 8 Then
Label19.BackColor = vbBlue End If
If Label23.Caption < 2 Then
Label19.BackColor = vbWhite End If
Label19.Caption = Label23.Caption + " 'C" Label21.Caption = Label22.Caption + " s"
End If End Sub
Private Sub Slider1_Change() //prosedur pengaturan slider Picture1.ScaleMode = 0
Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30
Picture1.ScaleLeft = Slider1.Value //nilai slider dijadikan batasan gambar Picture1.ScaleTop = B30
Picture1.BackColor = vbCyan Picture1.ForeColor = vbBlue a = 0
Picture1.Line (0, 0)B(10000, 0)
Picture1.Line (0, B30)B(10000, B30), vbRed Picture1.Line (0, B27)B(10000, B27), vbRed Picture1.Line (0, B24)B(10000, B24), vbRed Picture1.Line (0, B21)B(10000, B21), vbRed Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10
Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u
Picture1.CurrentY = B1 Picture1.Print u
;ext u
Picture2.BackColor = vbCyan Picture2.ForeColor = vbBlue Picture2.CurrentX = 1 Picture2.CurrentY = B30 Picture2.Print "30" Picture2.CurrentX = 1 Picture2.CurrentY = B27 Picture2.Print "27" Picture2.CurrentX = 1 Picture2.CurrentY = B24 Picture2.Print "24" Picture2.CurrentX = 1 Picture2.CurrentY = B21 Picture2.Print "21" Picture2.CurrentX = 1 Picture2.CurrentY = B18 Picture2.Print "18" Picture2.CurrentX = 1 Picture2.CurrentY = B15 Picture2.Print "15" Picture2.CurrentX = 1 Picture2.CurrentY = B12 Picture2.Print "12" Picture2.CurrentX = 1 Picture2.CurrentY = B9 Picture2.Print "9" Picture2.CurrentX = 1 Picture2.CurrentY = B6 Picture2.Print "6" Picture2.CurrentX = 1 Picture2.CurrentY = B3 Picture2.Print "3" Picture2.CurrentX = 1 Picture2.CurrentY = 0 Picture2.Print "0" Call Awal
For i = 0 To batasakhir B 1
Picture1.Line (a, B;ilai(a))B(i, B;ilai(i))
a = i
;ext i End Sub
Private Sub Slider1_Scroll() Picture1.ScaleMode = 0 Picture1.ScaleWidth = 100 Picture1.ScaleHeight = 30 Picture1.ScaleLeft = Slider1.Value Picture1.ScaleTop = B30
Picture1.BackColor = vbBlack Picture1.ForeColor = vbWhite a = 0
Picture1.Line (0, 0)B(10000, 0)
50
Picture1.Line (0, B18)B(10000, B18), vbRed Picture1.Line (0, B15)B(10000, B15), vbRed Picture1.Line (0, B12)B(10000, B12), vbRed Picture1.Line (0, B9)B(10000, B9), vbRed Picture1.Line (0, B6)B(10000, B6), vbRed Picture1.Line (0, B3)B(10000, B3), vbRed Picture1.Line (0, 0)B(10000, B0), vbRed For u = 0 To 10000 Step 10
Picture1.Line (u, 0)B(u, B30), vbRed Picture1.CurrentX = u
Picture1.CurrentY = B1 Picture1.Print u
;ext u
Call Awal
For i = 0 To batasakhir B 1
Picture1.Line (a, B;ilai(a))B(i, B;ilai(i)) a = i
;ext i End Sub
Sub Awal() //berfungsi sebagai counter jumlah data batasakhir = i
Text4.Text = batasakhir End Sub
Sub Cek;ilai() //sub prosedur tambahan tampilan gambar For n = 0 To 10000 Step 1
If i = n Then
Picture1.ForeColor = vbGreen Picture1.CurrentX = n
Picture1.CurrentY = s Picture1.Print Text6.Text End If
;ext n End Sub
Sub Cek;ilai1()
For n = 0 To 10000 Step 100 If i = n Then
Picture1.ForeColor = vbGreen Picture1.CurrentX = n
Picture1.CurrentY = s Picture1.Print Text6.Text End If
;ext n End Sub
/
%
for
plot
>
A A
$.
$.
.1
picturebox
.
.*
$.
.* @
A A
.
-
$
1
8
pointer
picturebox
>