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.1Deskripsi 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.
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.2Perancangan 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
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.
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,14
78
20
VBAT VbukaLED VCEsaturasi
R
Iforward
V
V
V
R
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.
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.
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 Q7 BD140 VCC PIO3 _4 BARI S 7 R6 Q6 BD140 VCC P IO3_ 4 B ARIS 6 R5 Q5 BD140 VCC PI O3_4 BA RIS 5 R4 Q4 BD140 VCC PIO 3_4 BA RIS 4 R3 Q3 BD140 VCC PIO3 _4 BARI S 3 R2 Q2 BD140 VCC PI O3_4 BA RIS 2 R1 Q1 BD140 VCC BARI S 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.
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,5A (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,006 250 Cmax A Ib hfe = = = 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 550 0,006 Vb V Rb Ib 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
2-4 0-7 0-6 3-5 2-5 3-4 OE 13 LCHCLK 12 SDI 14 RST 10 SFTCLK 11 QA 15 QB 1 QC 2 QD 3 QE 4 QF 5 QG 6 QH 7 SDO 9 VDD 16 GND 8 U74595(1) 0-7 0-6 3-5 2-5 2-4 MC74HC595AN VCC OE 13 LCHCLK 12 SDI 14 RST 10 SFTCLK 11 QA 15 QB 1 QC 2 QD 3 QE 4 QF 5 QG 6 QH 7 SDO 9 VDD 16 GND 8 U74595( MC74HC595AN 2) 0-7 0-6 3-5 2-5 VCC 1 2 3 4 5 6 7 8 dot1 Header 8 1 1 2 3 4 5 6 7 8 dot2 Header 8 2 3 4 5 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 penggunadari 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
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
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.3Perancangan 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.3.1 Menu
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.
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
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
Gambar 3.13 menunjukkan proses parsing RSS sehingga didapatkan judul dan
deskripsi informasi yang nantinya ditampilkan pada MSD.
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