BAB 3 PERANCANGAN SISTEM
3.1. Perancangan Perangkat Keras Sistem ini berfungsi memberikan status kendaraan berupa keadaan mesin, alarm, dan central lock. Serta dapat melakukan pemanasan mobil secara otomatis dengan jadwal yang dapat ditentukan oleh pengguna melalui SMS. Sistem juga dapat mematikan mobil secara paksa jika pengguna menganggap mobil dalam posisi yang tidak seharusnya menyala. Blok diagram keseluruhan pada sistem ini dapat dilihat sebagai berikut : SMS
GSM module
Handphone (User)
Keypad
Sistem Starter Mobil Sirene
Microcontroller Buzzer
LCD Central Lock
Alarm Mobil
Gambar 3.1 Blok Diagram Sistem
65
66
•
Mikrokontroler sebagai pengendali dari setiap komponen-komponen lain yang digunakan, untuk mengolah data yang didapat dan memberikan respon terhadap hasil yang didapat.
•
Alarm mobil memberikan status kepada mikrokontroler untuk aktif tidaknya sistem alarm tersebut.
•
Central lock adalah sistem penguncian yang terhubung dengan alarm, sehingga dapat dikendalikan melalui alarm, dan memberikan status kepada mikrokontroler untuk terkunci atau tidaknya pintu mobil.
•
Sistem starter mobil adalah sistem penyalaan mesin mobil, berfungsi untuk memberikan status kepada mikrokontroler mengenai menyala tidaknya mesin mobil dan berfungsi untuk penyalaan mesin mobil melalui SMS atau kunci.
•
Modul GSM berfungsi untuk mengirim dan menerima SMS dari pengguna dan meneruskannya ke mikrokontroler, sehingga terjadi komunikasi antara pengguna dengan mikrokontroler untuk diproses.
•
Keypad adalah untuk memberi input-an kepada mikrokontroler.
•
LCD untuk memberikan tampilan kepada pengguna.
•
Sirene berfungsi untuk mengeluarkan bunyi ketika terjadi kondisi yang tidak diinginkan.
•
Buzzer berfungsi sebagai pengingat kepada pengguna untuk menekan tombol rahasia atau memberitahu kepada pengguna jika mesin dalam kondisi pemanasan.
67
3.1.1. Perancangan Rangkaian Pusat Kontrol VCC3.3
VCC3.3 Mesin U1
R1 Res1 1K
R2 Res1 10K
R3 Res1 6K8
Gawat Cetek1
PortB.0 PortB.1
PortD.4 R4 Res1 3K3
GND
C2 Cap 100nF Kunci
GND
GND
PortD.5 PortD.6
Alarm CLock
Diode 1N4007 PortD.7
R5 Res1 6K8 PortD.7 R6 Res1 3K3
U0TX U0RX Data Avail User
PortD.0 PortD.1 PortD.2 PortD.3 D1 PortD.4
RST
C3 R7 Res1 Cap 1K GND22pF C4
GND
2
SW1 SW-PB C1 Cap 100nF
PortB.3 PortB.4 PortB.5
RST
PortD.3
1
User
Cetek2 Starter Buzzer
Y1 XTAL
Cap GND22pF
1 2 3 4 5 6 7 8 14 15 16 17 18 19 20 21 9 12 13
PB0 (XCK/T0) PB1 (T1) PB2 (AIN0/INT2) PB3 (AIN1/OC0) PB4 (SS) PB5 (MOSI) PB6 (MISO) PB7 (SCK) PD0 (RXD) PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1B) PD5 (OC1A) PD6 (ICP) PD7 (OC2) RESET XTAL2 XTAL1
PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) PC0 (SCL) PC1 (SDA) PC2 (TCK) PC3 (TMS) PC4 (TDO) PC5 (TDI) PC6 (TOSC1) PC7 (TOSC2) VCC AVCC AREF GND GND
40 39 38 37 36 35 34 33 22 23 24 25 26 27 28 29
Data Data Data Data
Out Out Out Out
A B C D
GND GND GND GND PortC.0 PortC.1 PortC.2 PortC.4 PortC.5 PortC.6 PortC.7
10 30 32 31 11
PortA.0 PortA.1 PortA.2 PortA.3
VCC3.3 GND GND
ATmega32L-8PI
GND
Gambar 3.2 Rangkaian Pusat Kontrol Pada sistem digunakan mikrokontroler jenis ATMega32L (U1) karena mikrokontroler ini dapat bekerja pada tegangan 3,3V, sehingga dapat berkomunikasi dengan SIM300 (U2) yang bekerja pada level tegangan tersebut. Mikrokontroler ini juga mempunyai RAM sebesar 2Kbyte, 3 buah interrupt timer dan 2 buah interrupt eksternal. Di mana feature tersebut dibutuhkan dalam perancangan sistem ini. Pada perancangan juga dibutuhkan kristal (Y1) sebesar 4MHz yang berfungsi sebagai generator clock untuk mikrokontroler. Pada PIND.4 dan PIND.7 terdapat masing-masing dua buah resistor yaitu 6K8 (R3,R5) dan 3K3 (R4,R6). Fungsi dari kedua resistor ini adalah untuk membagi tegangan input yang masuk, karena tegangan input yang masuk berkisar antara 12-14V (logika high). Sehingga tegangan input tersebut perlu disesuaikan agar dapat diterima logikanya oleh mikrokontroler.
Pada
PIND.5
terdapat
sebuah
dioda
(D1),
68
penempatan dioda pada pin ini dimaksudkan karena mikrokontroler yang pada saat itu berfungsi sebagai pin input mengeluarkan sebuah arus kecil sehingga dapat menyalakan status LED alarm. Sehingga diperlukan dioda agar arus kecil dari mikrokontroler tidak dapat berbalik arahnya menuju LED alarm melainkan mikrokontroler hanya dapat menerima tegangan dan arus dari LED alarm tersebut. PIND.6 terdapat sebuah resistor (R7) pulldown ini berfungsi agar tegangan yang masuk ke AVR antara 3.3V dan 0V karena input-an central lock tersebut hanya dapat memberikan level tegangan 3.3V dan logika “ngambang” atau tidak terhubung ke manapun. 3.1.2. Perancangan Rangkaian SIM300 VBat VBat Gnd VBat Gnd VBat Gnd VBat Gnd VBat Gnd VBat Gnd VBat SIM_Vdd LED/GPIO1 SIM_Rst DCD/GPIO0 SIM_CLK GPIO5 SIM_Presence PwrKey SIM I/O Buzzer/GPIO8 Vdd_Ext SPI_D/C KBC0 SPI_Rst KBC1 VRTC KBC2 SPI_Data KBC3 SPI_Clk KBC4 SPI_CS KBR0 RxD KBR1 TxD KBR2 AGnd KBR3 ADC0 KBR4 CTS DBGRx RTS DBGTx DTR AGnd RI Mic1P Mic2P Mic1N Mic2N Spk1P Spk2P Spk1N Spk2N SIM300
SIM_VDD
9 11 13 10 12 14 19 SIM_VDD SIM_RST 25
VDD_EXT R10 R11
GND
U2
2 4 C6 C5 6 LED_SIM300 10uF 100uF 8 R8 1 1K 3 GND 5 7 R9 30 Q1 28 10K NPN 32 34 36 24 D2 26 15 18 GND Diode 1N4007 20 BT1 22 Battery Kancing U0RX 40 PortD.1 U0TX 42 PortD.0 50 52 46 GND 44 38 48 57 59 58 60 VBAT
SIM_VDD 10K 100K
VCC4
23 SIM_CLK SIM_PRESENCE 16 SIM_IO 21 17 VDD_EXT 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 54 56
C7 U3 SIM_RST SIM_CLK
R12 R13
SIM_IO
R14
SIM_VDD 22 CLK 22 SIM_PRESENCE 22 IO
6 5 4 8
Vcc RST Clk
220nF Gnd VPP I/O
PRSNC GND
1 2 VPP 3 7 GND
Gambar 3.3 Rangkaian SIM300 Sim300 (U2) adalah sebuah modul GSM yang bekerja pada level tegangan 3,7V sampai 4,5V. Namun demikian SIM300 mempunyai spesifikasi bahwa logika high yang dapat diterima oleh SIM300 sebatas 3,3V. Pada pin VBAT terdapat dua buah kapasitor terparalel
69
yaitu 10uF (C5), dan 100uF (C6). Hal ini dimaksudkan karena ketika modul GSM SIM300 baru pertama kali dinyalakan dan mencari sinyal GSM,
serta telah dituliskan di datasheet bahwa SIM300 dapat
menarik arus sampai puncaknya berkisar 2A sesaat. Sehingga dengan ini peneliti menganggap perlu adanya kapasitor yang berfungsi untuk keperluan arus tinggi sesaat tersebut. Pin LED pada SIM300 berfungsi sebagai status dari SIM 300. Berikut adalah tabel berbagai status dari modul GSM SIM300. Tabel 3.1 Kondisi LED Sebagai Status SIM300 Kondisi LED
Status
Mati
SIM300 tidak menyala
64ms menyala / 800ms mati
SIM300 tidak menenmukan jaringan
64ms menyala / 3000ms mati
SIM300 menemukan jaringan
64ms menyala / 300ms mati
Komunikasi GPRS
Pin powerkey pada SIM300 berfungsi untuk menyalakan dan mematikan modul GSM SIM300. Berikut adalah diagram waktu yang diperlukan untuk menyalakan dan mematikan SIM300
Gambar 3.4 Diagram Waktu Powerkey untuk Menyalakan Sim300
70
Gambar 3.5 Diagram Waktu Powerkey untuk Mematikan Sim300 Pin VRTC berfungsi untuk sebagai baterai cadangan untuk RTC (Real Time Clock) dari SIM300. Hal ini diperlukan ketika terjadi pelepasan baterai utama dari modul GSM SIM300. Jika tidak terdapat baterai cadangan maka jam dan waktu alarm yang telah ditentukan akan terhapus. SIM300 mempunyai fitur untuk melakukan charging pada baterai cadangan tersebut. Karena peneliti menggunakan baterai cadangan yang tidak rechargeable maka diperlukan adanya dioda pada pin VRTC tersebut. 3.1.3. Perancangan Rangkaian Relay U4 Gawat Cetek1 Cetek2 Starter
PortB.0 PortB.1 PortB.3 PortB.4
1 2 3 4 5 6 7 8
IN1 IN2 IN3 IN4 IN5 IN6 IN7
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7
GND
COM
16 15 14 13 12 11 10
R.Gawat R.CETEK1 R.CETEK2 R.STARTER
VCC12 9
ULN2003A GND
D3
VCC12
2 K.ALARM 1 K.CETEK1 3 VCC12BERIKUT
K2 D4
VCC12
4
Res1 47
K3 D5
VCC12
4
5 Relay
R17 Res1 LED 6K8
R18 Res1 47
2 1 VCC12BERIKUT D6 3 K.STARTER
K4 VCC12
4
5 Relay
R19 Res1 LED 6K8
R20 Res1 47
4
5 Relay
R.STARTER
R16
R.CETEK2
R.CETEK1
R15 Res1 LED 6K8
2 1 VCC12BERIKUT 3 K.CETEK2
Gambar 3.6 Rangkaian Relay
R21 Res1 LED 6K8 R.GAWAT
K1
R22 Res1 47
5 Relay
2 VCC12BERIKUT 1 VCC12 3 GAWATBUNYI
71
Pin IN1-IN4 pada IC ULN2003 (U4) merupakan input-an dari mikrokontroler utama untuk mengontrol relay (K1, K2, K3, K4). Cara kerjanya adalah ketika pin IN diberi logika high. Maka pin OUT akan mengeluarkan logika low. Namun ketika logika low diberikan pada pin IN maka logika high yang akan keluar pada pin OUT. Kemudian salah satu pin koil pada relay diberikan 12V, pin koil yang lainnya yang dihubungkan ke pin OUT pada ULN2003. LED (D3, D4, D5, D6) pada rangkaian relay berfungsi sebagai penanda apakah relay sedang aktif atau tidak.
PortRY4 PortRY3 PortRY2 PortRY1
3.1.4. Perancangan Rangkaian LCD, Keypad, dan Buzzer
U6 U5
C8 C9 100nF Cap 10nF
Cap
1 2 3 4 5 6 7 8 9
VCC5 18 17 16 15 14 13 12 11 10
Data Data Data Data
Out Out Out Out
A B C D
GND Data Avail
PortA.0 PortA.1 PortA.2 PortA.3 PortD.2
PortC.0 PortC.1 PortC.2
GND
PortCX2 PortCX1
PortCX4 PortCX3
GND MM74C922N
PortC.4 PortC.5 PortC.6 PortC.7
7 8 9 10 11 12 13 14 4 5 6
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 RS R/W EN
VCC A VO
BZ1 VCC5 Buzzer 1 1 PortB.5 2 2 15 ANODA_LCD 2 3 Buzzer O GND
GND K
1 16
LCD16x2
GND
GND R23 Res1 1K
GND
Gambar 3.7 Rangkaian LCD, Keypad dan Buzzer Sistem ini mempunyai sebuah keypad yang dapat digunakan oleh pengguna sebagai input-an. Keypad akan terhubung ke sebuah dekoder keypad tipe MM74C922 (U5) yang digunakan untuk melakukan
decode
input-an
menjadi
mikrokontroler utama sehingga mudah dibaca.
input-an
biner
bagi
72
Sistem juga mempunyai LCD karakter 16X2 (U6) yang digunakan untuk sistem dalam berinteraksi secara langsung dengan pengguna. Ketika pengguna tidak ingin menggunakan LCD maka pengguna dapat mematikan backlight dari LCD tersebut dengan mencabut jumper pada SW-LCD (P6). Sistem mempunyai sebuah buzzer (BZ1) yang berfungsi sebagai pengingat bagi pengguna sistem. Buzzer langsung dihubungkan dengan mikrokontroler. 3.1.5. Perancangan Rangkaian Regulator U8 VCC5 OUT GND
VCC3.3 3
C11 Cap Pol1 470uF
µA7805CKC
GND
VCC12
3
GND
C12 Cap 100nF GND
VIN
C13 Cap Pol1 1000uF
D7 LED
GND
OUT
2 C14 Cap Pol1 470uF
GND
GND
1117-3.3
R24 Res1 1K
GND
GND
GND
3 C16 Cap 100nF
D8 LED
GND R25 Res1 1K
VCC4
IN
OUT
2
ADJ R26 120
LM350T GND
C15 Cap 100nF
GND
U9
VCC12
1
C10 Cap Pol1 1000uF
IN
2
1
1
U7
VCC12
C17 Cap Pol1 1000uF
C18 Cap Pol1 1000uF
R27 280
GND
GND
GND
Gambar 3.8 Rangkaian Regulator Sistem menggunakan 3 buah regulator. Ketiga rangkaian regulator mempunyai input sebesar 12-14V. Regulator 7805 (U7) akan menjaga tegangan Vout pada 5V, regulator 7805 pada sistem difungsikan memberi tegangan untuk LCD, dan dekoder keypad MM74C922. Regulator 1117-3.3 (U8) akan menjaga tegangan Vout pada 3,3V,
73
regulator 1117-3.3 pada sistem difungsikan untuk memberi tegangan untuk mikrokontroler utama. Sedangkan regulator LM350 (U9) pada sistem telah didesain untuk mengeluarkan output 4,2V dan menjadi sumber tegangan bagi modul SIM300.
PortCX4 PortCX3 PortCX2 PortCX1
3.1.6. Perancangan Rangkaian Input/Output Sistem
P3
P2 GAWATBUNYI VCC12 VCC12BERIKUT
1 2 3 4 5 6 7 8
VCC3.3 GND K.ALARM K.CETEK1 K.CETEK2 K.STARTER KEYPAD 4X4 Mesin Alarm PortD.5 CLock PortD.6 Kunci
P4 2 1
User
USER
P5 2 1
RST
RESET GND
LED GND
VCC4P6 2 1
LED_SIM300
1 2 3 4 5 6 7 8 9 10 11 12 13
VCC5 2 1
ANODA_LCD
SW-LCD
PortRY1 PortRY2 PortRY3 PortRY4
P1
Terminal Block 13pin
Gambar 3.9 Rangkaian Input / Output Sistem Pada perancangan rangkaian input / output sistem terdapat 6 buah kumpulan pin. Diantaranya P1 yang berhubungan dengan sistem starter dan status mobil. P2 merupakan pin input keypad 4X4. P3 merupakan pin input tombol rahasia. P4 merupakan pin untuk pengguna memberikan jumper agar dapat melakukan reset terhadap sistem. P5 merupakan pin output untuk indikator LED SIM300. P6 merupakan pin yang dihubungkan menggunakan jumper jika pengguna ingin menggunakan LCD karakter 16X2 agar backlight dari LCD karakter 16X2 menyala.
74
3.2. Perancangan Peranti Lunak Perancangan peranti lunak sistem ini difokuskan kepada pembuatan firmware untuk sebuah sistem keamanan dan otomatisasi pemanasan mobil dengan SMS, diantaranya inisialisasi SFR dan diagram alir. 3.2.1. Inisialisasi SFR (Special Function Register) Inisialisasi SFR perlu dilakukan untuk menggunakan fitur-fitur dari AVR yang digunakan pada sistem. •
SFR Berkaitan dengan Interrupt Eksternal •
MCUCR Pada register MCUCR nilai dari ISC yang digunakan adalah 1010 sehingga nilai MCUCR adalah 0x0A dalam heksadesimal. Yang bertujuan untuk mengeset mode input-an untuk mengetahui adanya interrupt adalah logika falling edge.
•
SREG SREG
merupakan
register
untuk
mengaktifkan
interrupt, dimana dalam pengaktifannya akan digunakan asm(sei), yang akan mengaktifkan I sehingga memiliki nilai logika satu yang berfungsi untuk mengaktifkan seluruh interrupt.
75
•
GICR Sistem menggunakan INT1 dan INT0 maka register GICR
akan
diset
nilainya
menjadi
0xC0
dalam
heksadesimal. •
SFR Berkaitan dengan Interrupt Timer •
TCCR0 TCCR0 bernilai 0x05 dalam heksadesimal karena akan digunakan pembagi untuk clock oscilator 1024.
•
TCNT0 Pada sistem, timer akan menghitung naik dari 00 sampai
FF
untuk
sampai
overflow.
Maka
dalam
pengaturannya akan diberikan nilai TCNT0 sebesar 0x00. •
TCCR1B & TCCR1A TCCR1B bernilai 0x05 dalam heksadesimal karena akan digunakan pembagi untuk clock oscilator 1024.
•
TCNT1H & TCNT1L Timer 1 memiliki nilai yang lebih besar dari timer yang lain yaitu sebesar 2 byte. Pada sistem, timer akan menghitung naik dari 0000 sampai FFFF untuk sampai overflow. Maka dalam pengaturannya akan diberikan nilai TCNT0 sebesar 0x00.
76
•
TCCR2 TCCR2 bernilai 0X07 dalam heksadesimal karena akan digunakan pembagi untuk clock oscilator 1024.
•
TCNT2 Pada sistem, timer akan menghitung naik dari 00 sampai
FF
untuk
sampai
overflow.
Maka
dalam
pengaturannya akan diberikan nilai TCNT2 sebesar 0X00. •
TIMSK Register
TIMSK
merupakan
register
untuk
menjalankan interrupt timer, dimana nilai yang akan diset adalah untuk mengaktifkan interrupt overflow adalah TOIE0, TOIE1, TOIE2 bernilai 1. •
SFR berkaitan dengan Serial •
UCSRB Pada sistem, register UCSRB akan diberi nilai sebesar 0x98 dalam heksadesimal. Karena yang akan diaktifkan adalah RXCIE berfungsi untuk mengetahui jika terjadi pengiriman secara serial, RXEN untuk mengaktifkan pin Receive, sehingga dapat menerima input-an serial, dan yang terakhir adalah TXEN berfungsi untuk mengirim data secara serial.
77
•
UCSRC Untuk menulis UCSRC diperlukan pengaktifan bit URSEL, dan untuk pengiriman data penampung sebesar 8 bit diset pada UCSZ1 dan UCSZ0 bernilai 1. Sehingga dalam pemberian bitnya diberikan nilai UCSRC sebesar 0X86 dalam heksadesimal.
•
UBRRH & UBRRL Frekuensi
oscilator
yang
digunakan
adalah
4.0000MHz, sehingga jika ingin menggunakan baudrate sebesar 9600, maka akan digunakan UBRR bernilai 25 dan ketika dikonversi menjadi heksadesimal nilainya akan menjadi 0X19. •
SFR lainnya •
ACSR Ketika fungsi analog comparator tidak digunakan maka pada bit ACD harus diberi nilai logika 1, untuk menghemat
daya
yang dikonsumsikan
oleh
AVR.
Sehingga dalam pemberian logika pada ACSR akan diberi nilai 0X80 dalam heksadesimal.
78
3.2.2. Diagram Alir Diagram alir sistem terbagi menjadi diagram alir sistem, diagram alir keypad, diagram alir SMS, diagram alir penyalaan mesin dengan kunci. •
Diagram Alir Sistem Pada saat pertama sistem dinyalakan, sistem akan diinisialisasi. Setelah dilakukan inisialisasi, maka akan dicek apakah ada input dari keypad, jika tidak, akan dicek apakah ada input dari serial, jika ya maka akan dicek apakah serial tersebut dari adanya panggilan telepon, jika ya maka akan diputus koneksinya. Jika tidak maka akan dicek apakah ada input-an serial dari SMS atau tidak, jika ya maka akan dilakukan pengecekan SMS. Jika bukan dari SMS maka akan dicek apakah dari jadwal pemanasan sama dengan waktu sekarang, jika ya maka akan dilakukan pemanasan mesin, jika tidak maka akan dilakukan penghapusan data serial. Jika tidak dari inputan serial kemudian akan dilakukan pengecekan kondisi mobil apakah terdapat penyalaan mesin dengan kunci atau tidak. Kondisi pengecekan ini akan diulang kembali secara terus menerus.
79
Gambar 3.10 Diagram Alir Sistem
80
•
Diagram Alir Keypad Diagram alir berikut pada gambar 3.11 merupakan blok diagram terhadap penekanan keypad. Tombol yang
harus
ditekan
pertama
adalah
D
yang
menyatakan enter, jika tidak maka akan diabaikan. Kemudian
akan
diberikan
tampilan
masukan
password, disini pengguna diminta untuk memasukan password. Setelah pengguna memberikan password sebanyak pengecekan
6
digit, langsung.
kemudian Apakah
akan
dilakukan
password
yang
dimasukkan tersebut benar atau tidak. Kemudian jika salah maka akan diberikan tampilan bahwa password yang dimasukan tersebut salah. Jika benar akan diberikan tampilan menu berupa pilihan ganti password atau pilihan mengatur nomor handphone pemilik. Kemudian akan dicek apakah pengguna menekan tombol A untuk pilihan pertama atau tombol B untuk pilihan kedua dan tombol * untuk kembali ke tampilan awal. Jika pengguna menekan A, maka akan muncul tampilan untuk mengganti password sebanyak 6 digit. Kemudian selama pemasukan password akan dicek angka atau tidak yang dimasukan. Jika tidak apakah
81
tombol yang ditekan C, ini untuk menghapus 1 digit input-an yang telah diberikan pengguna. Jika tidak maka akan dilakukan pengecekan ada penekanan bintang atau tidak, jika ya maka akan kembali, jika tidak modul akan menunggu sampai ada input-an. Jika sudah dilakukan penekanan sebanyak 6 digit maka
pengguna
akan
diminta
kembali
untuk
mengulang password tersebut.Jika sudah dilakukan pengisian kembali maka akan dilakukan perbandingan antara masukkan password pertama dengan masukkan password yang kedua. Kemudian jika berbeda maka akan
diberikan
output
berupa
tampilan
yang
menyatakan password gagal diubah dan kemudian kembali ke tampilan awal. Jika berhasil maka password berhasil diubah dan kembali ke tampilan awal. Jika pengguna memilih input-an B maka akan muncul kembali pilihan untuk menampilkan nomor handphone atau merubah nomor handphone. Jika pengguna memilih input-an A maka akan diberikan tampilan berupa nomor handphone pengguna yang ada dalam memori sistem kemudian setelah beberapa saat akan kembali ke tampilan awal. Jika memilih
82
input-an
B,
maka
pengguna
diminta
untuk
memasukan nomor handphone yang baru. Akan dilakukan pengecekan apakah diberikan masukan berupa angka. Jika tidak akan dilakukan pengecekan apakah input yang diberikan C jika ya maka akan dihapus 1 digit. Jika tidak akan dilakukan pengecekan input-an berupa bintang atau tidak, jika tidak maka akan menunggu input-an pengguna. Setelah selesai meng-input nomor handphone, maka pengguna harus menekan D untuk enter, kemudian tampilan akan ke tampilan awal. Lalu sistem akan memberikan konfirmasi bahwa nomor handphone telah terdaftar berupa SMS dari sistem ke nomor tersebut.
83
Gambar 3.11 Diagram Alir Keypad
84
•
Diagram Alir SMS Diagram alir pada gambar 3.12 merupakan diagram alir ketika terjadi penerimaan SMS. Disini nomor handphone dari SMS pengirim akan dicek terlebih dahulu dengan nomor handphone yang tersimpan. Jika sama, maka akan terjadi pengecekan isi SMS yaitu permintaan untuk penyalaan mobil sekarang, permintaan untuk penjadwalan, permintaan status kondisi mobil, permintaan untuk memasukkan nomor cek pulsa, permintaan untuk mematikan mesin, permintaan untuk mematikan mesin secara paksa atau permintaan menormalkan kondisi mobil. Jika tidak sama dengan nomor handphone yang tersimpan dalam sistem maka akan dilakukan pengecekan isi SMS berupa permintaan untuk mengganti nomor handphone atau tidak. Jika bukan permintaan mengganti nomor handphone maka SMS akan diabaikan dan dihapus. Jika ya akan dilakukan pendaftaran nomor handphone tersebut. Jika isi SMS adalah pemanasan mobil sekarang maka mesin akan dipanaskan. Jika tidak maka akan dicek isi SMS apakah permintaan untuk menyalakan mesin dengan penjadwalan. Jika ya maka jadwal akan
85
diset dan dikirimkan SMS mesin akan dipanaskan pada permintaan pengguna. Jika tidak, maka akan dilakukan pengecekan permintaan untuk status mobil. Jika SMS adalah status mobil maka akan dikirimkan kondisi mobil saat ini. Jika tidak maka akan dicek apakah permintaan untuk mematikan mobil. Jika ya maka mesin akan dimatikan. Jika pesan SMS yang dikirim bukan untuk mematikan mesin, maka akan dicek apakah isi SMS untuk mengatur permintaan pengecekan pulsa pada modul. Jika ya maka akan diset nomor tersebut sesuai permintaan pengguna. Jika bukan permintaan pengesetan nomor cek pulsa maka akan dicek apakah pesan yang dikirim itu untuk mengubah status mobil menjadi kondisi gawat, jika ya maka mesin mobil tidak akan bisa distarter kembali. Jika tidak maka akan dicek apakah fungsi untuk menormalkan kondisi mobil, jika ya maka mesin mobil akan dinormalkan. Jika bukan permintaan untuk menormalkan kondisi mobil maka akan dicek apakah untuk membatalkan jadwal, jika ya maka jadwal pengesetan akan dibatalkan. Jika bukan pembatalan jadwal maka akan dikirim SMS kepada pengguna bahwa format permintaan salah.
86
Gambar 3.12 Diagram Alir SMS
87
•
Diagram Alir “WARMING UP” Format SMS: WARMING <spasi> UP Diagram alir pada gambar 3.13 merupakan diagram alir untuk terjadinya waktu pemanasan yang diset oleh pengguna telah sama dengan waktu sekarang, atau pengguna mengirimkan permintaan untuk menyalakan mesin sekarang. Pertama akan dicek apakah mesin menyala, jika menyala
maka
akan
dikirimkan
SMS
pemberitahuan kepada pengguna bahwa mesin sedang
menyala.
Jika
tidak,
maka
akan
dilanjutkan pengecekan apakah ada pemutaran kunci pada ignition switch, jika terdapat kunci, maka akan dikirimkan SMS ke pengguna bahwa terdapat kunci pada mobil. Jika tidak, maka akan dilakukan penyalaan mesin mobil. Kemudian akan dicek apakah mesin mobil telah menyala, jika ya maka akan dilakukan pengiriman SMS. Jika tidak maka akan dicek kembali apakah terdapat kunci, jika tidak maka mesin kembali dicoba untuk dinyalakan sebanyak 5x, jika gagal, maka akan diberikan SMS berupa mesin gagal dinyalakan
88
dan diharapkan pengguna mengecek kondisi mobilnya. Jika mobil telah berhasil dinyalakan maka akan dilakukan pengecekan apakah sudah 5 menit penyalaan mesin tersebut, Jika belum maka akan dicek terdapat pemutaran kunci pada ignition atau tidak, jika ada pemutaran kunci maka mesin mobil akan dimatikan. Jika tidak ada pemutaran kunci maka akan dicek apakah pintu mobil tidak terkunci. Jika tidak terkunci maka buzzer akan berbunyi, ini berfungsi untuk mengingatkan pengguna bahwa mobil sedang dalam mode pemanasan,
sehingga
pengguna
tidak
mengendarai mobil tersebut tanpa kunci yang terpasang. Jika pintu terkunci maka buzzer tidak berbunyi. Kemudian akan dilakukan pengecekan apakah sudah 5 menit penyalaan mesin. Jika sudah maka mesin akan dimatikan dan sistem akan mengirimkan pesan kepada pengguna bahwa mobil telah dipanaskan.
89
Gambar 3.13 Diagram Alir “WARMING UP” •
Diagram Alir Schedule Format SMS: o WARMING <spasi> UP <spasi>
90
o WARMING <spasi> UP <spasi> <spasi> EVERYDAY o WARMING <spasi> UP <spasi> <spasi> EVERYWEEK o WARMING <spasi> UP <spasi> <spasi> EVERYWEEK <spasi> Pertama, akan dicek isi dari SMS apakah format penjadwalan tersebut jam benar atau tidak, jika tidak maka akan dikirimkan format SMS salah.
Jika
benar
maka
akan
dilakukan
pengecekan permintaan pemanasan hari ini, jika ya maka akan kembali dilakukan pengecekan waktu yang diminta pengguna telah lewat dari waktu saat ini atau belum. Jika sudah lewat maka akan
dipanaskan
besok.
Jika
belum
akan
dipanaskan hari ini. Jika bukan permintaan pemanasan hari ini maka akan dicek apakah pemanasan untuk setiap hari. Jika ya maka akan kembali dilakukan pengecekan terhadap apakah jam permintaan sudah lewat dari waktu saat ini atau belum. Jika sudah lewat maka akan dipanaskan
besok,
jika
belum
lewat
akan
dipanaskan hari ini. Jika bukan permintaan untuk
91
memanaskan setiap hari maka akan kembali dicek apakah permintaan setiap minggu dengan hari. Jika ya maka akan dicek apakah hari yang diminta pengguna sama dengan hari ini, jika tidak maka akan diset sesuai hari yang diminta pengguna. Jika sama maka akan kembali dilakukan pengecekan terhadap waktu, apakah waktu yang diminta pengguna sudah lewat dari waktu saat ini atau belum. Jika sudah maka akan diset untuk minggu depan. Jika belum maka akan diset untuk hari ini. Jika bukan permintaan setiap minggu dengan hari, maka
akan
pengguna
dilakukan
melakukan
pengecekan
permintaan
apakah
pemanasan
setiap minggu, jika ya maka akan dicek apakah waktu yang diminta pengguna sudah lewat dari waktu saat ini atau belum. Jika sudah maka akan diset untuk minggu depan dengan waktu yang diminta pengguna. Jika belum lewat maka akan diset untuk hari ini sesuai waktu penjadwalan yang
diminta
oleh
pengguna,
dan
setiap
pengaturan yang telah dilakukan akan dikirimkan kembali SMS bahwa jadwal telah diset.
92 SCHEDULE
Ambil data jam tanggal, mode, hari
Format jam benar?
Reply SMS : Wrong Format Balance:Rp.<...>
Tidak
Ya
Panasin hari ini?
Tidak
Panasin setiap hari?
Panaskan setiap minggu dengan adanya hari ?
Tidak
Ya
Ya
Tidak
Ya
Mode = 2 Mode = 2
Hari = Hari permintaan user Jam belum lewat?
Panaskan Setiap minggu?
Ya
Mode = 1
Mode = 0
Tidak
Ya
Hari = Hari ini
Tidak
Tidak
Ya
Tanggal = Tanggal Hari Ini
Apakah Hari sama dengan hari ini?
Ya
Tanggal = Tanggal Besok
Tidak
Jam belum lewat?
Ya Mode = 0?
Tidak
Panaskan pada hari dan jam sesuai permintaan user
Ya
Reply SMS : Your engine will be warm up at <…> Balance:Rp. <…>
Reply SMS : Your engine will be warm up at <…> Everyday Balance:Rp. <…>
Set jam dan tanggal hari ini
Reply SMS : Your engine will be warm up at <…> Every<...> Balance:Rp. <…>
Return
Gambar 3.14 Diagram Alir Schedule •
Diagram Alir “STATUS” Format SMS: STATUS Diagram alir pada gambar 3.15 merupakan diagram alir ketika pengguna meminta status kondisi mobil berupa kondisi mesin, kondisi
93
alarm, kondisi central lock, kondisi mode mobil, dan jadwal pemanasan yang diatur oleh pengguna. Semua ini akan dikirimkan sebagai pemberitahuan kepada pengguna.
Gambar 3.15 Diagram Alir “STATUS”
94
•
Diagram Alir “ENGINE OFF” Format SMS: ENGINE <spasi> OFF
Gambar 3.16 Diagram Alir “ENGINE OFF” Pertama sistem akan cek apakah terdapat kunci pada mobil, jika ya maka akan dikirimkan SMS bahwa mesin tersebut menyala dan harus menggunakan SMS X untuk mematikannya. Jika tidak maka akan dilakukan pengecekan mesin
95
menyala atau tidak. Jika tidak maka akan diberitahukan kepada pengguna bahwa mesin mobil sudah mati. Jika ya maka mesin mobil akan dimatikan dan dilakukan pengiriman SMS bahwa mesin mobil telah dimatikan.
•
Diagram Alir “BALANCE CHECK” Format SMS: BALANCE <spasi> CHECK
Gambar 3.17 Diagram Alir “BALANCE CHECK”
96
Diagram alir di atas merupakan diagram alir untuk pendaftaran nomor cek pulsa, dimana pengguna mengirimkan nomor cek pulsa dari kartu seluler yang digunakan pada sistem, Setelah pendaftaran nomor cek pulsa ini maka pengguna dapat melihat berapa sisa pulsa dari kartu seluler yang terdapat pada sistem tersebut. Setelah terdaftar maka pengguna akan mendapat balasan SMS berupa nomor cek pulsa yang didaftar dan sisa pulsanya. •
Diagram Alir “X” Format SMS: X Diagram alir pada gambar 3.18 merupakan diagram alir SMS yang digunakan dalam kondisi pengguna
merasa
mobil
dalam
keadaan
berbahaya. Sehingga mobil tidak dapat di starter baik dengan kunci atau dengan SMS. Kemudian sistem akan mengirimkan SMS kepada pengguna, bahwa mobil sedang dalam kondisi berbahaya, dan tidak dapat dinyalakan.
97
Gambar 3.18 Diagram Alir “X” •
Diagram Alir “NORMALIZE” Format SMS: NORMALIZE Diagram alir di atas merupakan diagram alir dimana pada kondisi ini, mobil akan dikembalikan ke mode normal, dimana mobil berada dalam kondisi dapat menyala kembali, ketika diterima SMS untuk menormalkan maka akan dicek
98
apakah mobil dalam kondisi normal. Jika ya, maka akan diberikan SMS bahwa mobil dalam kondisi normal. Jika tidak maka mode mobil akan dirubah menjadi mode normal dan sistem mengirim SMS balasan bahwa mobil telah dinormalkan.
Gambar 3.19 Diagram Alir “NORMALIZE” •
Diagram Alir “UNSCHEDULE” Format SMS: UNSCHEDULE
99
Gambar 3.20 Diagram Alir “UNSCHEDULE” Diagram alir di atas merupakan diagram alir ketika
pengguna
mengirim
SMS
berisi
UNSCHEDULE, berfungsi untuk membatalkan jadwal pemanasan mesin yang telah didaftarkan oleh pengguna. Setelah mengirim SMS ini pengguna akan menerima balasan berupa jadwal pemanasan dibatalkan.
yang
dipesan
pengguna
telah
100
•
Diagram Alir “REGISTER” Format SMS: REGISTER
Gambar 3.21 Diagram Alir “REGISTER” Setelah
dilakukan
pengecekan
nomor
handphone dan tidak sama maka akan dilakukan pengecekan isi SMS untuk mendaftarkan nomor handphone atau tidak. Jika ya maka akan dilakukan
pengecekan
password,
apakah
101
password yang disimpan sama dengan password pada isi SMS, jika sama maka akan dilakukan pendaftaran nomor tersebut. Jika tidak maka SMS tersebut akan dihapus. •
Diagram Alir Penyalaan Mesin dengan Kunci Jika ada penyalaan mesin tiba-tiba maka akan diterangkan seperti diagram alir di atas, di mana ketika mesin menyala maka buzzer akan berbunyi yang berfungsi untuk mengingatkan pengguna untuk menekan tombol rahasia, sehingga sistem tidak akan mengirimkan SMS kepada pengguna dan buzzer akan dimatikan oleh sistem. Jika pengguna tidak menekan tombol tersebut selama 30 detik maka sistem akan memberikan pesan kepada pengguna melalui SMS, sebagai pemberitahuan ada penyalaan mesin. Ini berfungsi sebagai antisipasi terhadap adanya penyalaan mesin tiba-tiba dari orang yang tidak seharusnya. Jika penyalaan mesin langsung dimatikan maka sistem akan langsung mengirim SMS sebagai pemberitahuan kepada pengguna.
102
Gambar 3.22 Diagram Alir Penyalaan Mesin dengan Kunci
103
3.3. Rancang Bangun Pada gambar rancang bangun sistem secara keseluruhan berukuran 18,2cm X 17,8cm X 5,4cm. Dari gambar rancang bangun sistem di atas terlihat beberapa komponen utama yaitu Mikrokontroler, SIM300, relay, regulator tegangan, LCD, LED, SIMCard Holder, buzzer, baterai kancing, terminal blok, keypad, LED(eksternal), push button(eksternal), kabel beserta konektor (eksternal). Bagian dari sistem yang terhubung ke mobil adalah bagian kabel dan konektor, dimana pada bagian tersebut terdapat kabel untuk sumber tegangan sistem yang diambil dari akumulator, serta masuknya beberapa status mobil yang dibutuhkan oleh sistem dan kabel yang berfungsi untuk menyalakan mobil.
Gambar 3.23 Rancang Bangun Sistem