BAB III PERANCANGAN SISTEM 3.1. Perancangan Sistem Perancangan merupakan tahap yang terpenting dari keseluruhan proses pembuatan suatu alat. Dalam proses telemetri data suhu dan kelembaban sebagai pendeteksi peringatan dini bencana alam, sama dengan prinsip kerja komunikasi data pada umumnya. Sinyal yang dihasilkan dari sumber ingin dikirimkan ke tujuan memlalui media komunikasi. Gambar berikut merupakan diagram blok sistem Perancangan Sistem Telemetri Suhu dan Kelembaban Sebagai Pendeteksi Peringatan Dini Bencana Alam :
Gambar 3.1. Diagram Blok Sistem Pada diagram blok perancangan sistem diatas dapat dijelaskan yaitu Sensor SHT 11 suatu alat yang berfungsi membaca data suhu dan kelembaban. Data dari SHT 11 masuk ke mikrokontroler ATMEGA8535, lalu data dikirim secara wireless oleh pengirim (transmitter) melalui Modem Tx1 YS 1020UB. Lalu data yang telah dikirim akan diterima oleh penerima (receiver) secara wireless melalui Modem Radio Rx1 YS 1020UB. Data yang telah diterima oleh penerima lalu masuk ke RS-232 sebagai interface agar data suhu dan kelembban dari ATMEGA8535 bisa ditampilkan ke PC. Data yang sudah ditampilkan di PC
25
akan dikirim kembali melaui RS-232 dan pengirim yaitu Modem Radio Tx2 YS 1020UB. Setelah data dikirim oleh pengirim, data akan diterima oleh penerima yaitu Modem Radio Rx2 YS 1020UB. Data yang sudah diterima oleh penerima akan masuk ke mikrokontroler ATMEGA8535 untuk mengaktifkan indikator berupa Lampu dan Buzzer.
! "
#
$
Gambar 3.2. Rancangan Sistem Secara Keseluruhan Pada gambar 3.2. menggambarkan rancangan sistem secara keseluruhan yang prinsip kerjanya pada diagram blok adalah sebagai berikut : 1.
Sensor SHT11 berfungsi sebagai pengukur suhu dan kelembaban.
2.
Tx 1, Rx 1, Tx 2, Rx 2 merupakan media transmisi berfungsi sebagai pegirim dan penerima data.
3.
POS merupakan suatu tempat dimana terdapat RS-232 dan PC berfungsi dimana operator memonitoring data yang dikirim.
4.
Mikrokontroler ATMEGA8535 berfungsi sebagai memproses data yang masuk dari SHT 11 dan PC. Serta sebagai display indikator ke warga disekitar objek yang dimonitoring.
26
3.2. Parancangan Perangkat Keras 3.2.1. Blok Mikrokontroler ATMEGA8535 ATMEGA Blok Mikrokontroler ATMEGA ATMEGA8535 8535 berfungsi sebagai alat untuk memproses masukan yang berasal dari Sensor SHT11. SHT11. Selain sebagai alat proses, mikrokontroler tersebut juga mengkontrol blok display yang digunakan sebagai keluaran informasi dari perubahan suhu dan kelembaban yang ada pada suatu ruang ruangan atau tempat tempat.. Berikut Berikut ini rangkaian dari blok si sistem m minimum mikrokontroler ATMEGA8535. mikrokontroler ATMEGA
Gambar 3.3. Rangkaian Sistem Minimum Mikrokontroler ATMEGA ATMEGA8535 3.2.2. Blok Sensor SHT11 SHT11 adalah single chip sensor suhu dan kelembaban relatif yang mempunyai banyak sensor module yang terdiri sebuah pengkalibrasi output digital. Pada pengukuran suhu data yang dihasilkan 14 bit sedangkan untuk kelembaban data yang dihasilkan 12 bit. Keluaran dari SHT11 adalah di digital sehingga untuk mengaksesnya diperlukan pemrograman dan tidak diperlukan pengkondisi sinyal atau ADC.
27
Cara penggunaan SHT11 adalah pin data dan pin clock merupkan output dari sensor yang akan menjadi inputan untuk mikrokontroler. Untuk pin Vcc diberi tegangan DC 5 volt dan DGND diberi ground. ground
Gambar 3.4. 3. . Rangkaian Sensor SHT11 3.2.3. Blok Modem Radio Frekuensi YS 1020UB Modem Radio Frekuensi YS 1020UB 20UB adalah suatu alat yang dapat digunakan sebagai pengirim (transmitter (transmitter)) dan penerima ((receiver receiver)) data yang akan dikirim dan diterima oleh dan dari mikrokontroler secara wireless,, dengan jarak kirim dan terima data antara 0 sampai 800m 800m.. Dan berfungsi juga sebagi rangkaian modulator dan demodulator. demodulator Cara penggunaan Modem Rado Frekuensi YS 1020UB ini adalah pada pin pertama yaitu GND diberi ground ground.. Pin kedua yaitu Vcc diberi tegangan +DC 5 volt. Sedangkn pin keempat dan kelima adalah pin Rx dan Tx yang akan di hubungkan ke po port rt D0 dan D1 pada mikrokontroler.
Gambar 3.5 3. . Modem Radio Frekuensi YS 1020UB
28
2.3.1. Blok TTL Converter IC MAX232 Konektor DB-9 pada komputer akan mengeluarkan data dalam level tegangan RS-232, agar PC pengirim dan PC penerima bisa berkomunikasi dibutuhkan suatu interface untuk menyesuaikan masing-masing level tersebut. Rangkaian tersebut direalisasikan dengan sebuah IC MAX232. Kegunaan IC MAX232 atau lebih dikenal dengan RS-232 adalah sebagai driver, yang akan mengkonversi tegangan atau kondisi logika TTL dari hardware agar sesuai dengan tegangan pada komputer ataupun sebaliknya sehingga data dapat dibaca. Setiap keluaran pengirim dan masuk penerima dijaga untuk menghindari adanya gangguan elektrostatik. IC yang dipakai pada sistem ini memiliki 16 pin Agar dapat dihubungkan dengan port serial PC dan pada terminal TTL, maka IC ini memerlukan komponen tambahan berupa kapasitor eksternal yang dipasangkan pada pin-pin tertentu. Kapasitor ini merupakan rangkaian baku yang berfungsi sebagai charge pump untuk menyuplai muatan ke bagian pengubah tegangan, dimana kapasitor eksternal yang dipakai dengan nilai 1uF. Ini dioperasikan dengan catu daya 5 Volt.
Gambar 3.6. Rangkaian IC MAX232 3.2.5. Blok Pengkondisi Relay Pengkondisian hidup matinya relay ditentukan dengan masuknya data serial yang dikirim oleh PC. Bila nilai data serial yang diterima adalah “1”, maka relay 1 akan aktif dan relay 2 dan 3 tidak aktif. Bila data serial yang diterima adalah “2”, maka relay 2 akan aktif dan relay 1 dan 3 tidak aktif. Bila data serial yang diterima adalah “3”, maka relay 3 akan aktif dan relay 1 dan 2 tidak aktif.
29
Kerja relay indikator adalah untuk menyalakan dan mematikan lampu AC kecil dengan menggunakan sebuah saklar elektronik berupa relay. Rangkaian driver relay digunakan sebagai element kendali akhir. Relay yang digunakan bekerja pada tegangan 5 Volt. Transistor BD139 digunakan sebagai switch elektronik yang dikendalikan oleh sinyal kendali dari I/O 8 bit.
Gambar 3.7. Rangkaian Pengkondisi Relay 3.3. Perancangan Perangkat Lunak Pembuatan program dan flowchart merupakan tahap yang penting dalam perancangan software. Berikut ini merupakan penjelasan tentang software yang digunakan dalam perancangan sistem. 3.3.1. BASCOM-AVR BASCOM-AVR adalah program basic compiler berbasis windows untuk mikrokontroler keluarga AVR, merupakan pemrograman dengan bahasa tingkat tinggi ”BASIC” yang dikembangkan dan dikeluarkan oleh MCS elektronika sehingga dapat dengan mudah dimengerti atau diterjemahkan. Dalam program BASCOM-AVR terdapat beberapa kemudahan, untuk membuat program software ATMEGA 8535, seperti program simulasi yang
30
sangat berguna untuk melihat simulasi hasil program yang telah dibuat sebelum program tersebut diunduh ke dalam IC atau ke dalam mikrokontroler. Ketika program BASCOM-AVR dijalankan dengan mengklik icon BASCOM-AVR, maka jendela berikut akan tampil :
Gambar 3.8. Tampilan Jendela Program BASCOM-AVR BASCOM-AVR menyediakan pilihan yang dapat mensimulasikan program. Program simulasi ini bertujuan untuk menguji suatu aplikasi yang dibuat dengan pergerakan LED yang ada pada layar simulasi dan dapat juga langsung dilihat pada LCD, jika kita membuat aplikasi yang berhubungan dengan LCD.
31
Gambar 3.9. Tampilan Simulasi BASCOM-AVR Instruksi yang dapat digunakan pada editor BASCOM-AVR relatif cukup banyak dan tergantung dari tipe dan jenis AVR yang digunakan. Berikut ini beberapa instruksi-instruksi dasar yang dapat digunakan pada mikrokontroler ATMEGA 8535. Tabel 3.1. Instruksi Dasar BASCOM-AVR Instuksi
Keterangan
DO ..... LOOP
Perulangan
GOSUB
Memanggil Prosedur
IF ...... THEN
Percabangan
FOR ..... NEXT
Perulangan
WAIT
Waktu Tunda Detik
WAITMS
Waktu Tunda MiliDetik
WAITUS
Waktu Tunda MicroDetik
GOTO
Loncat Kealamat Memori
SELECT ...... CASE
Percabangan
32
3.3.2. Visual Basic 6.0 Visual Basic adalah salah satu developement tools untuk membangun aplikasi dalam Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodenya menggunakan bahasa basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer. Dalam lingkungan Windows, user interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dieksekusi. Pada pemrograman visual, pengembangan aplikasi dimulai dengan pembentukan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian-kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up. Adapun langkah-langkah untuk membuka pemrograman VB (Visual Basic) : 1. IDE Visual Basic Langkah awal dari belajar Visual Basic adalah mengenal IDE (Integrated Developement Environment) Visual Basic yang merupakan Lingkungan Pengembangan
Terpadu
bagi
programmer
dalam
mengembangkan
aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan pengkodean, melakukan testing dan debuging serta mengkompilasi program menjadi executable. Penguasaan yang baik akan IDE sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien. 2. Mengaktifkan IDE Salah
satu
cara
untuk
mengaktifkan
IDE
Visual
Basic
adalah
menjalankannya dari Menu Start, pilih menu Command, dan pilih Microsoft Visual Basic 6.0.
33
Gambar 3.10. Mengaktifkan IDE Visual Basic 6.0 3.
Memilih Jenis Project Setelah IDE Visual Basic aktif , maka akan muncul pilihan jenis project yang ingin dibuat sebagaimana yang ditunjukan oleh Gambar 3.11 untuk memilih project yang dipakai.
Gambar 3.11. Dialog Box New 4. Jendela IDE IDE Visual Basic 6 menggunakan model MDI (Multiple Document Interface). Sebagaimana dengan proses belajar, memfokuskan pada beberapa jendela yang penting terlebih dahulu sehingga konsentrasi tidak terpecah, dan menjadi bingung. Adapun jendela-jendela yang perlu diperhatikan adalah sebagai berikut : a) Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dan lain-lain. b) Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. c) Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi. Pada ikon toggle folders dapat menampilkan modul-modul dalam jendela tersebut secara group atau berurut 34
berdasarkan
nama.
Untuk
menampilkan
jendela
project
dapat
menggunakan Ctrl+R, ataupun menggunakan ikon project explorer. d) Jendela Form Designer, jendela ini merupakan tempat anda untuk merancang user interface dari aplikasi yang dibuat. Jendela form designer menyerupai kanvas bagi seorang pelukis. e) Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat digunakan untuk mengembangkan user interface. f) Jendela Code, merupakan tempat untuk menulis pengkodean dan dapat menampilkannya dengan menggunakan kombinasi Shift-F7. g) Jendela Properties, merupakan daftar properti-properti object yang sedang
terpilih.
Sebagai
contohnya
mengubah
warna
tulisan
(foreground) dan warna latarbelakang (background). h) Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object. i) Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime. Jika jendela-jendela tersebut tidak ada, dapat dimunculkan dengan menu view dan pilih : a) Project Explorer (Ctrl+R) b) Properties Windows (F4) c) Form Layout Windows d) Property Pages (Shift+F4) e) Toolbox f) Color Pallete g) Toolbars Berikut adalah gambar tampilan monotoring menggunakan Visual Basic flowchart rangkaian, dan flowchart program :
35
Gambar 3.12. Tampilan Monitoring Suhu dan Kelembaban 3.4. Flowchart Rangkaian 3.4.1. Flowchart Rangkaian Pengirim
Gambar 3.13. Flowchart Rangkaian Pengirim Keterangan flowchart : Tabel 3.2. Keterangan Flowchart Rangkaian Pengirim No 1 2 3
Keterangan Awal program Sensor SHT11 membaca suhu dan Kelembaban Kirim data suhu dan kelembaban
36
3.4.2. Flowchart Rangkaian Pengirim dan Penerima
#
*
$
) *
% $
& %
'
# &
#
!"" !"" ( !""
Gambar 3.14. Flowchart Rangkaian Pengirim dan Penerima Keterangan flowchart : Tabel 3.3. Keterangan Flowchart Rangkaian Pengirim dan Penerima No 1 2 3 4 5 6 7 8
Keterangan Awal program Terima data suhu dan kelembaban Mengisi nilai setpoint Menampilkan nilai suhu dan kelembaban di PC Cek, apakah keadaan berstatus normal ? Jika ya, kirim data status normal lalu ke mulai 2 Jika tidak, cek apakah keadaan berstatus waspada Cek, apakah keadaan berstatus waspada ? Jika ya, kirim data status waspada lalu ke mulai 2 Jika tidak, cek apakah keadaan berstatus bahaya Cek, apakah keadaan berstatus bahaya ? Jika ya, kirim data status bahaya lalu ke mulai 2 Jika tidak, cek apakah tidak ada pengiriman data Cek, apakah tidak ada pengiriman data ? 37
9 10 11 12 13 14 15 16 17
Jika ya, kirim data status F lalu ke mulai 2 Jika tidak, ke Indikator 1,2, dan 3 = Off Indikator 1,2, dan 3 mati Kirim data status normal Kirim data status waspada Kirim data status bahaya Kirim data status F Kembali ke mulai 2 Kembali ke mulai 2 Kembali ke mulai 2 Kembali ke mulai 2
3.4.3. Flowchart Rangkaian Penerima
Gambar 3.15. Flowchart Rangkaian Penerima Keterangan flowchart : Tabel 3.4. Keterangan Flowchart Rangkaian Penerima No 1 2 3 4
Keterangan Awal program Terima data status normal, waspada, bahaya, dan F Cek, apakah data berstatus normal ? Jika ya, lampu 1 = hijau, beep mati, lalu ke mulai Jika tidak, cek apakah data berstatus waspada Cek, apakah data berstatus waspada ?
38
5 6 7 8 9 10 11 12 13 14 15
Jika ya, lampu 2 = kuning ,beep panjang, lalu ke mulai Jika tidak, cek apakah data berstatus bahaya Cek, apakah data berstatus bahaya ? Jika ya, lampu 3 = merah dan beep putus-putus lalu ke mulai Jika tidak, cek apakah data berstatus F Cek, apakah tidak ada pengiriman data ? Jika ya, lampu 1 = hijau dan lampu 3 = merah lalu ke mulai Jika tidak, lampu 1,2, dan 3 = Off Lampu 1,2, dan 3 mati Lampu hijau menyala, buzzer mati Lampu kuning menyala, buzzer berbunyi beep panjang Lampu merah menyala, buzzer berbunyi beep putus-putus Lampu hijau dan lampu merah menyala Kembali ke label mulai Kembali ke label mulai Kembali ke label mulai Kembali ke label mulai
3.5. Flowchart Program 3.5.1. Flowchart Program Pengirim
Gambar 3.16. Flowchart Program Pengirim
39
Keterangan flowchart : Tabel 3.5. Keterangan Flowchart Program Pengirim No 1 2 3 4 5 6 7 8 9 10 11
Keteranagan Awal program Pendeklarasian variabel Deklarasi sub getit Reset serial SHT 11 Ambil data suhu Ke label Getit Masuk ke rumus perhitungan data suhu Ambil data kelembaban Ke label Getit Masuk ke rumus perhitungan data kelembaban Debug dan kirim data suhu dan kelembaban
3.5.2. Flowchart Program Getit
Gambar 3.17. Flowchart Program Getit
40
Keterangan flowchart : Tabel 3.6. Keterangan Flowchart Program Getit No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Keterangan Label Getit Inisialisasi data lokal Baca dan kirim data suhu dan kelembaban Pergeseran data suhu dan kelembaban Input data suhu dan kelembaban Tunggu selama 10 µs Mengambil data MSB suhu dan kelembaban Output data suhu dan kelembaban Kirim sinyal suhu dan kelembaban Ke label A Label A Input data suhu dan kelembaban Mengambil data LSB suhu dan kelembaban Output data suhu dan kelembaban Kirim sinyal suhu dan kelembaban Input data suhu dan kelembaban Pergeseran data suhu dan kelembaban Output data suhu dan kelembaban Kirim sinyal suhu dan kelembaban Kembali ke label mulai
41
3.5.3. Flowchart Program Penerima
Gambar 3.18. Flowchart Program Penerima Keterangan flowchart : Tabel 3.7. Keterangan Flowchart Program Penerima No 1 2 3 4
5
6
Keterangan Awal program Portc bernilai 0 Input data serial dari VB Cek, apakah data R bernilai karakter “!” ? Jika ya, lampu 2 dan 3 = off, lampu 1 = on, kembali ke input data serial dari VB Jika tidak, cek apakah data R bernilai karakter ”#” Cek, apakah data R bernilai karakter “#” ? Jika ya, lampu 1 dan 3 = off, lampu 2 = on, buzzer beep panjang, kembali ke input data serial dari VB Jika tidak, cek apakah data R bernilai karakter “$” Cek, apakah data R bernilai karakter “$” ? 42
7
8
9 10 11 12 13 14
Jika ya, lampu 1 dan 2 = off, lampu 3 = on, buzzer beep putusputus, kembali ke input data serial dari VB Jika tidak,cek apakah data R benilai karakter “%” Cek, apakah data R bernilai karakter “%” ? Jika ya, lampu 1 dan 3 = on, lampu 2 = off, kembali ke input data serial dari VB Jika tidak, cek apakah data R bernilai karakter “&” Cek, apakah data R benilai karakter “&” ? Jika ya, lampu 1,2, dan 3 = off, buzzer off, kembali ke input data serial dari VB Jika tidak, lompat ke B Lompat ke B Lampu 1 menyala, lampu 2 dan 3 mati Lampu 2 menyala, lampu 1 dan 3 mati, buzzer berbunyi beep panjang Lampu 3 menyala, lampu 1 dan 2 mati, buzzer berbunyi beep putus-putus Lampu 2 mati, lampu 1 dan 3 menyala Lampu 1,2, dan 3 mati, buzzer mati
43
3.5.4. Flowchart Program Tampilan Pada Visual Basic
Gambar 3.19. Flowchart Program Tampilan Visual Basic
44
Keterangan flowchart : Tabel 3.8. Keterangan Flowchart Program Tampilan Visual Basic No 1 2 3 4 5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Keterangan Awal program Memasukan nilai set point Data dari mikro masuk ke VB Pergerakan tampilan seven segmen, termometer, dan grafik Cek, apakah nilai suhu lebih besar sama dengan batas bawah dan lebih kecil sama dengan bata atas status normal? Jika ya, lampu 2 dan 3 off, lampu 1 on, kirim data “B”, ke C Jika tidak, cek apakah nilai suhu lebih besar sama dengan batas bawah dan lebih kecil sama dengan bata atas status waspada Cek, apakah nilai suhu lebih besar sama dengan batas bawah dan lebih kecil sama dengan bata atas status waspada? Jika ya, lampu 1 dan 3 off, lampu 2 on, kirim data “D”, ke C Jika tidak, cek apakah nilai suhu lebih besar sama dengan batas bawah dan lebih kecil sama dengan bata atas status bahaya Cek, apakah nilai suhu lebih besar sama dengan batas bawah dan lebih kecil sama dengan bata atas status bahaya? Jika ya, lampu 1 dan 2 off, lampu 3 on, kirim data “E”, ke C Jika tidak, cek apakah tidak ada pengiriman data Cek, apakah tidak ada pengiriman data dari mokro? Jika ya, lampu 1 dan 3 on, kirim data “F”, ke C Jika tidak, cek apakah nilai suhu kurang dari batas bawah normal? Cek, apakah nilai suhu kurang dari batas bawah status normal? Jika ya, lampu 1,2, dan 3 off, kirim data “G”, ke C Jika tidak, ke C Lompat ke label C Lampu 1 menyala, lampu 2 dan 3 mati Lampu 2 menyala, lampu 1 dan 3 mati Lampu 3 menyala, lampu 1 dan 2 mati Lampu 2 mati, lampu 1 dan 3 menyala Lampu 1,2, dan 3 mati Kirim data nilai karakter “B” Kirim data nilai karakter “D” Kirim data nilai karakter “E” Kirim data nilai karakter “F” Kirim data nilai karakter “G” Lompat ke label C Lompat ke label C Lompat ke label C Lompat ke label C Lompat ke label C
45
46