MENGGUNAKAN MIKROKONTROLER ATMEGA32
DAN SMS GATEWAY
SKRIPSI
Disusun oleh :
DIQY SEVTIYAN
NPM. 0934010161
JURUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
"
VETERAN
"
JAWA TIMUR
SURABAYA
i
Judul : Alat Pengukur dan Pengirim Kualitas Udara Dari Gas Karbonmonoksida (CO) Menggunakan Mikrokontroler ATmega32 dan SMS Gateway
Nama : Diqy Sevtiyan
Pembimbing 1 : Basuki Rahmat, S.Si. MT. Pembimbing 2 : Eva Yulia P, S.Kom
ABSTRAK
Pada umumnya alat pengukuran kualitas udara yang diletakkan pada daerah tertentu yang dianggap sebagai tolak ukur (standar) pencemaran udara tidak dilengkapi dengan alat untuk transmisi data, sehingga hasilnya hanya dapat diketahui dimana alat itu ditempatkan. Hal ini sangat tidak efektif sebab informasi tidak dapat diketahui dimana dan kapan saja. Untuk mengatasi masalah tersebut perlu dibuat alat pengukur kulitas udara yang mampu menghitung dan menentukan kualitas udara secara otomatis, kemudian hasilnya dikirimkan via sms sehingga akses informasi kualitas udara dapat dilakukan dimana saja dan kapan saja tanpa tergantung pada jarak dan waktu.
Untuk itu dibuatlah suatu alat pengukur kualitas udara yang bisa otomoatis mengirim informasi kualitas udara. Pada alat tersebut menggunakan mikrokontroller ATmega32 dan sensor MQ-7 dimana output dari sensor tersebut akan masuk ke mikrokontroller ATmega32 kemudian diproses dengan bahasa C dan hasilnya akan ditampilkan pada LCD dan juga dikirimkan ke pengguna melalui sms menggunakan modem wavecom.
Dengan demikian informasi tentang kualitas udara tidak hanya dapat diketahui pada tempat dimana alat tersebut berada, melainkan dapat diakses dimana saja dan kapan saja dengan mudah
ii
KATA PENGANTAR
Alhamdulilah, segala puji dan syukur kepada ALLAH SWT atas berkat dan rahmat hidayatnya sehingga diberikan kemudahan dalam menyelesaikan Tugas Akhir yang berjudul “Alat Pengukur dan Pengirim Kualitas Udara Dari Gas Karbonmonoksida (CO) Menggunakan Mikrokontroler ATmega32 dan SMS
Gateway”, untuk memenuhi salah satu syarat Ujian Akhir Sarjana di Fakultas
Teknologi Industri Universitas Pembangunan Nasional “Veteran” Jawa Timur pada Jurusan Teknik Informatika.
Dengan terselesaikannya Tugas Akhir ini tidak lepas peran serta berbagai pihak yang telah memberikan banyak bantuan sehingga penulis dapat menyelesaikan penulisan dengan sebaik-baiknya dengan segala kerendahan hati penulis menyadari bahwa dalam penulisan Tugas Akhir ini masih banyak kekurangan, tetapi penulis berusaha memperbaiki sehingga dapat berguna bagi penulis maupun orang lain yang membutuhkannya.
Dalam menyelesaikan Tugas Akhir ini, penulis banyak sekali dibantu oleh berbagai pihak. Maka, penulis ingin sekali menyampaikan rasa banyak terima kasih kepada :
1. Allah SWT, karena berkat Rahmat dan berkah-Nya penulis dapat menyusun dan menyelesaikan Laporan Tugas Akhir ini hingga selesai. 2. Keluarga tercinta, terutama Ayah dan Ibu tercinta terima kasih atas
doa restunya, sehingga saya bisa membuat sesuatu yang lebih baik dari laporan ini.
3. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas Pembangunan Nasional “Veteran” Jawa Timur.
4. Ir. Sutiyono, MT selaku Dekan Fakultas Teknik Industri UPN “Veteran” Jawa Timur.
5. Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Program Studi Teknik Informatika UPN “Veteran” Jawa Timur.
6. Bapak Basuki Rahmat, S.Si. MT. dan Ibu Eva Yulia P, S.Kom yang telah meluangkan waktunya sebagai dosen pembimbing dan atas sarannya sehingga penulis bisa menyelesaikan laporan ini.
7. Selmi terima kasih atas waktu dan pengertiannya yang telah diberikan , yang memacu semangat penulis.
8. Ryan , Anggi, Kawan-kawan TFC ’09 dan seluruh kawan-kawan seperjuangan yang telah membantu dalam penyelesaian Tugas Akhir ini. Yang telah memberikan dorongan dan doa.
9. Dan semua pihak yang tidak saya sebutkan satu persatu yang banyak turut membantu dalam penyusunan laporan tugas akhir ini.
Surabaya, 26 Maret 2013
iv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Perumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan ... 3
1.5 Manfaat ... 3
BAB IITINJAUAN PUSTAKA ... 4
2.1 Tinjauan Umum ... 4
2.1.1 ISPU (Indeks Standar Pencemaran Udara) ... 4
2.1.2 Karbonmonoksida dan Dampaknya Terhadap Kesehatan ... 6
2.2 Landasan Teori ... 7
2.2.1 Pengenalan Mikrokontroler ... 8
2.2.2 Mikrokontroler AVR ATmega 32 ... 10
2.2.2.1 Arsitektur mikrokontroler ATmega32 ... 11
2.2.2.2 Konfigurasi pin ATMega32 ... 12
2.2.2.3 Organisasi Memori ... 14
2.2.2.4 Register ... 16
2.2.3 Sensor Gas MQ-7 ... 17
2.2.4 LCD (Liquid Crystal Display) ... 20
2.2.4.1 Konfigurasi pin LCD 2 X 16 karakter ... 21
2.2.5 Komunikasi Serial ... 21
2.2.5.1 Komunikasi Serial RS232 ... 23
2.2.6 SMS Gateway... 27
2.2.7 CodeVision AVR ... 28
2.2.8 Bahasa Pemrograman C ... 31
2.2.9 EAGLE Layout Editor ... 32
BAB IIIMETODE PENELITIAN ... 34
3.1.1 Analisis Sistem ... 34
3.1.2 Diagram Blok Penelitian ... 35
3.1.3 Perancangan Sistem ... 36
3.2 Rancangan Uji Coba Dan Evaluasi ... 38
3.2.1 Perancangan Perangkat Keras ... 39
3.2.2 Perancangan Perangkat Lunak ... 40
BAB IVHASIL DAN PEMBAHASAN... 42
4.1 Impelementasi ... 42
4.1.1. Implementasi Perangkat Keras ... 42
4.1.1.1 Rangkaian Mikrokontroler ATmega32 ... 43
4.1.1.2 Implementasi LCD ... 44
4.1.1.3 Implementasi Sensor MQ-7 ... 44
4.1.1.4 Implementasi Cattu Daya ... 45
4.1.1.5 Implementasi Modem Wavecom ... 46
4.1.1.6 Implementasi Miniatur Box Simulasi ... 47
4.1.2 Implementasi Perangkat Lunak ... 48
4.2 Uji Coba dan Analisa ... 60
4.2.1 Pengujian Alat ... 60
4.2.1.1 Pengujian USB ISP dan SinProg... 60
4.2.1.2 Pengujian Mikrokontroler Atmega32 ... 64
4.2.1.3 Pengujian Modem Wavecom tipe M1306b ... 64
4.2.2 Uji coba Simulasi alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) berbasis mikrokontroler dan SMS gateway ... 68
4.2.2.1 Uji Coba Sensor MQ-7 ... 68
4.2.2.2 Uji Coba SMS Gateway ... 69
4.2.3 Analisa Alat Secara Keseluruhan ... 71
4.2.3.1 Analisa Pengujian Sensor ... 71
4.2.3.1 Analisa Pengujian SMS Gateway ... 72
BAB VPENUTUP ... 73
5.1 Kesimpulan ... 73
5.2 Saran ... 74
DAFTAR GAMBAR
Gambar 2.1 blok diagram AVR ATmega32 ... 11
Gambar 2.2 konfigurasi pin ATmega32 ... 12
Gambar 2.3 peta memori data AVR ATmega32 ... 14
Gambar 2.4 peta memori program AVR ATmega32 ... 15
Gambar 2.5 Status Register ATMega32 ... 16
Gambar 2.6 sensor gas MQ7 ... 17
Gambar 2.7 Skema Rangkaian Sensor Asap ... 19
Gambar 2.8 Karakteristik Sensitifitas ... 19
Gambar 2.9 LCD 2 X 16 karakter ... 20
Gambar 2.10 Komunikasi Sinkron ... 22
Gambar 2.11 Komunikasi Asinkron ... 23
Gambar 2.12 IC MAX 232 ... 24
Gambar 2.13 Kaki port serial jenis male ... 25
Gambar 2.14 SMS Gateway ... 27
Gambar 2.15 CodeVision AVR ... 29
Gambar 3.1 Blok Diagram ... 35
Gambar 3.2 Skema rangkaian alat ... 36
Gambar 3.3 Flowchart ... 41
Gambar 4.1 Rangkaian Atmega32 ... 43
Gambar 4.2 LCD 16x2 ... 44
Gambar 4.3 sensor MQ-7 ... 45
Gambar 4.4 sensor MQ-7 ... 45
Gambar 4.5 sensor MQ-7 ... 46
Gambar 4.6 miniatur box simulasi ... 47
Gambar 4.7 Koneksi USB ISP ... 61
Gambar 4.8 Proses Compil ... 60
Gambar 4.9 aplikasi SinProg ... 61
Gambar 4.10 Memasukaan fille .hex... 61
Gambar 4.11 Memilih flash program ... 62
Gambar 4.12 Proses flash program ... 62
Gambar 4.13 Mikrokontroler Atmega32 ... 63
Gambar 4.14 Mikrokontroler Atmega32 ... 64
Gambar 4.16 Aplikasi Hyperterminal ... 65
Gambar 4.17 Aplikasi Hyperterminal ... 65
Gambar 4.18 Aplikasi Hyperterminal ... 66
Gambar 4.19 Aplikasi Hyperterminal ... 66
Gambar 4.20 Tampilan LCD pada alat ... 67
Gambar 4.21 Papan display ISPU di jl.gubeng, Surabaya ... 68
Gambar 4.22 Tampilan kadar kualitas udara pada LCD ... 68
DAFTAR TABEL
Tabel 2.1. Perbedaan seri AVR berdasarkan jumlah memori ... 8
Tabel 2.2 Terminal I/O LCD ... 20
Tabel 2.3 Nama, fungsi dan arah DB-9 ... 24
Tabel 2.4 Fungsi masing-masing pin DB9 ... 25
Tabel 4.1 Pengujian Sensor Gas ... 70
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Seiring dengan perkembangan jaman tingkat mobilitas manusia juga semakin meningkat, sehingga tingkat aktivitas industri dan traffic transportasi pun juga bertambah, fenomena tersebut menyebabkan terjadinya penurunan kualitas udara.
Menurunya kualitas udara dikarenakan perubahan udara yang disebabkan pencemaran udara. Dari tahun ke tahun polusi udara menjadi masalah yang tidak mudah diatasi, salah satu penyebabnya dikarenakan kurangnya suatu alat yang dapat mengukur besar kecilnya kadar pencemaran udara yang memadai. Selama ini umumnya alat pengukur kualitas udara jarang yang beroperasi secara otomatis dan kalaupun ada hasilnya hanya dapat diketahui dimana alat itu diletakkan, sehingga data informasi tidak dapat diakses dengan mudah dimana saja dan kapan saja.
Dari kondisi di atas, untuk mengatasi masalah tersebut perlu dibuat suatu alat pengukur kualitas udara yang dapat mengukur besar kecilnya kadar pencemaran udara secara otomatis yang kemudian pengaksesan data dapat dilakukan dimana saja tidak tergantung dengan jarak. Penelitian ini mengacu pada penelitian sebelumnya yang berjudul “Alat Pendeteksi Polusi Udara Dari Gas Karbonmonoksida (CO) pada Ruangan Berbasis Mikrokontroler
AT89S51” (FARLI RIZKI: UPN “VETERAN” JAWA TIMUR 2011),
diletakkan, sehingga data informasi tidak dapat diakses dengan mudah dimana saja dan kapan saja. Dengan merujuk dari penelitian sebelumnya, maka dalam penelitian selanjutnya akan dikembangkan alat yang berjudul “Alat Pengukur dan Pengirim Kualitas Udara Dari Gas Karbonmonoksida (CO)
Menggunakan Mikrokontroler ATmega32 dan SMS Gateway”. Perencanaan
sistem kerja alat tersebut diharapkan membantu pengaksesan data informasi dapat dilakukan dimana saja dan kapan saja tanpa tergantung pada jarak dan waktu.
1.2 Perumusan Masalah
Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan suatu permasalahan, yaitu :
a. Bagaimana merancang dan membuat suatu alat yang dapat mengukur dan mengirim kualitas udara dari gas karbonmonoksida?
b. Bagaimana sistem kerja dari sensor yang digunakan untuk membaca kulitas udara dari gas karbonmonoksida dengan mikrokontroler?
c. Bagaimana sistem kerja dari modem GSM mengirimkan data informasi kualitas udara via sms dengan mikrokontroler?
1.3 Batasan Masalah
Dalam membangun sistem tersebut diperlukan beberapa batasan masalah, yaitu:
a. Sensor yang digunakan MQ-7
c. Mikrokontroler yang digunakan adalah ATmega32 sebagai sistem pemrosesan untuk sistem.
d. Teknik mengirim dan menerima SMS menggunakan modem wavecom. e. Jaringan untuk SMS Gateway yang digunakan adalah jaringan GSM
dengan jasa operator seluler AXIS.
f. Tidak menggunakan database dalam penyimpanan untuk SMS g. Nomor tujuan yang digunakan hanya 1 nomor.
1.4 Tujuan
Tujuan dari pengerjaan tugas akhir ini adalah membuat suatu alat pengukur kulitas udara yang mampu menghitung dan menentukan kualitas udara secara otomatis, kemudian hasilnya dikirimkan via sms sehingga akses informasi kualitas udara dapat dilakukan dimana saja dan kapan saja tanpa tergantung pada jarak dan waktu.
1.5 Manfaat
Adanya tugas akhir ini diharapkan dapat mempunyai manfaat sebagai berikut :
a. Alat ini digunakan untuk menghitung dan menentukan kualitas udara secara otomatis pada suatu daerah yang tercemar gas polutan terutama gas karbon monoksida (CO).
4
BAB II
TINJAUAN PUSTAKA
Pada bab II ini akan menjelaskan masalah-masalah teoritis yang berkaitan dalam pembuatan alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS
gateway. Pembahasan pada bab ini terbagi menjadi 2 bagian yaitu tinjauan umum
dan landasan teori, beberapa teori dasar yang dibahas dalam bab ini, antara lain : Mikrokontroller ATmega 32, Sensor Gas MQ-7, LCD, Komunikasi serial, SMS
Gateway, CodeVision AVR, Eagle Layout.
2.1 Tinjauan Umum
Tinjauan umum adalah teori-teori yang mendukung pembuatan aplikasi Tugas Akhir.
2.1.1 ISPU (Indeks Standar Pencemaran Udara)
masyarakat dapat dilakukan melalui media massa dan elektronika serta papan peraga di tempat-tempat umum. ISPU ditetapkan berdasarkan 5 pencemar utama, yaitu: CO, SO2, NO2, Ozon permukaan (O3), dan partikel debu (PM10).
Agar lebih mudah dipahami ISPU dapat dibayangkan seperti penggaris angka 1 hingga 1000. Semakin tinggi nilai ISPU maka semakin tinggi tingkat pencemaran dan semakin berbahaya dampaknya terhadap kesehatan. Sebagai contoh, ISPU 30 menunjukkan kualitas udara baik dan tidak ada dampak yang berbahaya terhadap kesehatan.
Ketika kondisi ISPU di bawah 100 dipandang tidak berbahaya terhadap masyarakat secara umum. Namun ketika ISPU beranjak melebihi 100 maka pertama-tama kelompok masyarakat yang sensitif seperti penderita asma dan anak-anak serta orang dewasa yang aktif di luar ruangan, akan paling awal merasakan dampak kualitas udara yang tidak sehat. Sejalan dengan meningkatnya ISPU maka akan semakin banyak yang merasakan dampak, hingga akhirnya seluruh masyarakat akan menderita karena dampak kesehatan yang terjadi.
Adapun penjelasan tentang kategori, rentang dan efek pengaruh pada kesehatan seperti berikut :
a. Kategori Baik, Rentang 0 – 50, Tingkat kualitas udara yang tidak memberikan efek bagi kesehatan manusia atau hewan dan tidak berpengaruh pada tumbuhan, bangunan ataupun nilai estetika.
c. Kategori Tidak Sehat, Rentang 101 – 199, Tingkat kualitas udara yang bersifat merugikan pada manusia ataupun kelompok hewan yang sensitive atau bias menimbulkan kerusakan pada tumbuhan ataupun nilai estetika. d. Kategori Sangat Tidak Sehat, Rentang 200 – 299, Tingkat kualitas udara
yang dapat merugikan kesehatan pada sejumlah segmen populasi yang terpapar.
e. Kategori Berbahaya Rentang, 300 – 500, Tingkat kualitas udara berbahaya yang secara umum dapat merugikan kesehatan yang serius pada populasi.
2.1.2 Karbonmonoksida dan Dampaknya Terhadap Kesehatan
Karbonmonoksida atau CO adalah suatu gas yang tidak berwarna, tidak berbau dan juga tidak berasa. Gas CO dapat berbentuk cairan pada suhu dibawah -129OC. Gas CO sebagian besar berasal dari pembakaran bahan fosil dengan udara, berupa gas buangan. Secara alamiah gas CO juga dapat terbentuk, walaupun jumlahnya relatif sedikit, seperti gas hasil kegiatan gunung berapi, proses biologi dan lain-lain. Karbon monoksida (CO) apabila terhisap ke dalam paru-paru akan ikut peredaran darah dan akan menghalangi masuknya oksigen yang akan dibutuhkan oleh tubuh. Hal ini dapat terjadi karena gas CO bersifat racun metabolisme, ikut bereaksi secara metabolisme dengan darah. Seperti halnya oksigen, gas CO bereaksi dengan darah (hemoglobin) :
Hemoglobin + O2 –> O2Hb (oksihemoglobin)
Hemoglobin + CO –> COHb (karboksihemoglobin)
8 jam akan menimbulkan rasa pusing dan mual. Pengaruh karbon monoksida (CO) terhadap tubuh manusia ternyata tidak sama dengan manusia yang satu dengan yang lainnya. Konsentrasi gas CO disuatu ruang akan naik bila di ruangan itu ada orang yang merokok. Orang yang merokok akan mengeluarkan asap rokok yang mengandung gas CO dengan konsentrasi lebih dari 20.000 ppm yang kemudian menjadi encer sekitar 400-5000 ppm selama dihisap. Konsentrasi gas CO yang tinggi didalam asap rokok menyebabkan kandungan COHb dalam darah orang yang merokok jadi meningkat. Keadaan ini sudah barang tentu sangat membahayakan kesehatan orang yang merokok. Orang yang merokok dalam waktu yang cukup lama (perokok berat) konsentrasi CO-Hb dalam darahnya sekitar 6,9%. Hal inilah yang menyebabkan perokok berat mudah terkena serangan jantung.
Gas CO mempunyai kemampuan mengikat hemoglobin (Hb) yang terdapat dalam sel darah merah (eritrosit) lebih kuat dibanding oksigen, sehingga setiap ada asap rokok disamping kadar oksigen udara yang sudah berkurang, ditambah lagi sel darah merah akan semakin kekurangan oksigen, oleh karena yang diangkut adalah CO dan bukan O2 (oksigen).Sel tubuh yang menderita kekurangan oksigen akan berusaha meningkatkan yaitu melalui kompensasi pembuluh darah dengan jalan menciut atau spasme. (sumber: Prabu)
2.2 Landasan Teori
2.2.1 Pengenalan Mikrokontroler
Pada saat ini penggunaan mikrokontroler dapat kita temui di berbagai peralatan, misalnya peralatan yang terdapat di rumah, seperti telepon digital,
microwave oven, televisi, mesin cuci, sistem keamanan rumah, PDA, dll.
Mikrokontroler dapat kita gunakan untuk berbagai aplikasi misalnya untuk pengendalian, otomasi industri, telekomunikasi, dan lain-lain. Keuntungan menggunakan mikrokontroler yaitu harganya murah, dapat di program berulang kali, dan dapat kita program sesuai dengan keinginan kita. Saat ini banyak mikrokontroler yang ada dipasaran yaitu Intel 8048 dan 8051(MCS 51), Motorola 68HC11, Microchip PIC, Hitachi H8, dan Atmel AVR.
Salah satu mikrokontroler yang banyak digunakan saat ini yaitu mikrokontroler AVR, AVR adalah mikrokontroler RISC (Reduce Instruction Set
Compute) 8 bit berdasarkan arsitektur Harvard, yang dibuat oleh Atmel pada
tahun 1996. AVR mempunyai kepanjangan Advanced Versatile RISC atau Alf and
Vegard’s Riscproessor yang berasal dari nama dua mahasiswa Norwegia Institute
of Technology (NTH), yaitu alf-Egil Bogen danVegard Wollan.
Komunikasi Serial, Komparator, I2C, dll), sehingga dengan fasilitas yang lengkap ini, programmer dan desainer dapat menggunakannya untuk berbagai aplikasi system elektronika seperti robot, otomasi industri, peralatan telekomunikasi, dan berbagai keperluan lain. Secara umum mikrokontroler AVR dapat dikelompokkan menjadi 3 kelompok, yaitu Tiny AVR, AVR, dan MegaAVR seperti yang dapat dilihat pada tabel 2.1 berikut.
Tabel 2.1. Perbedaan seri AVR berdasarkan jumlah memori
Microcontroler AVR Memori (byte)
Jenis Paket IC Flash EEPROM SRAM Tiny AVR 8-32 pin 1-2 K 61-128 0-128 AVR (classic
AVR)
20-44 pin 1-8 K 128-312 0-1K
Mega AVR 32-64 pin 8-128 K 312-4K 312-4K
Pemrograman mikrokontroler AVR dapat menggunakan low level
language (assembly) dan high level language (C, Basic, Pascal, Java, dll)
C memiliki keuntungan-keuntungan yang dipunyai oleh bahasa mesin (assembly), hampir semua operasi yang dapat dilakukan oleh bahasa mesin, dapat dilakukan oleh bahasa C dengan penyusunan program yang lebih sederhana dan mudah. (Wardana lingga, 2006)
2.2.2 Mikrokontroler AVR ATmega 32
AVR merupakan seri mikrokontroller CMOS 8-bit buatan Atmel, berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 x 8 register general-purpose, timer/counter fleksibel dengan mode compare, interupt internal dan eksternal, serial UART, programmable Watchdog Timer, dan mode power saving. Beberapa diantaranya mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. Chip AVR yang digunakan untuk tugas akhir ini adalah ATmega32.
2.2.2.1 Arsitektur mikrokontroler ATmega32
Gambar 2.1 blok diagram AVR ATmega32
Dari gambar 2.1 blok diagram tersebut dapat dilihat bahwa ATMega32 memiliki bagian-bagian sebagai berikut :
a. Saluran I/O sebanyak 32 buah, yaitu port A, port B, port C, dan port D b. CPU yang memiliki 32 buah register
c. SRAM sebesar 2 KiloByte
d. Flash memory sebesar 32 Kilobyte
e. EEPROM sebesar 1024 byte dapat diprogram selama beroperasi f. Tiga buah timer/counter dengan kemampuan pembanding
g. Two wire serial Interface
h. Port antarmuka SPI
j. Port USART untuk komunikasi serial k. ADC 10 bit sebanyak 8 saluran
l. Watchdog Timer dengan osilator internal m. Antarmuka komparator analog
2.2.2.2 Konfigurasi pin ATMega32
IC mikrokontroler dikemas (packging) dalam bentuk yang berbeda. Namun pada dasarnya fungsi kaki yang ada pada IC memiliki persamaan. Gambar salah satu bentuk IC seri mikrokontroler AVR ATmega32 dapat dilihat pada gambar 2.2.
Gambar 2.2 konfigurasi pin ATmega32
Berikut ini adalah penjelasan fungsi tiap kaki :
a. Port A
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port A dapat memberi arus 20 mA dan dapat mengendalikan
display LED secara langsung. Data Direction Register port A (DDRA)
DDRA diisi 0 jika ingin memfungsikan pin-pin port A yang bersesuaian sebagai input, ataudiisi 1 jika sebagai output. Selain itu, kedelapan pin port A juga digunakan untuk masukan sinyal analog bagi A/D converter
b. Port B
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port B dapat member arus 20 mA dan dapat mengendalikan
display LED secara langsung. Data Direction Register port B (DDRB)
harus disetting terlebih dahulu sebelum Port B digunakan. Bit-bit DDRB di isi 0 jika ingin memfungsikan pin-pin port B yang bersesuaian sebagai input, atau di isi 1 jika sebagai output. Pin-pin port B juga memiliki untuk fungsi-fungsi alternative khusus.
c. Port C
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port C dapat member arus 20 mA dan dapat mengendalikan
d. Port D
Merupakan 8-bit directional port I/O. Setiap pinnya dapat menyediakan internal pull-up resistor (dapat diatur per bit). Output
buffer Port D dapat memberi arus 20 mA dan dapat mengendalikan
display LED secara langsung. Data Direction Register port D (DDRD)
harus disetting terlebih dahulu sebelum Port D digunakan. Bit-bit DDRD diisi 0 jika ingin memfungsikan pin-pin port D yang bersesuaian sebagai input, atau diisi 1
2.2.2.3 Organisasi Memori
ATMega32 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Sebagai tambahan, ATmega32memiliki fitur suatu EEPROM Memori untuk penyimpanan data.
a. Memori Data
Memori data terbagi menjadi 3 bagian, yaitu 32 register umum, 64 buah register I/O,dan 512 byte SRAM Internal. Register keperluan umum menempati space data pada alamat terbawah, yaitu $00 sampai $1F. Sementara itu, register khusus untuk menangani I/O dan control terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari $20 hingga $5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register, timer/counter, fungsi–fungsi I/O, dan sebagainya. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi $60 sampai dengan $25F. Konfigurasi memori data ditunjukkan pada Gambar 2.3.
b. Memori Program
ATmega32 berisi 8K bytes On-Chip di dalam system Memori flash
Reprogrammable untuk penyimpanan program. Karena semua AVR
instruksi adalah 16 atau 32 bits lebar, Flash adalah berbentuk 4K x16.Untuk keamanan perangkat lunak, Flash Ruang program memori adalah dibagi menjadi dua bagian, bagian boot program dan bagian aplikasi program dengan alamat mulai dari $000 sampai $FFF. Flash Memori mempunyai suatu daya tahan sedikitnya 10,000write/erase
Cycles. ATmega32 Program Counter (PC) adalah 12 bit lebar, alamat
ini 4K lokasi program memori. (Sumber : Heryanto dan Adi : 2008)
2.2.2.4 Register
Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler. Gambar status register pada gambar 2.5.
Gambar 2.5 Status Register ATMega32
Bit7 -->I (Global Interrupt Enable), Bit harus di Set untuk mengenable semua jenis interups. (Heryanto dan Adi, 2008)
2.2.3 Sensor Gas MQ-7
elektrik. Pada sistem ini digunakan sensor gas yaitu sensor gas MQ-7. Gambar sensor gas mq7 dapat dilihat pada gambar 2.6.
Gambar 2.6 : sensor gas MQ7
DT-SENSE CARBON MONOOXIDE SENSOR merupakan sebuah modul sensor gas yang berbasiskan MQ-7, yaitu sensor yang bereaksi terhadap kadar gas karbon monoksida yang terdapat dalam udara. Modul ini memiliki keluaran data digital serta desain hardware minimalis yang ditujukan untuk memudahkan proses penggunaan sensor MQ-7. Modul ini dapat diaplikasikan sebagai alarm peringatan dini, ataupun gas detector untuk membantu proses industri yang melibatkan gas karbon monoksida.
Sensor ini memiliki panjang 5,6 cm, lebar 4 cm dan tinngi 3,4 cm. berikut adalah spesifikasi sensor gas MQ-7 :
a. Tegangan kerja : 5 VDC. b. Target gas : Karbonmonoksida c. Range deteksi : 20 - 20000 ppm.
d. Antarmuka :
i. UART TTL : 38400 bps, 8-bit data, 1-bit stop, no parity, no flow
control.
ii. I2C : dapat di-cascade hingga 8 buah modul dalam satu jalur komunikasi.
e. Menggunakan ADC 10-bit untuk konversi data analog dari sensor. f. Pin I/O yang kompatibel dengan level tegangan TTL dan CMOS. g. Memiliki 2 buah LED sebagai indikator.
Rangkaian dasar sensor gas ini disajikan pada gambar 2.7. Tegangan (Vc) digunakan memberi energi elemen sensor yang mempunyai hambatan (Rs) antara dua elektroda sensor dan terhubung secara serial dengan resistor (RL). Sinyal sensor diukur secara tidak langsung melalui perubahan tegangan yang melewati hambatan RL. Nilai Rs diperoleh dari persamaan berikut:
Rs = VCxRL
Vout − RL (2.1)
Dalam hal ini,
RL = hambatan antara kedua elektroda pada sensor (Ohm) VC = tegangan rangkaian (Volt)
Vout = tegangan keluaran (Volt)
Gambar 2.7 Skema Rangkaian Sensor Asap
Sensor ini mempunyai nilai hambatan Rs yang akan berubah bila terkena gas dan juga mempunyai sebuah pemanas (heater) yang digunakan untuk membersihkan ruangan sensor dari kontaminasi udara luar. Tegangan pada hambatan RL diambil sebagai masukan untuk mikroprosesor. Nilai hambatan RL dipilih agar konsumsi daya Grafik karasteristik sensor dapat dilihat pada Gambar 2.8.
(Sumber : http://www.hwsensor.com)
2.2.4 LCD (Liquid Crystal Display)
LCD adalah suatu display dari bahan cairan kristal yang pengoprasiannya menggunakan system dot matriks. LCD banyak digunakan sebagai display dari alat-alat elektronika seperti kalkulator, multitester digital, jam digital, dan sebagainya. Gambar LCD 2 X 16 dapat dilihat pada gambar 2.9.
Gambar 2.9 LCD 2 X 16 karakter
LCD yang digunakan merupakan LCD tipe karakter karena LCD ini dapat menampilkan data. Keuntungan yang dapat diperoleh dengan menggunakan LCD adalah :
a. Dapat menampilkan karakter ASCII, sehingga memudahkan untuk membuat program tampilannya.
b. Mudah dihubungkan dengan port I/O karena hanya menggunakan 4 bit data dan 3 bit control.
2.2.4.1 Konfigurasi pin LCD 2 X 16 karakter
Berikut merupakan tabel terminal I/O dari LCD yang ditunjukkan pada tabel 2.2.
Tabel 2.2 Terminal I/O LCD
2.2.5 Komunikasi Serial
Dikenal dua cara komunikasi data secara serial, yaitu komunikasi data serial sinkron dan asinkron. Pada komunikasi data serial sinkron, clock dikirimkan secara bersama-sama dengan data serial, sedangkan pada komunikasi data serial asinkron, clock tidak dikirimkan bersama data serial, tetapi dibangkitkan secara sendiri-sendiri baik pada sisi pengirim (transmitter) maupun pada sisi penerima
Gambar 2.10 Komunikasi Sinkron
sinkronisasi, transmitter mengirim satu atau lebih karakter sinkronisasi pada awal masing-masing pengiriman. Gambar Komunikasi sinkron dapat dilihat pada gambar 2.10.
Gambar 2.11 Komunikasi Asinkron
Pada jalur asynchronous, informasi dikirim dengan cara yang terpisah dengan lebar karakter secara acak. Masing-masing karakter terdiri dari bit-bit kode karakternya (seperti ASCII). Ketika digunakan 7- bit ASCII, bit ke delapan disebut bit parity yang digunakan untuk pengecekan error. Gambar Komunikasi Asinkron dapat dilihat pada gambar 2.11.
2.2.5.1 Komunikasi Serial RS232
Komunikasi serial RS 232 merupakan komunikator yang menghubungkan antara terminal data dari suatu peralatan dan peralatan ini menjalankan pertukaran data biner secara serial. Sedangkan IC yang dipakai untuk komunikasi juga menyediakan pemrosesan data dan protocol, sedang yang lain berupa interface ke jalur komunikasi secara fisik. Bagian yang menangani komunikasi dapat dihubungkan dengan berbagai aplikasi yang berhubungan dengan elektronik, tetapi memiliki kondisi arus dan tegangan yang tak menentu. IC serial RS 232 dipakai sebagai interface (antar muka) dari PC ke perangkat luar (level TTL) atau sebaliknya dari perangkat luar ke PC. Karakteristik dari RS-232 memiliki ketentuan level tegangan sebagai berikut:
b. Logika ‘0’ disebut ‘space’ terletak antara +3 Volt hingga +25 Volt. c. Daerah tegangan antara -3 Volt hingga +3 Volt adalah invalid level,
yaitu daerah tegangan yang tidak memiliki level logika pasti sehingga harus dihindari. Demikian juga, level tegangan lebih negative dari -25 Volt atau lebih positif dari +25 Volt juga harus dihindari karena tegangan tersebut dapat merusak line driver pada saluran RS-232. Gambar 2.12 berikut ini adalah contoh level tegangan RS-232 pada
pengiriman huruf „A‟ dalam format ASCII tanpa bit paritas.
Gambar 2.12 IC MAX 232
Standar RS232 menentukan pula jenis-jenis sinyal yang dipakai mengatur pertukaran informasi antara DTE dan DCE, semuanya terdapat 24 jenis sinyal tapi yang umum dipakai hanyalah 9 jenis sinyal. Konektor yang dipakai pun ditentukan dalam standar RS232, untuk sinyal yang lengkap dipakai konektor DB25, sedangkan konektor DB9 hanya bisa dipakai untuk 9 sinyal yang umum dipakai. Gamabar kaki port serial jenis male dapat dilihat pada gambar 2.13.
Gambar 2.13 Kaki port serial jenis male
Konektor DB-9 pada bagian belakang CPU. Pada komputer IBM PC kompatibel biasanya ditemukan dua konektor port serial DB-9 yang sering diberi nama COM1 dan COM2. Adapun tabel Nama, fungsi, arah DB-9 dan Fungsi masing-masing pin DB9 dapat dilihat pada tabel 2.3 dan tabel 2.4.
Tabel 2.4 Fungsi masing-masing pin DB9
2.2.6 SMS Gateway
(Sumber : Bony M. Farid, 2009)
Gambar 2.14 SMS Gateway
SMS Gateway seperti pada gambar 2.14 adalah jenis sms dua arah. Menariknya bahwa semua tarif yang diberlakukan adalah tarif sms normal sesuai dengan apa yang diberlakukan oleh operator. Karena sifatnya yang dua arah, maka jenis sms ini sangat cocok digunakan sebagai SMS Center sebuah organisasi atau perusahaan dalam rangka meningkatkan kualitas komunikasi antara anggota komunitas organisasi atau pegawai di dalam perusahaan. Selain itu, dengan adanya SMS Gateway, Anda dapat mengatur pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengiriman pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya (kustomisasi pesan). Selain contoh diatas, Sistem aplikasi SMS Gateway ini memungkinkan Anda untuk :
c. Memberikan informasi secara rutin (terjadwal) dari sistem database ke nomor hp individual tertentu atau ke hp grup tertentu. Misalnya : total penderita demam berdarah setiap minggu, jumlah kelahiran setiap bulan, persediaan darah di wilayah tertentu, dan lain-lain.
d. Memberikan peringatan dini (alarm/alert) via sms ke hp personil akan sesuatu status yang bisa diketahui dari informasi yang terdapat dalam database, misalnya : informasi tinggi gelombang untuk nelayan, informasi badai kepada masyarakat, dan lain-lain.
e. Melakukan distribusi informasi singkat kepada grup hp tertentu. f. Mengirim email dari sms.
Membangun aplikasi SMS Gateway tidak memerlukan modal yang besar. Yang penting minimal Anda punya PC beserta hp, kabel data (kabel berantarmuka serial yang dapat menghubungkan ponsel dengan PC) dan aplikasi. Namun untuk keperluan pelayanan kepada masyarakat, sebaiknya menggunakan Modem GSM yang spesifik digunakan untuk SMS Gateway. (Bony M. Farid, 2009)
2.2.7 CodeVision AVR
Code Vision AVR merupakan salah satu software kompiler yang khusus
digunakan untuk mikrokontroler keluarga. Meskipun CodeVision AVR termasuk
software komersial, namun kita tetap dapat menggunakan-nya dengan mudah
karena terdapat versi evaluasi yang tersedia secara gratis walaupun dengan kemampuan yang dibatasi. Code Vision AVR sebuah cross-compiler C, Integrated
didesain untuk mikrokontroler buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95, 98, Me, NT4, 2000, dan XP, 7.
CodeVisionAVR merupakan hak cipta dari Pavel Haiduc, HP InfoTech s.r.l. Berikut adalah tampilan dari CodeVisionAVR, seperti yang dapat dilihat pada Gambar 2.15.
Gambar 2.15 CodeVision AVR
CodeVision AVR merupakan yang terbaik bila dibandingkan dengan
kompiler \u 2013 kompiler yang lain karena beberapa kelebihan yang dimiliki oleh CodeVision AVR antara lain :
a. Menggunakan IDE (intergrated Development Environment).
c. Mampu membangkitkan kode program secara otomatis dengan menggunakan fasilitas CodeWizard AVR.
d. Memiliki fasilitas untuk mendownload program langsung dari CodeVision
AVR dengan menggunakan hardware khusus seperti Atmel STK500,
Kanda Sysrem STK200+ / 300 dan beberapa hardsware lain yang telah didefinisikan oleh CodeVision AVR.
e. Memiliki fasilitas debugger sehingga dapat menggunakan software
compiler lain untuk mengecek kode assembler-nya, contohnya AVR
Studio.
f. Memiliki terminal komukasi serial yang terintregasi dalam CodeVision AVR sehingga dapat digunakan untuk membantu pengecekan program yang telah dibuat khususnya yang menggunakan fasilitas komunikasi serial UART.
Selain library standar C, CodeVisionAVR juga mempunyai library tertentu untuk modul LCD alphanumeric, Bus I2C dari Philips, Sensor Suhu LM75 dari
National Semiconductor, Real-Time Clock: PCF8563, PCF8583 dari Philips,
DS1302 dan DS1307 dari Maxim/Dallas Semiconductor, Protokol 1-Wire dari Maxim/Dallas Semiconductor, Sensor Suhu DS1820, DS18S20, dan DS18B20 dari Maxim/Dallas Semiconductor, Termometer/Termostat DS1621 dari Maxim/Dallas Semiconductor, EEPROM DS2430 dan DS2433 dari Maxim/Dallas
Semiconductor, SPI, Power Management, Delay, Konversi ke Kode Gray
CodeVisionAVR juga mempunyai Automatic Program Generator bernama Code Wizard AVR . instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:
b) Identifikasi sumber reset untuk chip c) Inisialisasi port input/output
d) Inisialisasi interupsi eksternal e) Inisialisasi Timer/Counter f) Inisialisasi Watchdog-Timer
g) Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan oleh interupsi
h) Inisialisasi Pembanding Analog i) Inisialisasi ADC
j) Inisialisasi Antarmuka SPI k) Inisialisasi Antarmuka Two-Wire l) Inisialisasi Antarmuka CAN
m) Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan Real-Time Clock PCF8563, PCF8583, DS1302, dan DS1307 n) Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20
Inisialisasi modul LCD
2.2.8 Bahasa Pemrograman C
Bell Labs. Bahasa C dikembangkan dari bahasa BPCL (Basic Combined
Programming Language ) dan bahasa B. Bahasa BPCL di kembangkan oleh
Martin Richard pada tahun 1967 sebagai bahasa system operasi dan compiler. Ken Thompson pada tahun 1970 telah merancang bahasa B dengan memasukkan feature BPCL. Bahasa B dirancang untuk membuat system operasi UNIX/LINUX untuk computer DEC PDP-7 pada Bell Laboratories. (Bayu, 2011)
2.2.9 EAGLE Layout Editor
Nama EAGLE adalah singkatan, yang merupakan singkatan dari E asily A pplicable G raphical L ayout E ditor. Software ini menawarkan user friendly untuk mendesain PCB, termasuk skematik. EAGLE memberikan kualitas software desain PCB dengan fitur yang mendapatkan pekerjaan yang dilakukan. Selama lebih dari 20 tahun, EAGLE telah memuaskan insinyur desain di seluruh dunia, dengan menawarkan fungsionalitas inti yang sama sebagai perangkat lunak komersial yang mahal, di sebagian kecil dari biaya.
1. Mudah untuk belajar
a. Editor skematik , layout editor , perpustakaan modul Editor dengan user interface yang identik
b. Gratis dukungan layanan melalui ahli berdedikasi c. Kompatibel dengan Windows ®, Linux ®, Mac ® 2. Mudah digunakan
b. Ekspor file Gerber yang dapat digunakan pada setiap rumah papan: i. Gerber 274X & Gerber 274D
ii. Excellon NC Format Bor iii. SM1000 SM3000 dan
iv. Format ekspor kustom ditetapkan pengguna
c. Impor online produk & harga informasi melalui DesignLink
d. Forum pelanggan aktif untuk berbagi file, perpustakaan ULPS, tips desain dan lebih
e. Mengurai dan tempelkan data Anda di luar EAGLE (XML datastructure)
3. Persyaratan Sistem
a. Windows XP, Windows Vista atau Windows 7
b. Linux didasarkan pada kernel 2.6 untuk komputer Intel, X11 dengan warna minimum kedalaman 8 bpp, lingkungan runtime 32-bit dengan perpustakaan berikut: libpng14.so.14, libssl.so.1.0.0, libcrypto.so.1.0.0, libjpeg.so.8
34
BAB III
METODE PENELITIAN
Pada bab ini akan dijelaskan mengenai proses pembangunan alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway. Penjelasan tentang proses pembangunan sistem dalam sub-bab ini akan dibagi menjadi 2, antara lain : Rancangan penelitian, Rancangan uji coba dan evaluasi.
3.1 Rancangan Penelitian
Proses perancangan dalam penelitian pembangunan sistem ini akan dibagi menjadi beberapa tahap antara lain analisis sistem, perancangan sistem dan perancangan proses.
3.1.1 Analisis Sistem
3.1.2 Diagram Blok Penelitian
Pada suatu sistem alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS
gateway akan dibuat gambaran umum pemrosesan sistem dimulai dari sensor
karbonmonoksida bekerja untuk mendeteksi karbonmonoksida di suatu tempat. Adanya karbonmonoksida mengakibatkan perubahan nilai resistansi pada sensor sehingga menghasilkan perubahan nilai tegangan output pada sensor. Nilai tegangan output pada sensor tersebut diproses dengan ADC (Analog to Digital
Conversion) untuk diubah ke bilangan digital. bilangan digital yang sudah didapat
berupa 0 – 1024 (rentang pembacaan sensor) kemudian diproses mikrokontroler dengan perhitungan skala (3.1) perbandingan alat yang di buat dengan alat sebenarnya (ISPU) untuk memperoleh suatu output yang diinginkan berupa indek status kualitas udara. Nilai perhitungan alat yang di buat (indek) berasal dari (3.2).
Skala = pembacaanSensor
alatsebenarnya (3.1)
indek = pembacaan sensor / skala (3.2)
Table 3.1 Perhitungan skala
Table 3.1 adalah hasil perhitungan skala perbandinngan dari pembacaan sensor dengan alat sebenarnya untuk menghasilkan kondisi kualitas udara berupa indek dan status kualitas udara.
Cara kerja alat ini seperti pada gambar diagram blok Gambar 3.1.
Gambar 3.1 Blok Diagram
Dari blok diagram diatas, Pada saat sensor mendeteksi karbon monoksida, maka sensor gas akan mengeluarkan output yang berupa data digital. data tersebut menjadi input ke mikrokontroller untuk di proses dengan skala perbandingan alat yang di buat dengan alat sebenarnya untuk memperoleh suatu output berupa indek dan status kualitas udara, kemudian mikrokontroller akan menampilkan indek status kualitas udara ke LCD, dan modem melakukan proses pengiriman ke pengguna via sms
3.1.3 Perancangan Sistem
3.1.3.1 Kebutuhan Perangkat Keras
Perangkat keras minimal yang digunakan untuk membuat alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini adalah sebagai berikut :
a. Mikrokontroler
Rangkaian ini menggunakan ATMega32 dengan menggunakan IC ATMega32 yang digunakan sebagai minimum system. Rangkaian ini berfungsi sebagai otak yang mengatur jalannya rangkaian secara keseluruhan.
b. Catu Daya
Rangkaian ini terdiri dari adaptor yang berfungsi mengubah tegangan dari AC ke DC.
c. Sensor
Sensor digunakan untuk memberikan input yang nantinya akan dibaca oleh mikrokontroler. menggunakan sensor MQ-7.
d. LCD
LCD di gunakan sebagai media informasi untuk menampilkan kadar kualitas udara.
e. SMS Gateway
SMS Gateway yang digunakan untuk mengirim sms ke pengguna adalah modem GSM wavecom.
f. Box (Simulasi Pengukur Karbonmonoksida)
Box (Simulasi Pengukur Karbonmonoksida) yang digunakan dalam alat ini
3.1.3.2 Kebutuhan Perangkat Lunak
Perangkat lunak yang dapat digunakan untuk membuat program adalah sebagai berikut :
a. Codevision AVR C Compiler
Codevision AVR C Compiler adalah aplikasi yang digunakan untuk menuliskan program yang akan dibuat yang akan disimpan dalam ekstensi *.c. Kemudian dapat meng – compile menjadi ekstensi *.hex. Setelah itu men – download – kan file *.hex ke dalam minimum system ATMega32. b. EAGLE Layout Editor
EAGLE Layout Editor adalah desain PCB aplikasi perangkat lunak canggih yang terdiri dari 2 modul yaitu layout Skematik dan layout board PCB dengan Komponen dan Editors Pola yang memungkinkan Anda untuk merancang komponen anda sendiri.
3.2 Rancangan Uji Coba Dan Evaluasi
Dalam Rancangan uji coba dan evaluasi dijelaskan untuk rancangan uji coba dalam tahap pelaksanaan dan implementasi sistemnya dimana rancangan uji coba menyangkut uji coba dari perangkat lunak dan perangkat keras. Selain rancangan uji coba juga dilakukan evaluasi dari hasil pengujian sistem yang telah dibuat dan dijalankan.
3.2.1 Perancangan Perangkat Keras
mikrokontroler yang di pakai adalah tipe ATMega32 karena mikrokontroler tersebut mempunyai komunukasi serial dan juga mempunyai kapasitas memori yang cukup besar untuk di gunakan pada project ini. dalam membuat sistem. Gambar 3.2 di bawah ini adalah rangkaian schematik dari sitem keseluruhan yang dibuat dengan menggunakan software EAGLE Layout Editor
Gambar 3.2 Skema rangkaian alat
Penggunaan masing-masing port I/O mikrokontroler ATmega32 dalam sistem ini adalah sebagai berikut.
a. Port B1 > Button1
b. Port B2 > Button2
c. Port C > LCD
d. Port D0, D1 > Komunikasi Serial untuk modem
e. Port D2, D3, D4 > Sensor MQ-7
Input yang berupa tegangan diolah oleh rangkaian pengkondisi sinyal agar
diperoleh tegangan yang stabil , kemudian akan diumpankan kedalam port D2,D3,D4 pada mikroprosessor ATMega32 untuk diolah menjadi data digital sehingga dapat menghasilkan output yang diinginkan yaitu menampilkan kondisi kualitas udara pada LCD, dan modem melakukan proses pengiriman ke pengguna
via sms
3.2.2 Perancangan Perangkat Lunak
Pada pembuatan sistem pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) berbasis mikrokontroler dan SMS gateway ini selain diperlukan perancangan kebutuhan perangkat keras maka untuk mengimbanginya dengan membutuhkan perancangan kebutuhan perangkat lunak. Yang mana sangat diperlukan untuk mengatur kerja dari rangkaian keseluruhan. Pertama – tama yang dibuat adalah program alir (flowchart) dan kemudian akan dilakukan pembuatan program untuk menjalankan sistemnya tersebut.
Pada pembuatan perangkat lunak harus melalui proses – proses uji coba secara Hardware maupun Software. Dalam aliran program di dalamnya menyangkut hardware yang diuji yang menyangkut sensor MQ-7, mikrokontroler, LCD dan SMS Gateway. Dimana nantinya akan disambungkan dengan Program yang alirannya telah ditentukan sebelumnya sehingga dapat dijalankan dengan baik. Tanpa adanya aliran proses dalam bentuk flowchart ini maka pembuatan sistem masih kurang efisien dalam proses implementasinya.
Sistem kerja dari perangkat lunak dapat dilihat pada Gambar 3.4
Gambar 3.3 Flowchart
Pada saat pertama kali proses, mikrokontroler melakukan pembacaan kualitas udara dengan sensor MQ7 yang sebelumnya sensor sudah mendeteksi adanya gas karbonmonoksida, setelah proses pembacaan sensor MQ7 mikrokontroler melakukan proses menampilkan kadar kualitas udara pada LCD. Kemudian mikrokontroler menunggu intruksi berupa sms masuk dari pengguna, apabila ada intruksi sms masuk, maka mikrokontroler akan melakukan proses
replay atau pengiriman sms berupa kondisi kualitas udara ke nomor tujuan
(pengguna), tapi apabila pada intruksi tersebut tidak ada sms masuk mikrokontroler tidak akan merespon.
42
BAB IV
HASIL DAN PEMBAHASAN
Pada bab ini akan dibahas mengenai implementasi dari hasil analisis dan rancangan sistem yang telah dibuat sebelumnya, serta bagaimana cara sistem tersebut dijalankan, dan juga di lakukan uji coba dalam tahap pelaksanaan dan implementasi sistemnya dimana uji coba menyangkut uji coba dari programnya. Selain uji coba juga dilakukan analisis dari hasil pengujian sistem yang telah dibuat dan dijalankan.
4.1 Impelementasi
Pada implementasi sistem disini adalah suatu penerapan dari rancangan yang sudah dibuat sebelumnya dan dijadikan suatu sistem. Dalam implementasi dilakukan dua tahap yaitu implementasi perangkat keras dan implementasi proses program untuk perangkat lunaknya.
4.1.1. Implementasi Perangkat Keras
sebuah media penyimpanan program yang akan dibuat, implementasi rangkaian mikrokontroler Atmega32 tersebut dapat dilihat pada sub bab sebagai berikut :
4.1.1.1 Rangkaian Mikrokontroler ATmega32
Pada rangkaian mikrokontroler ATmega32 adalah rangkaian pada sistem mikrokontroler ATmega32. Didalam mikrokontroler Atmega32 ada sebuah program untuk menjalankan sebuah sistem yang ingin dijalankan. Gambar rangkaian mikrokontroler ATmega32 dapat dilihat pada gambar 4.1
Gambar 4.1 Rangkaian Atmega32
ATmega32 yang digunakan sebagai pembaca tegangan output dari sensor untuk di proses kemudian menampilkan rentang indeks kualitas udara ke LCD dan kemudian komunikasi RS232 yang berfungsi untuk penghubung data – data dari modem wavecom kepada mikrokontroler.
4.1.1.2 Implementasi LCD
LCD sistem kerja sebagai media informasi untuk mengetahui kualitas udara. Awal pertama LCD bekerja keluar kata- kata KUALITAS UDARA TUGAS AKHIR. Gambar implementasi LCD 16x2 dapat dilihat pada gambar 4.2.
Gambar 4.2 LCD 16x2
4.1.1.3 Implementasi Sensor MQ-7
memperoleh suatu output yang diinginkan akan ditampilkan oleh LCD. Gambar implmentasi sensor MQ7 dapat dilihat pada gambar 4.3.
Gambar 4.3 sensor MQ-7
4.1.1.4 Implementasi Cattu Daya
Rangkaian ini terdiri dari adaptor yang berfungsi mengubah tegangan dari AC ke DC. Selain itu terdapat pula regulator yang berfungsi untuk menstabilkan tegangan. Fungsi lainnya yaitu menurunkan tegangan dari 12 V AC ke 5 V DC. Jadi secara garis besar fungsi rangkaian catu daya adalah untuk menurunkan tegangan dari 220 VAC ke 5 V DC serta menstabilkan tegangannya Gambar implmentasi cattu daya dapat dilihat pada gambar 4.4.
4.1.1.5 Implementasi Modem Wavecom
Modem wavecom digunakan untuk mengirim sms ke pengguna adalah modem GSM wavecom M1206B dan dileng kapi kabel data serial DB9, kabel data ini digunakan sebagai penghubung antara modem dengan mikrokontroler yang mana dapat mentransfer data – data yang diterima maupun yang akan dikirim Gambar implementasi Modem wavecom dapat dilihat pada gambar 4.5.
Gambar 4.5 modem wavecom
4.1.1.6 Implementasi Miniatur Box Simulasi
Pembuatan miniatur alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS
gateway ini digunakan untuk memberikan simulasi bagaimana cara kerja sensor
ketika ada pencemaran udara berupas asap. sehingga dapat diketahui bagaimana kinerja dari alat tersebut jika pada keadaan yang sebenarnya.
dimana didalam box tersebut terdapat sensor MQ-7 yang dapat mendeteksi adanya asap dalam ruangan tersebut. miniatur box simulasi pada Gambar 4.6
Gambar 4.6 miniatur box simulasi
4.1.2 Implementasi Perangkat Lunak
Bagian implementasi proses ini menjelaskan mengenai implementasi
software di mikrokontroler, sebagaimana rancangan sistem yang telah dibuat
Berikut penggalan source code pada program di mikrokontroler. Simulasi alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) berbasis mikrokontroler dan SMS gateway ini langkah pertama yang harus diperhatikan adalah mendeklarasikan semua fungsi, dan semua port pada mikrokontroler yang digunakan sebagai input dan output dari program yang akan disusun yang mana
port yang secara otomatis terbentuk saat membuat project baru. Berikut ini adalah
#include <mega32.h>
unsigned int bacaNilaiSensorI2C(unsigned char alamatI2C); void sms_init();
void kedip (void); void info(void);
void sms_otomatis(char flash *fmtstr1, char flash *fmtstr2); void sms_manual(void);
void hapus_pesan(void);
void kalibrasi(void);
// I2C Bus functions
# asm
.equ __i2c_port=0x12 ;PORTD .equ __sda_bit=2
.equ __scl_bit=3
# endasm
// Alphanumeric LCD Module functions
# asm
.equ __lcd_port=0x15 ;PORTC
# endasm
# endif
// Declare your local variables here
// Input/Output Ports initialization // Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00; DDRA=0x00;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x03; DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00; DDRC=0x08;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
// Timer/Counter 0 initialization // Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh // OC0 output: Disconnected
TCCR0=0x00; TCNT0=0x00; OCR0=0x00;
// Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=FFFFh // OC1A output: Discon.
// OC1B output: Discon. // Noise Canceler: Off
// Input Capture on Falling Edge // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off
TCCR1A=0x00;
// Timer/Counter 2 initialization // Clock source: System Clock // Clock value: Timer2 Stopped // Mode: Normal top=FFh // OC2 output: Disconnected
ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00;
// External Interrupt(s) initialization // INT0: Off
// INT1: Off // INT2: Off
MCUCR=0x00; MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On
// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600
// Analog Comparator initialization // Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00;
// LCD module initialization
lcd_init(16);
// Global enable interrupts
# asm("sei")
Potongan code diatas menjelaskan tentang inisialisasi mikrokontroler menggunakan ATmega32 serta mengidentifikasi Port D.2 ,D.3 sebagai input sensor, Port D.4 , D5, untuk menghidupkan sensor, port B.0 , B1 sebagai Push Botton , port D.0 ,D.1 sebagai kominikasi USART. Port C sebagai input LCD.
lcd_gotoxy(0,0);
lcd_putsf(" KUALITASUDARA");
lcd_gotoxy(0,1);
lcd_putsf(" TUGAS AKHIR ");
kedip();
void sms_init(void){ //awal tes
sms_init(); //ngecek dengan at - cek modem ada ato tidak -stack
lcd_got oxy(0,1);
lcd_put sf(" t idaak ada modem " );
Potongan source code diatas menjelaskan pada saat sistem dinyalakan akan ada pengecekan modem ketika modem tiadak tersambung LCD menampilkan “tidak ada modem” .
// USART Receiver buffer
#define RX_BUFFER_SIZE 8 //untuk 8 karakter char rx_buffer[RX_BUFFER_SIZE];
#if RX_BUFFER_SIZE<256 //rx_buffer untuk menampung data yang diterima unsigned char rx_wr_index,rx_rd_index,rx_counter;
# else
unsigned int r x_wr _index,r x_r d_index,r x_counter ; # endif
// This flag is set on USART Receiver buffer overflow bit rx_buffer_overflow;
// USART Receiver interrupt service routine interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data;
status=UCSRA;
data=UDR; // UDR = usart data register
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) {
r x_buffer [r x_wr _index]=data;
{
r x_counter =0;
r x_buffer _overflow=1;
};
//hal yang dimulai pembacaan perimaan serial - karakter string(ascii)
if(data=='1'){ // jika ketemu 1 sistem akan membalas sms
sms_otomatis("at+cmgs=083856724256"," *** SMS GATEWAY *** "); //fungsi yang saya buat sendiri
}
}; }
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer #define _ALTERNATE_GETCHAR_
data=r x_buffer [r x_r d_index];
if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
# asm("cli")
void sms_otomatis(char flash *fmtstr1, char flash *fmtstr2){
lcd=0;
lcd_gotoxy(0,0);lcd_putsf("proses sending..");delay_ms(1000); //kirim nilai rentang indeks monoksida pake sms
putchar(13);
printf("Kondisi Kualitas Udara = Sedang"); putchar (13);
}
else if (sppm<200){
printf("Kondisi Kualitas Udara = Tidak Sehat"); putchar(13);
}
else if (sppm<300){
printf("Kondisi Kualitas Udara = Sangat Tidak Sehat"); putchar (13);
} else {
printf("Kondisi Kualitas Udara = Bahaya"); putchar (13);
Potongan code diatas adalah fungi untuk menerima dan mengirim sms, jika ada sms masuk=1 “ if(dat a=='1')” sistem lansung membalas ke pengguna.
void kalibrasi(void)
{
sensor = bacaNilaiSensorI2C(0xE0);
// proses menghitung indek = pembacaan sensor : skala (skala = sensor/data alat
sebenarnya)
if (sensor<350)
proses=(float)sensor/7; // 7 berasal dari perhitungan skala 350/50
else if (sensor<550)
proses=(float)sensor/5.5; // 5.5 berasal dari perhitungan skala 550/100
proses=(float) sensor/2.048; // 2.048 berasal dari perhitungan skala 1024/500
sppm =(float) proses;
}
Potongan source code diatas menjelaskan tentang kalibrasi sensor dari data yang dihasilkan oleh sensor diolah menjadi rentang Indek
return sensor;
}
Code diatas adalah perintah untuk membaca sensor, kemudian diolah dan menjadi input untuk diolah mikrokontroler.
if (!pba) {
Code diatas adalah perintah untuk Push Butoon, jika pba di tekan LCD akan mati, jika pbb di tekan akan mengirim sms konndisi kualitas udara ke pengguna.
lcd_gotoxy(0,0);lcd_putsf("hapus pesan_2 ok"); delay_ms(200);
putchar (0x0D);/ / ENTER
while(getchar()!=0x0A){}; while(getchar ()!=0x0A){};
delay_ms(200);
lcd_gotoxy(0,0);lcd_putsf("hapus pesan_3 ok");
delay_ms(200);
Code diatas adalah perintah untuk menghapus pesan setelah menerima sms masuk dari pengguna.
void sms_manual(void){ lcd=0;
lcd_gotoxy(0,0);lcd_putsf("proses sending..");delay_ms(1000); //kirim nilai r entangindeks monoksida pake sms
printf("AT+CMGF=1"); //MERUBAH MENCADI TULISAN TEXT SMS delay_ms(1000);
putchar(13);
pr intf("at+cmgs=083856724256");
delay_ms(1000);
putchar (13);
Potongan code diatas adalah fungi untuk mengirim sms dengan menekan pbb , pada saat rentang indeks 0-50 sistem akan memberikan staus baik, pada saat rentang indeks 51-100 sistem akan memberikan staus sedang, pada saat rentang indeks 101-199 sistem akan memberikan staus tidak sehat, pada saat rentang indeks 200-299 sistem akan memberikan staus sangat tidak sehat dan pada saat rentang indeks 300-500 sistem akan memberikan staus bahaya
{
lcd_gotoxy(0,1);
spr intf(tampilkan,"Ind:%3.0f",sppm);
lcd_puts(tampilkan); " PBb - krm m anual" ,"Ind:%3.0f" dan kondisi kualitas udara ke LCD.
4.2 Uji Coba dan Analisis
Pada uji coba dan analisis akan dibahas mengenai pengujian dan analisis pada hardware yang telah dirancang. Tujuan dari pengujian dan analisis ini adalah untuk mengetahui apakah hardware tersebut telah berfungsi dengan benar dan sesuai rancangan atau tidak. Pengujian dan analisis ini ditujukan pada pengujian komponen-komponen yang terdapat pada sistem serta pengujian simulasi alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway.
4.2.1 Pengujian Alat
Berikut ini adalah pengujian alat atau komponen yang terdapat pada alat
pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway.
4.2.1.1 Pengujian USB ASP dan SinProg
Pada bagian ini merupakan gambaran koneksi software dengan hardware menggunakan alat bantu downloader USB ASP, agar nantinya program bisa masuk antara komputer dengan hardware Atmega32. Untuk uji coba ASP ini digunakan untuk mentransfer program dari aplikasi CodeVision AVR ke mikrokontroler menggunakan SinProg. Untuk melakukan transfer menggunakan
downloader dan semua alat termasuk mikrokontroler harus dalam keadaan ON.
a. Hubungkan kabel USB ISP dari mikrokontroler ke Leptop, lalu nyalakan mikrokontroler dan keadaan alat dalam posisi ON.
Gambar 4.7 Koneksi USB ISP
b. Kemudian buka aplikasi CodeVisionAVR setelah pengetikan listing program selesai adalah proses compile, yaitu proses pengecekan adanya error pada listing program yang telah dibuat, jika tidak terdapat error seperti pada Gambar 4.8 listing program dapat disimpan.
c. kemudian buka aplikasi SinProg untukk mendownload file .hex, di tampilkan seperti Gambar di bawah.
Gambar 4.9 aplikasi SinProg
d. Lanjtukan dengan memasukan file .hex yang akan di download ke mikrokontroler ditampilkan seperti pada Gambar 5.1.
e. Setelah selesai memasukan file .hex dilanjutkan degan flash program untuk di download ke mikrokontroler.
Gambar 4.11 Memilih flash program
f. Proses download program selesai.
4.2.1.2 Pengujian Mikrokontroler Atmega32
Untuk menguji mikrokontroler Atmega32 yang telah berisi sebuah
program dengan meletakkan Atmega32 tersebut pada socket yang telah dipasang
pada PCB. Setelah itu, mikrokontroler Atmega32 diberi tegangan pada hardware
sederhana sebesar 5 Volt. Setelah diberi tegangan, mikrokontroler Atmega32
dapat bekerja sesuai dengan perintah-perintah pada program dan dapat dijalankan
untuk proses alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida
(CO) menggunakan mikrokontroler atmega32 dan SMS gateway.
Gambar 4.13 Mikrokontroler Atmega32
4.2.1.3 Pengujian Modem Wavecom tipe M1306b
Uji coba pada Modem Wavecom tipe M1306b ini menggunakan aplikasi
Hyperterminal pada Windows 7 yang berfungsi sebagai uji coba AT Command
a. Pertama sambungkan Modem dengan Leptop dengan kabel db9 to usb, sebagai kominikasi modem dengan aplikasi Hyperterminal.
Gambar 4.14 Mikrokontroler Atmega32
b. Buka Aplikasi Hyperterminal,
Gambar 4.15 Aplikasi Hyperterminal
Kemudian isikan nama dan gambar icon yang mudah di ingat dan tekan
OK.
Gambar 4.16 Aplikasi Hyperterminal
d. Langkah yang ketiga adalah ubah port setting baudratenya menjadi 9600.
Gambar 4.17 Aplikasi Hyperterminal
e. Langakh terakhir yaitu setelah muncul jendela COM_1 Hyperterminal
Gambar 4.18 Aplikasi Hyperterminal
f. kemudian lakukan ujicoba menggunakan modem. Ketikkan perintah AT dan Apabila modem sudah ready maka akan membalas OK yang kita ketikkan tadi.
4.2.2 Uji coba Simulasi alat pengukur dan pengirim kualitas udara dari gas
karbonmonoksida (CO) berbasis mikrokontroler dan SMS gateway
Dalam proses berhasil atau tidaknya suatu simulasi dibutuhkan uji coba cara menguji dilakukan dengan cara membandingkan alat pengukur dan pengirim kualitas udara dengan alat monitoring gas milik pemerintah (ISPU )dan juga akan dilakukan uji coba ketika pengguna ingin mengetahui informasi kondisi kualitas udara tersebut melalui sms. Uji coba ini dibuat guna mengetahui sejauh mana simulasi berjalan seperti yang diharapkan.
4.2.2.1 Uji Coba Sensor MQ-7
Untuk pengujian Simulasi pada alat pengukur dan pengirim kualitas udara
dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini memiliki inisialisasi setting pada Sensor MQ-7 untuk mengetahui batas rentang indeks dan mengetahui kondisi kualitas udara. Pengujian ini dilakukan dengan cara membandingkan alat pengukur dan pengirim
kualitas udara dengan alat monitoring gas milik pemerintah (ISPU) yang telah terpasang di Bundaran Satelit arah ke Jl. Mayjen Sungkono Surabaya.
Gambar 4.20 Tampilan LCD pada alat
alat pengukur dan pengirim kualitas udara menampilkan rentang indeks 75
Gambar 4.21 Papan display ISPU di Jl. Mayjen Sungkono, Surabaya
Pada alat monitoring gas milik pemerintah gambar 4.21 yang telah
terpasang di Bundaran Satelit arah ke Jl. Mayjen Sungkono Surabaya
menampilkan rentang indeks 75 dan kondisi dinyatakan sedang. Adapun kategori kondisi kualitas udara ISPU seperti table di Tabel 4.1.
Tabel 4.1 ISPU
No Kategori kondisi kualitas udara Rentang Indeks
1 baik 0-50
2 sedang 51-100
3 tidak sehat 101-199
4 sangat tidak sehat 200-299
5 berbahaya 300-500
(Sumber : ISPU - Badan Pengendalian Dampak Lingkungan )
4.2.2.2 Uji Coba SMS Gateway
Pada pengujian SMS Gateway ini dilakukan untuk mengetahui tingkat akurasi pengiriman data apakah pesan sms yang diterima sama dengan yang ditampilkan pada LCD. Gamba Tampilan Proses sending rentang indeks kualitas udara pada LCD dapat dilihat pada gambar 4.22.
Gambar 4.22 Tampilan Proses sending rentang indeks kualitas udara pada LCD
Pada saat pengguna meminta informasi rentang indeks kondisi kualitas udara, saat itu proses pengiriman pada LCD menanmpilkan rentang indeks 46 dan kondisi dinyatakan baik yang akan di kirimkan ke pengguna. Gambar Tampilan SMS pada HP dapat dilihat pada gambar 4.23.
Gambar 4.23 Tampilan SMS pada HP