bab iii perancangan 3.1 umumeprints.umm.ac.id/39499/4/bab iii.pdf · 2018. 11. 7. · perancangan...
TRANSCRIPT
-
13
BAB III
PERANCANGAN
3.1 Umum
Pada bab ini akan dibahas mengenai perancangan sistem, yang meliputi
perangkat keras dan perangkat lunak, dimana kedua bagian dari sistem ini saling
menunjang dalam pengoperasian sistem sehingga akan diperoleh hasil yang
diinginkan. Perancangan perangkat keras meliputi perancangan rangkaian
loadcell, pengkondisi sinyal, rangkaian modem gsm sim 800, Lcd dan keypad,
sementara itu pada perancangan perangkat lunak mengacu pada algoritma
pembacaan sistem dari masing masing perangkat yang dikontrol beserta sistem
keseluruhan.
3.2 Blok Diagram
Blok diagram sistem terdiri atas loadcell, pengkondisi sinyal HX711,
keypad, LCD, microcontroller, modem gsm dan buzzer. Blok diagram sistem
menunjukkan hubungan antara microcontroller Atmega32 sebagai pusat kontrol
dengan peripheral lainnya. Adapun perancagan Blok diagram sistem ditunjukkan
dalam Gambar 3.1.
ATMEGA 32
Modem GSM
SIM800Pengkondisi sinyal
HX711
Load cell
50KG
LCD 16X2
BuzzerKeypad
HP
Gambar 3.1 Blok Diagram Sistem
3.3 Prinsip Kerja
Pada blok diagram diatas ditunjukkan dalam gambar 3.1, sistem
melakukan pembacaan keypad dan menampilkan informasi pada LCD. Funsgi
keypad dan LCD ini sebagai interaksi antara user dengan sistem dalam pengaturan
-
14
dan pemantauan, dimana pada pengontrolan ini user dapat melakukan pengontrol
penyimpanan nomor tertentu sebagai nomor emergency yang akan dihubungi via
SMS saat terjadi indikasi pencurian yang dideteksi sensor, sementara pemantauan
merupakan hasil pembacaan berat secara realtime dari loadcell yang ditampilkan
pada LCD.
Pada kondisi awal saat sistem dinyalakan, maka microcontroller
Atmega32 melakukan inisialisasi input output untuk perangkat yang digunakan,
dimana pada kondisi ini sistem melakukan komunikasi serial pada SIM800 untuk
mengaktifkan modul SIM800, selanjutnya inisialisasi LCD agar lcd dapat
difungsikan sebagai penampil informasi 16X2 karakter. Selanjutnya sistem
melakukan pembacaan memori nomor emergency yang disimpan sistem untuk
digunakan pada proses komunikasi SMS jika terjadi indikasi pencurian. Pada
proses selanjutnya sistem berada pada mode siaga, dimana pada kondisi sistem
melakukan pembacaan ADC HX711 untuk mengetahui informasi berat yang
dibaca oleh loadcell, hasil pembacaan selanjutnya ditampilkan pada LCD. Jika
terjadi perubahan berat yang drastis dari berat awal yang dibaca loadcell maka
sistem akan mendeteksi pencurian dan memberikan laporan kepada user pemilik
nomor emergency yang telah disimpan sebelumnya pada sistem. Pada kondisi ini
juga alarm akan berbunyi. Sistem akan kembali normal saat user mereset sistem
dari menu keypad sebagai tanda keamanan telah dikendalikan.
3.4 Perancangan Perangkat Keras (Hardware)
Untuk perancangan perangkat keras (Hardware) meliputi perancangan
rangkaian sistem serta analisis rancangannya. Adapun perancangan masing
masing bagian perangkat keras diuraikan dengan mengacu pada blok diagram
sebagaimana pembahasan berikut:
3.4.1 Perancangan Loadcell dan pengkondisi sinyal HX711
Untuk membaca berapa besar berat massa maka digunakan sensor berat.
Sensor berat yang digunakan adalah 4 buah Load Cell yang masing – masing
memiliki kapasitas berat maksimum 50 kg. Pada rancangan mekanik load cell
digunakan dengan diberi alas di bawahnya dan tempat di atasnya seperti
ditunjukkan pada Gambar 3.2:
-
15
Gambar 3.2 Load Cell Tampak Samping
Agar sistem dapat mengamati perubahan berat, maka diperlukan sensor berat
berupa loadcell. Loadcell merupakan komponen elektronika instrument yang
merubah besaran berat menjadi perubahan resistansi, sementara itu rangkaian
resistansi dari loadcell membentuk jembatan weithstone atau terdiri dari 4 resistor
yang membentuk susunan jembatan dengan 4 terminal keluaran. Agar keluaran
Loadcell menjadi perubahan tegangan, maka 2 terminal loadcell diberikan
tegangan DC dengan demikian 2 terminal lainnya merupakan output dengan
tegangan berubah - ubah sesuai perubahan resistansi sensor. Pada output loadcell
tegangan yang dihasilkan belum dapat dibaca langsung melalui ADC karena 2
output tersebut mempunyai selisih tegangan yang akan berubah saat output
lainnya berubah sehingga diperlukan rakaian pengkondisi sinyal menggunakan
modul HX711. Modul HX711 merupakan modul ADC 14 bit yang digunakan
untuk melakukan pembacaan presisi pada 2 input difrensial yang dihasilkkan dari
loadcell sehingga didapat hasil kalibrasi data yang maksimal dalam melakukan
pengukuran. Adapun perancangan rangkaian pengkodisi sinyal HX711 untuk
loadcell ditunjukkan sebagaimana Gambar 3.3:
Gambar 3.3 Rangkaian Loadcell dan Pengkondisi Sinyal
Vcc
SCL
SDA
GND
+
A
B
-
HX711
Loadcell ADC modul
+
A
-
LOADCEL50Kg
5V
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U6
ATMEGA32
+
A
-
LOADCEL50Kg
+
A
-
LOADCEL50Kg
+
A
-
LOADCEL50Kg
-
16
3.4.2 Perancangan Rangkaian LCD 16x2
Perancangan penampil informasi dan tampilan menu Setting pada
perancangan ini menggunakan LCD 16X2 karakter dengan type LM016M02
buatan seiko. LCD ini dirancang dengan menggunakan mode 4 bit untuk
pengiriman byte instruksi maupun data, sehingga hanya memerlukan 4 jalur data,
1 bit untuk jalur pin RS dan 1 bit untuk jalur pin Enable LCD. Adapun
perancangan rangkaian LCD 16X2 ditunjukkan dalam Gambar 3.4.
Gambar 3.4 Rangkaian LCD 16X2
VR1 pada rangkaian LCD digunakan untuk mengatur tingkat
kecerahan dari contrast LCD 16X2. Sementara itu pin RS dihubungkan pada
PORTC.5 untuk proses pengaturan mode instruksi atau data yang akan dituliskan
pada LCD melalui microcontroller sedangkan Pin E LCD yang dihubungkan ke
PORTC.4 digunakan untuk mengunci data atau perintah yang dikirim dari
microcontroller. Sementara itu byte data dikirim dari PORTC.0 hingga PORTC.3
sebagai masukan data atau perintah yang dikirim 4 bit MSB dan 4 bit LSB secara
bergantian setelah Pin E diaktifkan. Untuk lebih jelasnya, fungsi pin pengendali
LCD ditunjukkan dalam Tabel 3.1.
R1
33K
5V
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9D
18
D0
7
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM016L
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U3
ATMEGA32
RESET
-
17
No Pin ATMEGA32 Pin LCD Fungsi
1 PORTC.0 RS
Pengendali mode untuk penulisan
instruksi atau data pada LCD:
0 :Tulis data
1:Tulis Instruksi
2 PORTC.1 E
Enable LCD, digunakan untuk
melakukan akses pada LCD baik
penulisan instruksi maupun data.
EN= active transisi tinggi (aktif
pada saat input naik dari logika 0
menuju 1)
3 PORTC.2 D.4
4 bit masukan data LCD 4 PORTC.3 D.5
5 PORTC.4 D.6
6 PORTC.5 D.7
Tabel 3.1 Pin Antarmuka Microcontroller dan LCD
3.4.3 Perancangan Rangkaian Keypad Matrix 4x4
Sebagai antarmuka antara user dengan sistem dalam pemasukan input,
maka pada perancangan ini digunakan keypad guna melakukan pengaturan menu
dan perubahan Setting pada sistem. Keypad yang digunakan pada perancangan ini
adalah keypad 4X4 matrix yang diproses secara scanning dalam melakukan
pembacaan tombol yang ditekan oleh user, adapun perancangan rangkaian keypad
4X4 ditunjukkan dalam Gambar 3.5.
Gambar 3.5 Rangkaian Keypad Matrix 4x4
1 2 3
654
8 9
=
7
++CON
0
A
B
C
D
1 2 43
R1
10k
5V
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U1
ATMEGA32
-
18
Untuk lebih jelasnya konfigurasi pin antarmuka microcontroller dan
keypad ditunjukkan dalam Tabel 3.2.
No PORT
ATMEGA32
Nomor Pin
ATMEGA32 Pin Keypad
1 PORTB.0 10 A
2 PORTB.1 11 B
3 PORTB.2 12 C
4 PORTB.3 13 D
5 PORTB.4 14 1
6 PORTB.5 15 2
7 PORTB.6 16 3
8 PORTB.7 17 4
Tabel 3.2 Pin Antarmuka Microcontroller dan Keypad
3.4.4 Perancangan Rangkaian modul GSM SIM800
Pada perancangan sistem komunikasi data antara user dengan sistem,
digunakan Modem SIM800L yang difungsikan sebagai media pengirim SMS.
Modul SIM800L merupakan jenis modem yang bekerja pada jaringan GSM dan
pada perancangan ini digunakan sebagai media pengirim SMS yang dikontrol
melalui sistem Microcontroller. Agar dapat saling berkomunikasi antara Modem
dengan microcontroller, maka modul SIM800L yang bekerja menggunakan
komunikasi serial dihubungkan dengan pin komunkasi pada pin RX TX
ATMega32. Adapun perancangan rangkaian pada modul SIM800 ditunjukkan
dalam Gambar 3.6.
Gambar 3.6 Rangkaian Modem SIM800L
Vcc
RXD
TXD
Ant
ANTENNA
Modul GSM SIM800L
SIM
CARD
GND
5V
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U4
ATMEGA32
-
19
No PORT
ATMEGA32
Nomor Pin
ATMEGA32 Pin modul SIM800
1 PORTD.0/RXD0 14 TXD
2 PORTD.1/TXD1 15 RXD
Tabel 3.3 Pin Antarmuka Microcontroller dan SIM800
3.4.5 Perancangan Rangkaian Driver Buzzer
Pada perancangan ini Buzzer yang digunakan mempunyai tegangan
supplay sebesar 12VDC, sementara itu tegangan sistem ATMEGA32 yang
bertindak sebagai pengendali Buzzer adalah 5V, maka untuk mengontrol Buzzer
diperlukan rangkaian Driver yang pada rancangan ini menggunakan perantara
Optocoupler sebagai pemisah beda tegangan antara rangkaian driver Buzzer dan
minimum sistem ATMEGA32. Pada perencanaan Driver Buzzer dari alat yang
akan dirancang, Buzzer yang digunakan mempunyai resistansi coil sekitar 50Ω
dan membutuhkan catu daya sebesar 12 Volt DC, dengan demikian, maka arus
yang diperlukan Buzzer adalah :
I = BuzzerRcoil
VCC
_ =
50
12 = 0,24 Amper.
Sementara itu perancangan rangkaian driver Buzzer ditunjukkan dalam
Gambar 3.7.
Gambar 3.7 Rangkaian Driver Buzzer
Alasan pengunaan IC optocoupler ini adalah untuk pengisolasian
rangkaian kontrol dengan beban supaya tidak terjadi gangguan pada saat sistem
bekerja. Dalam rangkaian ini juga terdapat dioda yang berfungsi untuk
melewatkan arus balik Coil Buzzer pada saat perubahan kondisi dari keadaan ON
R1
270
6
5
4
1
2
U2
OPTOCOUPLER-NPN
R2
27K
Q1PN2222
Q2PN2222
D1DIODE
12V
BUZ1
BUZZER
5V
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U5
ATMEGA32
-
20
ke OFF supaya tidak merusak transistor (2N2222). Dioda yang digunakan
sebaiknya yang mempunyai kemampuan melewatkan arus lebih besar dari
besarnya arus balik Coil Buzzer yang akan melewatinya.
Transistor yang digunakan sebagai driver dipilih dengan pertimbangan
arus collector maksimum yang besarnya 3 kali. Dengan kebutuhan arus tersebut
maka dipilih transistor type 2N2222A sebagai driver Buzzer. Dari datasheet
diketahui bahwa transistor tipe 2N2222A memiliki arus kolektor sebesar 800mA.
Dalam perencanaannya kedua transistor (2N2222A) didarlington untuk penguatan
yang besar yakni perkalian dari penguatan kedua transistor tersebut. Ditetapkan
drop tegangan pada Vce opto = 1V (saturation).
Maka R2 atau RB dapat dicari dengan rumus:
Rb= Ib
VbeoptoVceVcc .2)(
Dimana Ib= Ic_opto
Untuk Ic dapat dicari dengan menetapkan berapa Ib / β dari tiap- tiap
transistor.
Ic= Ib. (β1. β2)
Sedangkan Iint dapat dicari dengan :
Iint= intR
Vcc
Untuk semua perencanaannya dapat dilihat sebagai berikut:
Dalam pengukuran diketahui Rint= 50 Ω
Maka:
Iint= 50
12V = 0,24 A= 240mA
Maka harus dicari transistor yang mempunyai Ic lebih besar dari Iint. Untuk
itu dipilih transistor 2N2222A yang memiliki Ic = 800mA.
Karena Ib2 = Ic TR1, Maka:
-
21
Ic TR1=
2IcTR
=50
800mA = 0,016A
Ib TR1=
1IcTR
=50
016,0 A = 0,00032A
Maka dapat dicari nilai Rb dengan rumus:
Rb = 1
2)(
IbTR
VbeoptoVceVcc
=A
V
00032,0
)3,1*23,012(
= A
V
00032,0
1,9 = 28437 Ω ≈ 27KΩ (harga R dipasaran)
Untuk nilai Rpull_up dapat dicari dengan rumus:
R1 =Iol
VdVcc
Dimana nilai Vd sama dengan 1- 1,5 V dan Iol sebesar 16mA
Maka R1 = mA
V
16
)5,15( = 221.87Ω ≈ 270Ω
sehingga didapat nilai R1 = 270Ω.
-
22
3.4.6 Perancangan Rangkaian Keseluruhan
Setelah merancangan bagian bagian dari sistem perangkat keras, maka
hasil keseluruhan dari rangkaian menjadi suatu minimum sistem yang saling
berkaitan. Adapun konfigurasi rangkain keseluruhan sistem ditunjukkan pada
gambar 3.8:
Gambar 3.8 Rangkaian Keseluruhan
3.5 Perancangan Perangkat Lunak (Software)
Agar seluruh hardware yang dirancang dapat dikontrol dan dimonitor oleh
microcontroller, maka diperlukan software pengendali yang didownloadkan pada
microcontroller tersebut. Perancangan software pada sistem pengaman gudang
gabah menggunakan loadcell dan system SMS dirancang menggunakan software
BASCOMM AVR. Sedangkan proses dari kerja masing-masing software
mengacu pada algoritma kerja sistem sebagaimana pembahasan berikut:
3.5.1 Perancangan Perangkat Lunak Baca SMS Pada Modem
Pada perancangan ini SMS masuk dan proses pengiriman SMS ditangani
sepenuhnya oleh mikrokontroller ATmega64 melalui modem SMS dengan
komunikasi serial 9600bps. Adapun prosedur pembacaan dan penerimaan SMS
R1
33K
5V
D7
14
D6
13
D5
12
D4
11
D3
10
D2
9D
18
D0
7
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM016L
PB0/T0/XCK1
PB1/T12
PB2/AIN0/INT23
PB3/AIN1/OC04
PB4/SS5
PB5/MOSI6
PB6/MISO7
PB7/SCK8
RESET9
XTAL212
XTAL113
PD0/RXD14
PD1/TXD15
PD2/INT016
PD3/INT117
PD4/OC1B18
PD5/OC1A19
PD6/ICP120
PD7/OC221
PC0/SCL22
PC1/SDA23
PC2/TCK24
PC3/TMS25
PC4/TDO26
PC5/TDI27
PC6/TOSC128
PC7/TOSC229
PA7/ADC733
PA6/ADC634
PA5/ADC535
PA4/ADC436
PA3/ADC337
PA2/ADC238
PA1/ADC139
PA0/ADC040
AREF32
AVCC30
U3
ATMEGA32
RESET
Vcc
RXD
TXD
Ant
ANTENNA
Modul GSM SIM800L
SIM
CARD
GND
5V
R1
270
6
5
4
1
2
U2
OPTOCOUPLER-NPN
R2
27K
Q1PN2222
Q2PN2222
D1DIODE
12V
BUZ1
BUZZER
5V
Vcc
SCL
SDA
GND
+
A
B
-
HX711
Loadcell ADC modul
+
A
B
-
LOADCEL1Kg
5V
123
6 5 4
89
=
7
++ CON
0
A
B
C
D
124 3
-
23
pada modem dilakukan dengan cara mengirim perintah AT Command
sebagaimana ditunjukkan dalam Gambar 3.9.
Mulai
Inisialisasi Serial
Baca Data Serial
Data Serial
=”+CMTI=X”?
Baca Balasan Serial
(Baca SMS) Kirim Perintah
AT + CMGR = X
Data header
=”+CGMR=REC
UNREAD”?
Baca nomor pengirim
pada line 3
Baca nomor pengirim
pada line 2
Selesai
Tidak
Tidak
Ya
Ya
Gambar 3.9 Fowchart Pembacaan SMS
3.5.2 Perancangan Perangkat Lunak Kirim SMS Pada Modem
Untuk melakukan pengiriman SMS melalui modem yang dapat dikontrol
melalui mikrokontroller, maka diperlukan perancangan perangkat lunak yang
bertugas sebagai pengirim text SMS ke nomor tujuan. Pada modem SMS proses
pengiriman SMS juga diatur melalui AT Command yaitu “AT+CMGS=nomor”,
contoh: AT+CMGS=08123456789 lalu enter (char 13), kemudian modem akan
membalas dengan karakter “>” sebagai tanda modem siap menerima text. Pada
kondisi tersebut, maka mikrokontroller dapat mengirimkan text yang akan dikirim
-
24
via SMS lalu diakhiri karakter 26 dan selanjutnya menunggu balasan OK atau
ERROR. Jika balasan berupa OK, maka pengiriman SMS berhasil, tapi jika
balasan yang diterima ERROR, maka SMS gagal terkirim yang disebabkan oleh
jaringan GSM, kesalahan nomor service center atau pulsa tidak mencukupi.
Adapun prosedur pengiriman SMS pada modem ditunjukkan dalam Gambar 3.10.
Gambar 3.10 Fowchart Pengiriman SMS
Tidak
Tidak
Ya
Ya Ya
Tidak
Mulai
Selesai
Inisialisasi Serial
Balasan =
‘>’?
Kirim serial
AT+CMGS=nomor_tujuan
Kirim Text SMS + Karakter 26
Baca Balasan Modem
Balasan=
’OK’ ?
SMS Terkirim
Balasan=
’ERROR’ ?
SMS Gagal Terkirim
-
25
3.5.3 Perancangan Perangkat Lunak Pembacaan Matrix Keypad
Pembacaan keypad matrix 4X4 dalam perancangan ini menggunakan
metode scan. Adapun prosesnya ditunjukkan sebagaimana flowchart dalam
Gambar 3.11
Start
Inisialisasi
PD.7 = Baris 1/output
PD.6 = Baris 2/output
Scan baris 1
Data baris = 01111111
Kolom1=0? Kolom2=0? Kolom4=0 ?Kolom3=0 ?
Data keypad =
‘1’
Data keypad = ‘2’
Data keypad = ‘3’
Data keypad =COR
Scan baris 2 Data baris = 10111111
Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?
Data keypad = ‘4’
Data keypad = ‘5’
Data keypad = ‘6’
Data keypad = MEN
A
AB
Yes Yes Yes Yes
Yes Yes Yes Yes
No No No
NoNoNo
No
No
Scan baris 3 Data baris = 11011111
Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?
Data keypad = ‘7’
Data keypad = ‘8’
Data keypad = ‘9’
Data keypad = UP
Yes Yes Yes Yes
No No No No Scan baris 4 Data baris = 11101111
Kolom1=0 ? Kolom2=0 ? Kolom4=0 ?Kolom3=0 ?
Data keypad = CAN
Data keypad = ‘0’
Data keypad = ENT
Data keypad = DOWN
Yes Yes Yes Yes
No No No No
B
End
Gambar 3.11 Algoritma Pembacaan Keypad Dengan Sistem Matrik
Proses scanning keypad matrix 4X4 pada perancangan sebagaimana
ditunjukkan pada flowchat gambar 3.10 merupakan proses pencarian data
penekanan tombol yang diakses secara terus menerus, dimana proses yang
-
26
dilakaukan adalah dengan memberikan data baris yang hanya memebrikan logika
nol pada salah satu baris sementara baris lainnya 1 (high), kemudian jika ada
penekenan tombol pada area kolom 1 hingga kolom 4, maka nilai input pada
kolom tersebut akan ikut berlogika nol, hasil input tersebut selanjutnya
dihubungkan dengan nomor matrix dari keypad untuk mendapatkan data dari
masukan keypad, contoh untuk scan baris 1, data yang diberikan pada
PORTD=01111111B, dimana baris 1 ditempati PORTD.7 yang berlogika 0, jika
pada saat tersebut terdapat penekanan tombol, maka salah satu dari input kolom
akan berlogika 0 akibat short ke 0 dari PORTD.7, seuatu kolom 1 ditekan (tombol
1 atau baris 1 kolom 1), maka PORTD.3 yang ditempati kolom 1 akan berlogika 0
dana data PORTD menjadi 01110111B yaitu PORTD.3 short dengan PORTD.7,
hasil ini selanjutnya digunakan sebagai acuan data penekanan tombol dari baris 1
kolom 1 dan memberikan hasil data keypad 1 sebagai tanda angka 1 ditekan.
Begitu seterusnya untuk scan baris 2 dan selanjutnya.
3.5.4 Perancangan Perangkat Lunak Tulis Intruksi LCD
Prinsip kerja dari proses penampil LCD ditunjukkan pada flowchart
dalam Gambar 3.12.
Mulai
Aktifkan RS LCD (1)
Set Enable LCD
Masukkan Data intruksi LCD
Keluarkan Data 4bit pada port LCD
Enable LCD di isi 0
Enable LCD di isi 1
Selesai
Gambar 3.12 Algoritma Tulis Instruksi Pada LCD
-
27
Sementara itu proses tulis karakter/data pada baris LCD caranya sama
ditunjukkan dalam Gambar 3.12, hanya saja pada proses penulisan data karakter
RS diberi logika rendah (0).
3.6 Flow Chart Sistem Keseluruhan
Setelah perancangan dari hardware dan software, maka prinsip kerja
keseluruhan dari alat ditunjukkan sebagaimana gambar 3.13:
Start
Inisialisasi
Baca keypad
Data keypad=’A’ ?
Data keypad=’B’ ? Tampil Menu Menu = edit user?Y
Menu = delete
user?
Isi nomor HP
dari keypad
Save to
EEPROMY
Baca user index
Delete
from
EEPROMY
T
T
Set berat =
berat sekarangY
Baca loadcell
T
Berat < seting
berat?
Power=OFF?
T
END
Y
T
T
YBaca nomor User
Kirim SMS
Gambar 3.13 Flowchart Sistem