bab iii perancangan -...
TRANSCRIPT
BAB III
PERANCANGAN
Dalam bab ini akan dibahas mengenai deskripsi alat, perancangan dan realisasi dari
perangkat keras maupun perangkat lunak alat. Perancangan perangkat keras menjelaskan
tentang hubungan antar modul. Sedangkan perancangan perangkat lunak menjelaskan
tentang garis besar perangkat lunak yang ditanamkan pada tiap modul yang
direpresentasikan melalui flowchart.
3.1 Deskripsi Alat
Alat yang dirancang dapat membaca RSS kemudian menampilkannya pada MSD.
Operator dapat memilih salah satu dari lima buah kategori informasi yang disediakan.
Setiap 30 menit, alat akan membuka koneksi ke alamat RSS feed kategori berita yang
dituju, dan membaca RSSnya. Sepuluh berita terbaru akan ditampilkan pada MSD.
SIM300 digunakan sebagai modem yang berguna untuk menghubungkan alat ke internet
melalui jaringan GPRS. Diagram blok alat secara keseluruhan dapat dilihat pada Gambar
3.1.
33
34
Modul Mikrokontroler
LCD
Keypad
Modem
Driver baris
Driver kolom Moving Sign Display
Modul display Modul kontrol
CATU DAYA
Gambar 3.1. Diagram Blok Alat
3.2 Perancangan Perangkat Keras (Hardware)
Pada bagian ini akan dijelaskan mengenai komponen pendukung tiap modul serta
koneksinya dengan mikrokontroler. Adapun modul-modul tersebut adalah modul SIM300,
modul penampil dotmatrix, dan modul antarmuka pengguna.
3.2.1 Modul SIM300
Dalam Perancangan ini, terdapat dua rangkaian utama yang mendukung
kinerja dari modul SIM-300C, yaitu SIM interface, dan catu daya. Sebagai catudaya
untuk SIM300 digunakan baterai lithium ion 3,7V/1500mAh. Gambar rangkaian catu
daya untuk SIM300 dapat dilihat pada Gambar 3.2.
35
Gambar 3.2. Rangkaian Catu Daya SIM300
Selain itu terdapat pin yang digunakan untuk mengaktifkan dan menon-aktifkan
kerja dari modul SIM300 ini, yaitu pin power key. Untuk mengaktifkan SIM300, pada pin
power key (pin 17) diberikan level tegangan low, kemudian saat modul SIM300 telah aktif,
diberikan level tegangan high. Timing diagram dari proses menyalakan modul SIM300
dapat dilihat pada Gambar 3.3.
Gambar 3.3. Timing diagram dari Proses Mengaktifkan modul SIM300 [14, h.30]
36
Sebagai penanda bahwa SIM300 telah aktif, terdapat pin Netlight yang
kemudian hubungkan dengan LED. LED akan berkedip jika SIM300 aktif. Gambar
3.4 menunjukkan rangkaian indikator LED.
Gambar 3.4. Rangkaian LED Indikator
Tegangan buka LED adalah ±2V. Sedangkan arus yang dibutuhkan untuk
menyalakan LED adalah ±20mA. Transistor yang digunakan dalam perancangan
adalah transistor seri C828. Sesuai dengan datasheet [12], Saat transistor saturasi
VCEsaturasi sebesar 0.14V Sehingga, nilai resistor yang digunakan sesuai dengan
Persamaan 3.1.
- -
3,7 -2 -0,147820
VBAT VbukaLED VCEsaturasiR Iforward
V V VR mA
=
= = Ω (3.1)
Dari Persamaan 3.1, didapatkan nilai resistor yang dibutuhkan untuk
menyalakan LED adalah 78Ω. Namun, pada perancangan kali ini digunakan nilai
resistor 100Ω, karena dianggap mendekati nilai yang dibutuhkan dan banyak tersedia
di pasaran.
37
Komunikasi antara SIM300 dan mikrokontroler menggunakan komunikasi
serial. Gambar 3.5 menunjukkan hubungan antar pin antara mikrokontroler dan modul
SIM300.
Gambar 3.5. Hubungan pin TX dan RX
Sedangkan rangkaian SIM interface ditunjukkan pada Gambar 3.6.
Gambar 3.6. Rangkaian SIM Interface
3.2.2 Modul Penampil Dotmatrix
Dotmatrix LED yang digunakan pada skripsi ini berisi 15 buah dotmatrix 7x5
LED. Untuk mengontrolnya dibutuhkan driver baris, yang dirangkai dari transistor dan
driver kolom, yang merupakan rangkaian shift register, dan diatur oleh mikrokontroler.
Tabel konfigurasi pin-pin mikrokontroler yang terhubung dengan modul penampil
dotmatrix dapat dilihat pada Tabel 3.1.
38
Tabel 3.1 Konfigurasi Pin Mikrokontroler dengan Modul Penampil Dotmatrix
PIN Mikrokontroler FUNGSI PIO0_7 SCLR PIO0_6 SCK PIO3_5 LATCH PIO2_5 ENABLE PIO2_4 INPUT
PIO3_4 Baris 1 PIO0_3 Baris 2 PIO2_1 Baris 3 PIO2_8 Baris 4 PIO2_7 Baris 5 PIO0_2 Baris 6 PIO1_8 Baris 7
Transistor yang dipakai sebagai driver baris adalah tipe PNP seri BD140
dengan beban yang berupa LED terletak pada kaki kolektor. Seperti terlihat pada
Gambar 3.7, pin-pin mikrokontroler terhubung dengan basis dari masing-masing
transistor untuk mengatur switching. Sedangkan kolektor dari driver terhubung dengan
kaki baris 1 sampai baris 7 pada penampil dotmatrix.
R7 Q7BD140
VCCPIO3_4
BARIS 7
R6 Q6BD140
VCC
PIO3_4
BARIS 6
R5 Q5BD140
VCC
PIO3_4
BARIS 5
R4 Q4BD140
VCC
PIO3_4
BARIS 4
R3 Q3BD140
VCC
PIO3_4
BARIS 3
R2 Q2BD140
VCC
PIO3_4
BARIS 2
R1 Q1BD140
VCC
BARIS 1
PIO3_4
Gambar 3.7. Untai Driver Baris Penampil Dotmatrix
Masing-masing pin baris untuk setiap dotmatrix dijadikan satu jalur, kemudian
dihubungkan pada driver baris 1 sampai 7. Sehingga apabila pin mikrokontroler yang
bertanggung jawab untuk baris pertama diberi picuan, maka semua dot baris pertama
pada setiap dotmatrix akan aktif.
39
Arus yang dibutuhkan untuk menyalakan LED adalah ±20mA. Ketika satu
baris dotmatrix dinyalakan secara bersamaan, maka nilai arus maksimum yang
dibutuhkan didapat sesuai dengan Persamaan 3.2.
20 75 1500 1,5mA LED mA A× = = (3.2)
Berdasarkan datasheet [1], nilai hfe dari transistor BD140 adalah 250.
Sehingga nilai arus yang melaui basis (Ib) dapat dihitung seperti terlihat pada
Persamaan 3.3.
I 1,5 0,006250
Cmax AIbhfe
= = = A (3.3)
Setelah mendapatkan nilai Ib, maka nilai resistor pada kaki basis (Rb) yang
dibutuhkan dapat dihitung dengan membagi nilai tegangan pada basis dan Ib. Nilai
tegangan pada basis merupakan tegangan keluaran mikro yaitu sebesar 3.3V.
Perhitungan nilai Rb sesuai dengan Persamaan 3.4.
3,3 5500,006
Vb VRbIb A
= = = Ω (3.4)
Berdasarkan perhitungan, nilai resistor untuk R1 sampai R7 yang digunakan
pada Gambar 3.7 adalah sebesar 550Ω.
Sedangkan untuk driver kolom, digunakan shift register 74HC595. Keluaran
Shift register masing-masing dihubungkan pada kaki kolom dotmatrix. Karena jumlah
dotmatrix yang digunakan adalah 15 buah berukuran 7x5, maka jumlah kolom
keseluruhan adalah 75 kolom. Jumlah pin keluaran dari shift register adalah 8 pin,
sehingga jumlah shift register yang dibutuhkan untuk mengatur semua kolom adalah 10
buah.
40
2-4
0-70-63-52-5
3-4
OE13
LCHCLK12
SDI14
RST10
SFTCLK11 QA 15
QB 1
QC 2
QD 3
QE 4
QF 5
QG 6
QH 7
SDO 9
VDD 16
GND8
U74595(1)
0-7
0-63-5
2-5
2-4
MC74HC595AN
VCC
OE13
LCHCLK12
SDI14
RST10
SFTCLK11 QA 15
QB 1
QC 2
QD 3
QE 4
QF 5
QG 6
QH 7
SDO 9
VDD 16
GND8
U74595(
MC74HC595AN
2)
0-7
0-63-5
2-5
VCC
12345678
dot1
Header 8
1
12345678
dot2
Header 8
2345
eader 5
mikro
H
Gambar 3.8. Untai Driver Kolom Penampil Dotmatrix
Gambar 3.8 adalah potongan dari untai driver kolom. Sebuah shift register
digunakan untuk mengatur delapan kolom dotmatrix. Data dimasukkan dilewatkan
oleh pin SDI yang dihubungkan dengan pin PIO2_4 pada mikrokontroler.
Pin reset (RST), output enable (OE), shift clock (SFTCLK), dan latch clock
(LCHCLK) dari semua shift register diparalel dan dihubungkan ke mikrokontroler
dengan konfigurasi sesuai dengan Tabel 3.1. Sedangkan sebagai masukan data untuk
shift register kedua, diambil dari pin output (SDO) shift register pertama. Masukan
shift register ketiga diambil dari keluaran shift register kedua, begitu seterusnya hingga
shift register kesepuluh.
3.2.3 Modul Antarmuka Pengguna
Keypad dan LCD digunakan sebagai antarmuka pengguna dari alat ini.
a. Keypad
Keypad yang digunakan adalah keypad yang berisi 16 tombol. Gambar dan
konfigurasi pin keypad dapat dilihat pada Gambar 3.9. sedangkan konfigurasi
pin mikrokontroler yang terhubung dengan keypad dapat dilihat pada Tabel
3.2.
41
Gambar 3.9. Keypad
Tabel 3.2. Tabel Konfigurasi Pin Keypad
Pin keypad (tampak depan) Pin mikrokontroler Fungsi pin mikrokontroler
Pin 1 PIO 2-3 Input
Pin 2 PIO 3-1 Input
Pin 3 PIO 3-0 Input
Pin 4 PIO 1-2 Input
Pin 5 PIO 1-1 Output
Pin 6 PIO 1-0 Output
Pin 7 PIO 0-11 Output
Pin 8 PIO 2-11 Output
Prinsip kerja dari keypad adalah dengan menggunakan model scanning
keypad. Dimana, 4 pin digunakan sebagai masukan, dan 4 pin yang lain
digunakan sebagai keluaran, kemudian dihubungkan dengan mikrokontroler.
42
b. LCD
LCD yang digunakan adalah LCD karakter 20x4. Konfigurasi koneksi pin
LCD dengan mikrokontroler dapat dilihat pada Tabel 3.3.
Tabel 3.3. Konfigurasi Pin LCD
Pin Mikrokontroler Fungsi PIO1_10 RS PIO0_10 RW PIO0_9 E PIO2_9 DB7 PIO2_10 DB6 PIO2_2 DB5 PIO0_8 DB4
3.3 Perancangan Perangkat Lunak (Software)
Mikrokontroler digunakan sebagai pengendali utama dari keseluruhan alat.
Perangkat lunak yang dirancang, kemudian ditanamkan ke mikrokontroler untuk
mengendalikan masing-masing modul. Pada bagian ini akan dibahas garis besar program
dari masing-masing modul yang telah tersebut di atas yang direpresentasikan melalui
diagram alir. Diagram alir cara kerja alat secara keseluruhan dapat dilihat pada Gambar
3.10.
43
Gambar 3.10. Diagram Alir Alat
44
3.3.1 Menu
Gambar 3.11. Diagram Alir Menu
45
Penjelasan diagram alir pada Gambar 3.11 adalah sebagai berikut:
• Tampilan awal adalah mode standar tampilan yang akan muncul pada
LCD yaitu “RSS Reader”
• Ketika terjadi penekanan pada keypad, maka tampilan pada LCD akan
berubah meminta masukkan password. Hal ini dilakukan untuk
memastikan bahwa hanya operator saja yang dapat melakukan
pengaturan pada alat.
• Jika masukan password salah, maka alir program akan kembali
meminta masukan password. Jika password yang dimasukkan benar,
maka akan tampil dua buah pilihan menu yaitu:
Menu 1 untuk memilih kategori berita, dan
Menu 2 untuk mengganti password.
• Bila operator memilih menu 1, akan muncul lima pilihan kategori berita
yang disediakan. Operator hanya tinggal menekan nomor pilihan
kategori berita yang ingin ditampilkan pada MSD.
• Bila operator memilih menu 2, maka operator akan diminta untuk
memasukkan password baru. Kemudian akan dikonfirmasi apakah
password yang dimasukkan sudah sesuai. Jika sesuai, maka alir
program akan kembali ke tampilan awal.
3.3.2 Koneksi GPRS
Untuk dapat mengakses SIM300, digunakan perintah-perintah ATCommand.
Perintah-perintah ini dikirim menggunakan komunikasi serial. Ketika mengirimkan
sebuah perintah kepada SIM300, maka SIM300 akan mengirim jawaban.
46
Diagram alir perangkat lunak yang dirancang dapat dilihat pada Gambar 3.12.
Gambar 3.12. Diagram Alir Koneksi GPRS
Setiap mengirimkan perintah kepada SIM300, maka SIM300 akan memberikan
jawaban sesuai dengan statusnya. Ketika jawaban dari SIM300 sesuai dengan yang
47
diharapkan, maka proses akan dilanjutkan dengan mengirimkan perintah selanjutnya.
Jika statusnya baik, maka jawaban dari SIM300 adalah ‘OK’.
Untuk beberapa perintah yang berfungsi untuk mengatur parameter koneksi
GPRS, maka parameter-parameternya disesuaikan dengan pengaturan parameter yang
ditentukan oleh provider penyedia layanan GPRS. Sebagai contoh, saat mengirimkan
perintah AT+CSTT= <“APN”>,<“USER ID”>,<“PASSWORD”>, APN, user ID, dan
password yang disertakan sesuai dengan pengaturan standar yang disediakan oleh
provider. Misalnya, dalam perancangan kali ini digunakan provider GSM XL, maka
perintah yang dikirimkan adalah AT+CSTT="www.xlgprs.net","xlgprs","proxl”. Jika
format yang ditulis benar, maka SIM300 akan memberi jawaban ‘OK’.
Ketika jawaban yang dikirim oleh SIM300 tidak sesuai dengan yang
diharapkan, maka proses program akan kembali mengirimkan perintah yang sama.
3.3.3 Parsing RSS
Pada proses ini, kembalian dari SIM300 yang merupakan bentuk file XML
akan dipilah dan hanya diambil konten judul dan deskripsi informasi yang nantinya
akan ditampilkan pada MSD.
Dalam proses parsing RSS, yang dilakukan adalah mencari elemen judul dan
deskripsi informasi dengan cara membandingkan nama tag. Setelah tag ditemukan,
maka proses selanjutnya adalah mengambil kontennya dan menyimpannya pada buffer
sehingga menemukan tag tutup dari elemen tersebut.
48
Gambar 3.13 menunjukkan proses parsing RSS sehingga didapatkan judul dan
deskripsi informasi yang nantinya ditampilkan pada MSD.
Gambar 3.13. Diagram Alir Parsing RSS
49
3.3.4 Penampil Dotmatrix
Dengan menggunakan metode scanning baris, driver baris dinyalakan secara
bergantian terus-menerus. Sedangkan untuk mengatur dot mana yang akan dinyalakan,
dilakukan melalui driver kolom.
Pada dasarnya cara kerja shift register adalah ketika pin shift clock diberi
picuan, maka data yang terdapat pada pin input akan digeser dan nilainya akan
disimpan pada register. Jika pin latch clock diberikan picuan, maka data yang
tersimpan pada register akan diteruskan ke pin output.
Pada implementasinya dalam program, disediakan buffer yang
merepresentasikan setiap titik LED pada dotmatrix. Selanjutnya ada dua task yang
dikerjakan oleh mikrokontroler. Task pertama bertugas untuk melakukan scanning
baris untuk menampilkan buffer di dotmatrix. Task ini dilakukan secara periodik
dengan interupsi timer. Task kedua bertugas untuk melakukan scrolling terhadap setiap
bit dalam buffer agar tampilan dotmatrix (teks) bergeser. Scrolling dilakukan setiap 1
siklus scanning selesai. Karena terdapat 75 kolom, maka buffer dialokasikan 75 byte
yang setiap bit-nya mewakili nyala satu LED.