BAB 3 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 ( TGS 2610 ), sensor asap.
24
25 3.1.1.BLOK DIAGRAM SISTEM MODUL SLAVE 2 Sensor Asap
Sensor Suhu
AVR AT Mega 8
MODUL MASTER
Sensor Asap
Sensor Suhu
Speaker
AVR AT Mega 8
AVR AT Mega 162
MAX 485
Sensor Gas HAndphone
MODUL SLAVE 2
Sensor Suhu
AVR AT Mega 8
Sensor Asap
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 dan sensor suhu. Modul master akan selalu meminta inputan status kepada modul
26 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
27 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 Command dan PDU yang telah ditetapkan sehingga dapat mengirim SMS melalui
28 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
29 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.
30 3.2.1.1 Diagram Alir Modul Master
31
C
D
Suhu,2,3=0 Asap,2,3=0 Gas=1
Y
Suhu,2,3=1 asap,2,3=0 gas=1
Sirine
T
Y
Sirine
SMS
T Y
Suhu,2,3=0 Asap,2,3=1 Gas=0
Y
Suhu,2,3=1 asap,2,3=1 gas=0
Sirine
T
Suhu,2,3=0 Asap,2,3=1 Gas=1
SMS
Sirine
SMS
T
Suhu,2,3=1 asap,2,3=1 gas=1
Y
Sirine
T
Suhu,2,3=1 Asap,2,3=0 Gas=0
Sirine
Y
T Y
Sirine
SMS
E
T
D
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
32 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
Gambar 3.5 Diagram Alir Modul Slave.
33 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=
<.ctrl-z/ESC.> : Integer; Panjang maksimal karakter yang dapat diinput. : Konversi dari bilangan octet ke bilangan long heksadesimal. <mr>: Integer; Pesan yang ingin ditulis.
34 : Parameter untuk tanda kutip. +CMGS:OK Untuk membaca SMS AT+CMGR= : Integer; merupakan urutan dari posisi sms yang akan dibaca. +CMGR: <stat>,[], OK
Untuk hapus SMS AT+CMGD= : Integer; merupakan urutan dari posisi sms yang akan dihapus +CMGD: OK
Untuk membaca format SMS AT+CMGF= : Integer; 0
Dalam bentuk pdu <default>
1
Dalam bentuk string.
+CMGF: <stat>,[], 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
35 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 Tampilan Konversi
3.6 Program
36 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);
37 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; }