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 kontrol
Modul display
Driver kolom
Modem
LCD
Moving Sign Display
Modul Mikrokontroler
Driver baris
Keypad
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.
R =
VBAT -VbukaLED -VCEsaturasi Iforward
R =
3,7V -2V -0,14V = 78 Ω 20 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 PIO0_7 PIO0_6 PIO3_5 PIO2_5 PIO2_4
FUNGSI SCLR SCK LATCH ENABLE INPUT
PIO3_4 PIO0_3 PIO2_1 PIO2_8 PIO2_7 PIO0_2 PIO1_8
Baris 1 Baris 2 Baris 3 Baris 4 Baris 5 Baris 6 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.
R6
Q6 BD140
R7
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.
Q7 BD140 BARIS 7
Q5 BD140
VCC
PIO3_4
R5
BARIS 6
Q4 BD140
VCC
PIO3_4
R4
BARIS 5
Q3 BD140
VCC
PIO3_4
PIO3_4
R3
VCC
BARIS 4
Q2 BD140 BARIS 2
PIO3_4
VCC
PIO3_4
R2
Q1 BD140 BARIS 1
PIO3_4
R1
VCC
BARIS 3
VCC
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.
20mA × 75LED = 1500mA = 1,5 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. Ib =
I Cmax 1,5 A = = 0, 006 A 250 hfe
(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. Rb =
Vb 3,3V = = 550Ω Ib 0, 006 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
1 2 3 4 5
VDD 3-5 0-6
Header 5
11 12 10 13
2-5 0-7
14 8
SFTCLK QA LCHCLK QB QC RST QD OE QE QF QG QH SDI
SDO
GND
2-4
MC74HC595AN
U74595(2)
VCC 16 15 1 2 3 4 5 6 7 9
VDD
dot1 1 2 3 4 5 6 7 8 Header 8
2-5 0-7
U74595(1)
mikro
3-5 0-6
0-7 0-6 3-5 2-5 2-4 3-4
11 12 10 13
14 8
SFTCLK QA LCHCLK QB QC RST QD OE QE QF QG QH SDI
SDO
VCC 16 15 1 2 3 4 5 6 7 9
dot2 1 2 3 4 5 6 7 8 Header 8
GND MC74HC595AN
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 PIO1_10 PIO0_10 PIO0_9 PIO2_9 PIO2_10 PIO2_2 PIO0_8
Fungsi RS RW E DB7 DB6 DB5 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.