24
PERANCANGAN SISTEM
Bab ini berisi pembahasan mengenai perancangan terhadap sistem yang dibuat. Dalam merancang sebuah sistem, dilakukan beberapa perancangan mengenai sistem yang akan dirancang terlebih dahulu. Perancangan sistem terbagi atas perancangan perangkat keras dan perancangan perangkat lunak. Perancangan perangkat keras membahas tentang perancangan elektronik yang terdiri atas modul
master dan modul slave. Pada modul master terdapat speaker dan AVR AT Mega
162 yang terhubung dengan handphone, sedangkan pada modul slave terdiri atas
AVR AT mega 8, sensor asap, sensor gas, dan sensor suhu. Perancangan yang dilakukan selanjutnya adalah perancangan perangkat lunak yang membahas mengenai program yang akan digunakan , yaitu bahasa pemrograman C pada AVR dan AT Command berfungsi sebagai bahasa komunikasi yang memungkinkan mengakses modem yaitu mobile phone Sony Ericsson T68i .
3.1. PERANCANGAN PERANGKAT KERAS
Perancangan sistem perangkat keras ini terdapat 2 (dua) modul, yaitu : Modul Master, dan Modul Slave. Didalam Modul Master terdapat AVR AT MEGA
162, MAX 232, MAX 485, Relay, Speaker, Handphone (handset seluler). Untuk
Modul Slave terdapat AT MEGA 8, MAX 485, sensor suhu ( LM 35 ), sensor gas (
3.1.1.BLOK DIAGRAM SISTEM
AVR AT Mega 8 Sensor Suhu
Sensor Gas
MAX 485 AVR AT Mega 162
Speaker HAndphone Sensor Asap MODUL MASTER AVR AT Meg a 8 Sensor Suhu Sensor Asap MODUL SLAVE 2 AV R A T M e g a 8 Sensor Suhu Se ns or As a p MODUL SLAVE 2
Gambar 3.1 Blok Diagram Sistem
Sistem ini dirancang dalam keadaan selalu menyala atau stanby agar dapat
menerima input dari modul slave, yang didalamnya terdapat sensor asap, sensor gas
slave jika sensor suhu aktif, maka speaker akan aktif dan handset seluler dalam
rumah akan mengirim SMS (Short Message Service) kepada handset pemilik rumah
dan pemadam kebakaran, sedangkan jika sensor gas yang aktif, maka hanya spekaer yang aktif dan jika sensor asap yang aktif, maka hanya speaker saja yang aktif. Jika sensor gas dan sensor suhu yang aktif, maka speaker akan aktif dan handset seluler dalam rumah akan mengirim SMS (Short Message Service) kepada handset pemilik
rumah dan pemadam kebakaran, jika sensor asap dan sensor gas yang aktif, maka hanya speaker saja yang aktif, jika sensor suhu dan sensor gas yang aktif, maka speaker akan aktif dan handset seluler dalam rumah akan mengirim SMS (Short Message Service) kepada handset pemilik rumah dan pemadam kebakaran, dan jika
semua sensor aktif, maka speaker akan aktif dan handset seluler dalam rumah akan mengirim SMS (Short Message Service) kepada handset pemilik rumah dan
pemadam kebakaran. Untuk lebih jelasnya dibawah ini terdapat tabel logika sistem secara keseluruhan. Implementasi dari tabel ini dapat dilihat di Bab 4.3.2.
Tabel 3.1 Tabel Logika Sistem
Input Input Input Output Output
Sensor Asap Sensor Gas Sensor Suhu Speaker Handphone (SMS) 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 1 0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1
3.1.2. MODUL SISTEM DAN CARA KERJA SISTEM
Gambar 3.2 Skematik Modul Master
Pada modul master tedapat AVR AT Mega 162 yang berfungsi sebagai kontroler yang mendapat tegangan dari Regulator ( 7805 ) sebesar 5V. AVR AT Mega 162 memliki dua buah koneksi serial ( Rx0 Tx0 dan Rx1 Tx1). Koneksi serial
yang pertama (Rx0 Tx 0) digunakan untuk komunikasi serial dengan MAX 232
yang terhubung dengan DB 9 yang digunakan untuk menghubungkan Handphone
dengan modul master, output yang dikirim berupa karakter – karakter AT
Handphone. Koneksi serial yang kedua (Rx1 Tx1) terhubung dengan MAX 485
yang berfungsi untuk komunikasi serial jarak jauh antara modul master dengan modul slave. Pada komunikasi USART ini menggunakan dua buah IC MAX 485 agar proses receive dan transmite tidak perlu mengubah pin enable untuk receive dan transmite.Relay berfungsi untuk mengaktifkan dan menonaktifkan speaker.
Keadaan relay sebelum diberi logic ’1’ oleh AVR adalah normally opened dengan
pengertian keadaan switch terputus. Transistor akan aktif jika diberi logika 1 kepada kaki base transistor NPN, yang menyebabkan arus megalir dari kaki collector ke emmiter sehingga menyebabkan relay aktif. Dioda berfungsi untuk menjaga arus balik dari relay.
Gambar 3.3 Skematik Modul Slave
Pada modul sensor dipergunakan AVR AT MEGA 8, Sensor Asap, Sensor Suhu (LM 35), Sensor Gas ( TGS 2610 ), MAX 485, dan Regulator ( 7805 ). Setiap
komponen dari rangkaian mendapat tegangan sebesar 5 Volt dari Regulator ( 7805 ). AVR AT MEGA 8 berfungsi sebagai kontroler dari modul sensor, yang mendapat status masukan (input) dari ketiga sensor, yaitu : Sensor Asap, Sensor Suhu (LM 35), dan Sensor Gas (TGS 2610). Dari ketiga sensor, hanya status masukan (input) sensor yang aktif saja yang diterima oleh AVR AT MEGA 8. Setelah mendapat status, AVR AT MEGA 8 akan mengirimkan data secara serial melalui MAX 485 kepada modul master.
3.2. PERANCANGAN PERANGKAT LUNAK
Perancangan perangkat lunak dilakukan setelah perancangan perangkat keras telah selesai dikerjakan, pengerjaan program perangkat lunak dengan menggunakan Bahasa Pemrograman C dan AT Command untuk pemrograman pada handset seluler (handphone).
3.2.1.BAHASA C + Diagram Alir
Pemrograman pada AVR menggunakan Bahasa C yang merupakan high level language, guna membuat program aplikasi yang berorientasi terhadap objek. Bahasa C sebagai high level language, dapat mengakses secara langsung memori dan perangkat keras. Dengan memanfaatkan fitur dan kelebihan dari bahasa C, maka pembuatan program yang mengakses langsung ke perangkat keras menjadi lebih mudah.
Gambar 3.4 Diagram Alir Modul Master.
Modul Master bekerja berdasarkan diagram alur yang ada pada Gambar 3.4.
Proses kerja modul master bekerja dengan meminta status dari setiap sensor dari modul slave. Proses kerja setiap pengiriman dan penerimaan status data setiap 3
(tiga) modul slave mempunyai prinsip kerja yang sama. Pada modul slave 1, modul master akan meminta status data dari sensor suhu, setelah itu sensor suhu akan
mengirimkan status data ke modul master. Status data yang diterima akan disimpan
pada variabel yang sesuai dengan variabel yang telah dideklarasikan di modul
master. Selanjutnya, proses permintaan status data dari sensor asap dan sensor gas
Suhu,2,3=0 Asap,2,3=0 Gas=1 Suhu,2,3=0 Asap,2,3=1 Gas=0 Suhu,2,3=0 Asap,2,3=1 Gas=1 Suhu,2,3=1 Asap,2,3=0 Gas=0 D Sirine Sirine Sirine Sirine SMS Y T Y T Y T Y T C D Suhu,2,3=1 asap,2,3=0 gas=1 Suhu,2,3=1 asap,2,3=1 gas=0 Suhu,2,3=1 asap,2,3=1 gas=1 SMS Sirine Sirine Sirine SMS SMS Y T Y T Y T E
pada modul slave 1 sama dengan proses kerja permintaan status data pada sensor suhu. Pada modul slave 2 dan 3, proses kerjanya sama dengan modul slave 1, namun pada modul slave 2 dan 3 tidak terdapat sensor gas, sehingga tidak ada proses pengiriman dan penerimaan status data dari sensor gas pada modul slave
tersebut.
3.2.1.2 Diagram Alir Modul Slave
Struktur proses kerja modul slave dimulai dengan menunggu permintaan
dari modul master, yakni pemeriksaan dari ketiga modul slave yang diminta oleh
modul master. Urutan pemeriksaan modul slave dimulai dari modul slave 1 sampai
dengan modul slave 3. Untuk setiap pemeriksaan modul slave, akan dilakukan
pengambilan data dari tiap sensor. Pengambilan data pertama kali, diambil dari sensor suhu dengan batasan sebesar 50o C (Celcius). Selanjutnya, pengambilan data
dari sensor asap dan terakhir kali pengambilan data dari sensor gas dengan batasan sebesar 2700 ppm (part per million), berdasarkan resistor (RL) yang digunakan sebesar 220kΩ sesuai dengan tabel 2.4. Setelah pemeriksaan dari ketiga sensor pada modul slave, data tersebut akan dikirim ke modul master.
3.2.2.AT COMMAND
AT-Command berfungsi sebagai bahasa komunikasi yang memungkinkan
mengakses modem yaitu mobile phone Sony Ericsson T68i dan Motorola C650. AT-Command disisipkan didalam bahasa pemrograman baik pada
pengiriman maupun penerimaan SMS. Dikarenakan hardware seperti AVR tidak
dapat mengirim SMS tanpa AT-Command. Begitu juga sebaliknya Komputer tidak
dapat membaca SMS tanpa AT-Command. AT-Command yang sering digunakan:
Untuk mengirim SMS
AT+CMGS=<length> <pdu><.ctrl-z/ESC.>
<length>: Integer; Panjang maksimal karakter yang dapat diinput. <pdu>: Konversi dari bilangan octet ke bilangan long heksadesimal.
<ackpdu>: Parameter untuk tanda kutip. +CMGS:OK
Untuk membaca SMS AT+CMGR=<index>
<index>: Integer; merupakan urutan dari posisi sms yang akan dibaca. +CMGR: <stat>,[<alpha>],<length><pdu>
OK
Untuk hapus SMS AT+CMGD=<index>
<index>: Integer; merupakan urutan dari posisi sms yang akan dihapus +CMGD: OK
Untuk membaca format SMS AT+CMGF=<index>
<index>: Integer;
0 Dalam bentuk pdu <default> 1 Dalam bentuk string.
+CMGF: <stat>,[<alpha>],<length><pdu>
Ponsel Sony Ericsson T68i tidak mendukung command AT+CMGF=1.
Tabel 3.2 Nomor-nomor Service Center SMS tiap operator No Operator Seluler SMS Centre Kode PDU
1 Telkomsel 0811000000 06818011000000
2 Satelindo 0816124 0581806121F4
3 Excelcom 0818445009 06818081440590
4 Indosat-IM3 0855000000 06818055000000
Dalam perancangan, dipakai sebuah program yang dapat mengkonversi string ke dalam bentuk pdu, untuk mempermudah dalam perancangan.
Gambar 3.6 Tampilan Program Konversi
Pada textbox SMSC dimasukkan nomor service center dari nomor yang akan
dituju. Tabel nomor service center dapat dilihat pada Tabel 3.3. Pada textbox Receiver dimasukkan nomor yang akan dikirim/dituju. Pada textbox yang berada
diatas tombol Convert merupakan string yang akan dikirim. Tombol konversi
berfungsi untuk melakukan konversi dari string ke pdu. Pada text box di sebelah
kanan ditampilkan PDU yang siap untuk digunakan untuk mengirim SMS. Dengan panjang PDU adalah sepanjang 49 karakter. Contoh Program pengiriman SMS :
kirim_sms() { unsigned char i; unsigned char buffer1[]="0691261801000011000D91261883553500F70000AA0FF27A3 B8C06ADCBE2F03A2C0FBB01$"; delay_ms(100); putchar('A');delay_ms(100); putchar('T');delay_ms(100); putchar('+');delay_ms(100); putchar('C');delay_ms(100); putchar('M');delay_ms(100); putchar('G');delay_ms(100); putchar('S');delay_ms(100); putchar('=');delay_ms(100); putchar('2');delay_ms(100);
putchar('3');delay_ms(100); enter;delay_ms(750); i=0; while(buffer1[i]!='$') { putchar(buffer1[i]); delay_ms(100); i++; } delay_ms(100); putchar(26);enter; }