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 Modem Driver kolom Moving Sign Display LCD 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 R VBAT -VbukaLED-VCEsaturasi = Iforward 3,7V-2V-0,14V = = 78Ω (3.1) 20mA 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. 3.2.2 Modul Penampil Dotmatrix Gambar 3.6. Rangkaian SIM Interface 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 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. R1 Q1 BD140 R2 Q2 BD140 R3 Q3 BD140 R4 Q4 BD140 R5 Q5 BD140 R6 Q6 BD140 R7 Q7 BD140 PIO3_4 BARIS 1 PIO3_4 BARIS 2 PIO3_4 BARIS 3 PIO3_4 BARIS 4 PIO3_4 BARIS 5 PIO3_4 BARIS 6 PIO3_4 BARIS 7 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. 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. ICmax 1,5A Ib= = = 0,006A (3.3) hfe 250 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. Vb 3,3V Rb = 550 Ib = 0,006A = Ω (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 0-7 0-6 3-5 2-5 2-4 3-4 mikro 1 2 3 4 5 Header 5 0-6 3-5 2-5 0-7 11 12 10 13 U74595(1) VDD SFTCLK QA LCHCLK QB QC RST QD OE QE QF QG QH 16 15 1 2 3 4 5 6 7 dot1 1 2 3 4 5 6 7 8 0-6 3-5 2-5 0-7 11 12 10 13 U74595( 2) VDD SFTCLK QA LCHCLK QB QC RST QD OE QE QF QG QH 16 15 1 2 3 4 5 6 7 dot2 1 2 3 4 5 6 7 8 2-4 14 8 SDI GND SDO 9 Header 8 14 8 SDI GND SDO 9 Header 8 MC74HC595AN 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.
Gambar 3.10. Diagram Alir Alat 43
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.