ALAT PENGUKUR DAN PENGIRIM KUALITAS UDARA DARI GAS KARBONMONOKSIDA (CO) MENGGUNAKAN MIKROKONTROLER ATMEGA32 DAN SMS GATEWAY.

(1)

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

2013


(2)

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


(3)

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

semua doa, dukungan serta harapan-harapanya pada saat saya menyelesaikan tugas akhir dan laporan ini. Yang penulis minta hanya


(4)

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


(5)

iv

DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... ii

DAFTAR ISI... iv

DAFTAR GAMBAR ... vi

DAFTAR TABEL ... viii

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


(6)

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 PUSTAKA ... ix LAMPIRAN


(7)

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


(8)

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


(9)

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


(10)

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), dimana pada tugas akhir tersebut hasilnya hanya dapat diketahui dimana alat itu


(11)

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


(12)

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).

b. Memberikan kemudahan kepada pengguna untuk mengetahui kualitas udara dengan sms dan tanpa harus melihat langsung pada alat tersebut.


(13)

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)

Kualitas udara disampaikan ke masyarakat dalam bentuk indeks standar pencemar udara atau disingkat ISPU. ISPU adalah laporan kualitas udara kepada masyarakat untuk menerangkan seberapa bersih atau tercemarnya kualitas udara kita dan bagaimana dampaknya terhadap kesehatan kita setelah menghirup udara tersebut selama beberapa jam atau hari. Penetapan ISPU ini mempertimbangkan tingkat mutu udara terhadap kesehatan manusia, hewan, tumbuhan, bangunan, dan nilai estetika. Berdasarkan Keputusan Badan Pengendalian Dampak Lingkungan (Bapedal) Nomor KEP-107/Kabapedal/11/1997, penyampaian ISPU kepada


(14)

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.

b. Kategori Sedang, Rentang 51 – 100, Tingkat kualitas udara yang tidak berpengaruh pada kesehatan manusia ataupun hewan tetapi berpengaruh pada tumbuhan yang sensitive dan nilai estetika


(15)

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)

Konsentrasi gas CO sampai dengan 100 ppm masih dianggap aman kalau waktu kontak hanya sebentar. Gas CO sebanyak 30 ppm apabila dihisap manusia selama


(16)

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

Landasan teori adalah teori-teori dasar yang biasa digunakan sebagai landasan pembuatan Aplikasi Tugas akhir.


(17)

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.

AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan mikrokontroler AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitektur CISC (Complex Intruction Set Compute) dimana mikrokontroler MCS51 membutuhkan 12 siklus clock untuk mengeksekusi 1 intruksi. Selain itu, mikrokontroler AVR memiliki fitur yang lengkap (ADC Internal, EEPROM Internal, Timer/Counter, Watchdog Timer, PWM, Port I/O,


(18)

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)

tergantung compiler yang digunakan. Bahasa Assembler mikrokontroler AVR memiliki kesamaan intruksi, sehingga jika pemrograman satu jenis mikrokontroler AVR sudah dikuasai, maka akan dengan mudah menguasai pemrograman keseluruhan mikrokontroler jenis AVR, namun bahasa assembler relative lebih sulit dipelajari dari pada bahasa C, untuk pembuatan suatu proyek yang besar akan memakan waktu yang lama, serta penulisan programnya akan panjang. Sedangkan Bahasa C memiliki keunggulan disbanding bahasa assembler yaitu independent terhadap hardware serta lebih mudah untuk menangani project yang besar. Bahasa


(19)

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.

ATmega32 adalah mikrokontroller CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATmega32 mempunyai throughput mendekati 16 MIPS per MHz membuat disainer sistem untuk mengoptimasi komsumsi daya versus kecepatan proses.


(20)

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


(21)

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)


(22)

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

display LED secara langsung. Data Direction Register port C (DDRC) harus disetting terlebih dahulu sebelum Port C digunakan. Bit-bit DDRC diisi 0 jika ingin memfungsikan pin-pin port C yang bersesuaian sebagai input, atau diisi 1 jika sebagai output. Selain itu, dua pin port C (PC6 dan PC7) juga memiliki fungsi alternative sebagai oscillator untuk timer/counter.


(23)

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


(24)

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


(25)

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

Sensor adalah suatu piranti yang mengubah suatu besaran (Isyarat/energi) fisik menjadi besaran fisik lain, yang dalam hal ini pengubahan ke bentuk besaran


(26)

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.

DT-SENSE CARBON MONOOXIDE SENSOR didesain menggunakan komponen SMD berkualitas agar dapat digunakan pada aplikasi yang memerlukan performa handal serta kebutuhan space yang minimal. Pada sisi antarmuka, tersedia dua buah pilihan untukuser yaitu UART TTL dengan baud rate 38400 bps atau I2C yang memungkinkan modul untuk di-cascade hingga 8 buah.


(27)

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)


(28)

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)


(29)

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.

c. Ukuran dari modul yang proporsional. d. Penggunaan daya yang kecil


(30)

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


(31)

Gambar 2.10 Komunikasi Sinkron

Pengiriman data secara sinkron jauh lebih efisien. Pesan yang dikirim dibentuk dalam blok-blok. Masing-masing blok terdiri dari sebuah karakter yang berurutan. Bit start dan stop pada masing-masing karakter tidak diperlukan. Masing-masing blok disinkronkan sebagai suatu kesatuan dari pada karakter demi karakter. Pengecekan error juga dilakukan pada seluruh blok sekaligus. Pada sistem sinkron, terdapat dua tingkat yang perlu disinkronisasi. Pertama, clock bit penggeser pada penerima harus sinkron dengan waktu bit yang diterima untuk penyamaan proses sampling sinyal input serial. Kedua, kecepatan pengiriman karakter harus ditetapkan. Sinyal clock dapat dikirim dari pengirim ke penerima dengan sinyal data secara paralel, yang dapat digunakan untuk memberi clock pada shift register penerima secara langsung. Metode ini praktis ketika dua teminal cukup tertutup secara fisik. Pada waktu tertentu, komuniukasi sinkron sering digunakan antara sebuah terminal (DTE) dan modem sinkron (DCE). Ketika tidak memungkinkan untuk mengirim sebuah sinyal clock yang terpisah dari pengirim ke penerima. Penerima harus memiliki rangkaian yang dapat mengekstrak waktu bit dari sinyal data pertama mereka sendiri. Peningkatan ini yang menyebabkan harga sistem sinkron lebih mahal dari pada sistem asinkron. Rangkaian sinkron dibuat menggunakan PLL. Sebuah pencocok kode biner khusus yang sering digunakan pada sinyal data, untuk memastikan tegangan pengiriman data ke penerima dan untuk mempertahankan sinkronisasi. Untuk


(32)

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:


(33)

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

IC MAX 232 mempunyai 16 kaki dengan supply tegangan sebesar 5 volt. kaki ke-16 digunakan sebagai input tegangan (Vcc), kaki ke-15 sebagai Ground (GND). Kaki 8 dan 13 digunakan sebagai input RS-232, sedangkan kaki 7 dan 14 sebagai output RS-232. RS-232 merupakan suatu interface yang digunakan untuk menghubungkan antara terminal data dari suatu peralatan dan peralatan komunikasi data yang menjalankan pertukaran data biner secara serial.


(34)

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.


(35)

Tabel 2.4 Fungsi masing-masing pin DB9

Sinyal-sinyal tersebut ada yang menuju ke DCE ada pula yang berasal dari DCE. Bagi sinyal yang menuju ke DCE artinya DTE berfungsi sebagai output dan DCE berfungsi sebagai input, misalnya sinyal TD, pada sisi DTE kaki TD adalah output, dan kaki ini dihubungkan ke kaki TD pada DCE yang berfungsi sebagai input. Kebalikan sinyal TD adalah RD, sinyal ini berasal dari DCE dan dihubungkan ke kaki RD pada DTE yang berfungsi sebagai output. Untuk dapat menggunakan port serial, perlu diketahui alamatnya. Biasanya tersedia dua port serial yaitu COM1 dan COM2. Base address COM1 biasanya adalah 1016 (3F8H) dan COM2 biasanya 760 (2F8H). Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer yang digunakan.


(36)

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 :

a. Meminta informasi dari hp (handphone) ke sistem database. b. Memberikan informasi dari hp (handphone) ke sistem database.


(37)

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


(38)

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).

b. Fasilitas yang disediakan lengkap (mengedit program, mengompile program, mendownload program) serta tampilanya yang terlihat menarik dan mudah dimengerti. Kita dapat mengatur settingan editor sedemikian rupa sehingga membantu memudahkan kita dalam penulisan program.


(39)

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:


(40)

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

Bahasa pemrograman c merupakan bahasa pemrograman tingkat tinggi satu bahasa pemrograman komputer, itu dikarenakan bahasa c dapat dimengerti dan dipelajari dengan mudah karena kedekatanya dengan bahasa manusia. Tapi banyak orang juga mengatakan bahwa bahasa c adalah medium level progamming language karena bahasa c juga dapat digunakan untuk memasukkan program ke mesin. Bahasa C dirancang oleh Dennis M. Ritchie pada tahun 1972 di AT&T


(41)

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

a. Fleksibel Bahasa Pengguna Program (ULPS) mengaktifkan fitur kustom, seperti urutan individu instruksi, simulasi , data ekspor dan impor


(42)

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

c. Mac OS X versi 10.6 atau 10.7 untuk komputer Intel. Dukungan untuk 10,8 sedang dikerjakan.


(43)

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

Berdasarkan latar belakang dan perumusan masalah yang terdapat dalam bab sebelumnya dapat diketahui perancangan yang dilakukan adalah membuat alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway. Perancangan yang diterapkan dengan menggunakan teknologi Mikrokontroler dan didukung dengan SMS Gateway pada penelitian ini dirancang untuk mampu menghitung dan menentukan kualitas udara secara otomatis, kemudian hasilnya dikirimkan via sms ke pengguna sehingga akses informasi kualitas udara dapat dilakukan dimana saja dan kapan saja tanpa tergantung pada jarak dan waktu.


(44)

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 No Kategori kondisi kualitas

udara

Maksimal Pembacaan

sensor

Maksimal Alat sebenarnya

skala

1 baik 350 50 1 : 7

2 sedang 550 100 1 : 5.5

3 tidak sehat 650 199 1 : 3.27

4 sangat tidak sehat 750 299 1 : 2.51


(45)

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

Pada sub-bab ini akan dijelaskan tentang perancangan pembuatan alat dimulai dari awal pembuatan rancangan sampai pada simulasi. Pembuatan alat ini dimulai dari kebutuhan perangkat keras dan perangkat lunak yang digunakan.


(46)

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


(47)

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

Dalam perancangan sistem diperlukan alur suatu proses yang sistematis dan terarah sehingga dapat terencana dengan baik. Dalam sistem ini


(48)

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

Mikrokontroler tipe ATMega32 diatas terdapat beberapa port yang digunakan untuk menghubungkan dengan perangkat keras lainnya agar dapat membentuk suatu sistem pengkur dan pengirim kualitas udara yang dibuat saat ini.


(49)

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


(50)

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.

Seperti yang dijelaskan sebelumnya bahwa alat ini akan mengirim pesan sms apabila terjadi intruksi. Pengiriman sms yang terjadi ini akan berualang apabila ada sms masuk dan kondisi kualitas udara yang dikirim adalah kondisi pada saat itu atau kondisi pada saat alat menerima sms dari pengguna, dengan kata lain kondisi yang ditampilakan di LCD adalah kondisi yang sama yang akan dikirimkan ke pengguna.


(51)

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

Untuk pembuatan perangkat lunak simulasi alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini dibutuhkan suatu alat yang berguna sebagai penunjang peraga simulasi yang telah dibuat agar dapat mengetahui cara kerja sistem secara keseluruhan dan untuk memastikan apakah sistem telah berjalan sesuai perancangan, agar hardware dapat bekerja harus terhubung dengan rangkaian mikrokontroler Atmega32 dan komputer. Mikrokontroler Atmega32


(52)

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

Untuk Gambar 4.1 yaitu rangkaian mikrokontroler ATmega32 tersebut terdapat rangkaian yang menyangkut perangkat kerasnya. Rangkaian mikrokontroler, pada rangkaian mikrokontroler ini yang digunakan adalah tipe


(53)

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

Adanya asap mengakibatkan perubahan nilai resistansi pada sensor sedemikian sehingga menghasilkan perubahan nilai tegangan output pada sensor. Nilai tegangan output pada sensor tersebut diproses oleh rangkaian pengondisi sinyal (RPS) kemudian diumpankan ke A/D untuk diubah kedalam sinyal digital. Sinyal digital yang sudah didapat kemudian diproses mikrokontroler untuk


(54)

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.


(55)

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.

Pembuatan miniatur ini menggunakan bahan dasar yaitu akrilik yang di desain dengan bentuk box dengan panjang 13cm, lebar 10.5cm dan tinggi 7cm.


(56)

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


(57)

#include <mega32.h> #include <i2c.h> #include <delay.h> #include <lcd.h> #include <stdio.h> //initialitation variabel unsigned int sensor;

unsigned char tampilkan[20]; unsigned char waktu;

float sppm; float proses;

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

// Declare your global variables here #define lcd PORTC.3

#define pbb PINB.0 #define pba PINB.1

#define lcd_murup PORTC.3=0

/ / ===================inter r uptser vicer outine========================/ /

#ifndef RXB8 #define RXB8 1

# endif

#ifndef TXB8 #define TXB8 0

# endif

#ifndef UPE #define UPE 2


(58)

# endif

#ifndef DOR #define DOR 3

# endif

#ifndef FE #define FE 4

# endif

#ifndef UDRE #define UDRE 5

# endif

#ifndef RXC #define RXC 7

# endif

#define FRAMING_ERROR (1<<FE) #define PARITY_ERROR (1<<UPE) #define DATA_OVERRUN (1<<DOR)

#define DATA_REGISTER_EMPTY (1<<UDRE) #define RX_COMPLETE (1<<RXC)

void main(void)

{

// 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

PORTD=0x00; DDRD=0x00;


(59)

// 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; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=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


(60)

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity // USART Receiver: On

// USART Transmitter: On // USART Mode: Asynchronous // USART Baud Rate: 9600

UCSRA=0x00; UCSRB=0x98; UCSRC=0x86; UBRRH=0x00; UBRRL=0x47;

// 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();

Potongan source code diatas menjelaskan tentang input LCD yaitu “KUALITAS UDARA”, " TUGAS AKHIR " yang nantinya akan ditampilak di LCD


(61)

void sms_init(void){ //awal tes

printf("ATE0"); //set command tanpa echo putchar(0x0D); //ENTER

while(getchar()!='K'){}; //menunggu OK

while(getchar()!=0x0A){}; //menunggu new line delay_ms(500);

}

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;

if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE)


(62)

{

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_

#pragma used+ char getchar (void) {

char data;

while (rx_counter==0);

data=r x_buffer [r x_r d_index];

if (++rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;

# asm("cli") --r x_counter ; # asm("sei")

return data;

}

#pragma used -# endif

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); pr intf("at");

delay_ms(1000);

putchar(13);

printf("AT+CMGF=1"); //MERUBAH MENCADI TULISAN TEXT SMS delay_ms(1000);

putchar(13);

pr intf(fmtstr 1);

delay_ms(1000);

putchar (13);

//ISI KONDISI CO BAIK DAN BURUK


(63)

putchar(13);

if (sppm<50){

printf("Kondisi Kualitas Udara = Baik"); putchar(13);

}

else if (sppm<100){

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);

}

pr intf(fmtstr 2);

putchar(13); putchar(26); delay_ms(5000);

lcd_gotoxy(0,1);lcd_putsf("selesai - cek hp");delay_ms(3000);

lcd=1; hapus_pesan();

}

Potongan code diatas adalah fungi untuk menerima dan mengirim sms, jika ada sms masuk=1 “ if(dat a=='1')” sistem lansung membalas ke pengguna.

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


(64)

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

else if (sensor<650)

pr oses=(float)sensor/3.25; // 3.27 berasal dari perhitungan skala 650/200

else if (sensor<750)

proses=(float)sensor/2.5; // 2.51 berasal dari perhitungan skala 750/300

else

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

unsigned int bacaNilaiSensorI2C(unsigned char alamatI2C) { unsigned int sensor;

i2c_start(); // Start Condition i2c_write(alamatI2C); // Tulis ke modul i2c_write(0x41); // Perintah “Read Sensor” i2c_stop(); // Stop Condition

delay_us(10); // delay 10 us

i2c_start(); // Start Condition

i2c_write(alamatI2C|0x01); // Baca ke modul temp1 = i2c_read(1); // Data Sensor MSB temp2 = i2c_read(0); // Data Sensor LSB

sensor = (temp1*256)+temp2; // perhitungan Data Sensor i2c_stop(); // Stop Condition


(65)

return sensor;

}

Code diatas adalah perintah untuk membaca sensor, kemudian diolah dan menjadi input untuk diolah mikrokontroler.

if (!pba) { lcd=~ lcd;

delay_ms(200);

}

if (!pbb) sms_manual(); };

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.

void hapus_pesan(void){

lcd_gotoxy(0,0);lcd_putsf("hapus pesan ");

lcd_gotoxy(0,1);lcd_putsf("tunggu yaa,., "); delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_1 "); printf("AT+CMGD=1");

putchar (0x0D);/ / ENTER

while(getchar()!=0x0A){}; while(getchar()!=0x0A){}; delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_1 ok"); delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_2 "); printf("AT+CMGD=2");

putchar (0x0D);/ / ENTER

while(getchar()!=0x0A){}; while(getchar ()!=0x0A){};

delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_2 ok"); delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_3 "); printf("AT+CMGD=3");


(66)

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);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_4 "); printf("AT+CMGD=4");

putchar (0x0D);/ / ENTER

while(getchar()!=0x0A){}; while(getchar ()!=0x0A){};

delay_ms(200);

lcd_gotoxy(0,0);lcd_putsf("hapus pesan_4 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

putchar(13); pr intf("at");

delay_ms(1000);

putchar(13);

printf("AT+CMGF=1"); //MERUBAH MENCADI TULISAN TEXT SMS delay_ms(1000); putchar(13); pr intf("at+cmgs=083856724256"); delay_ms(1000); putchar (13);

//ISI KONDISI CO BAIK DAN BURUK

pr intf("Indeks Karbonmonoksida %4d \n ",sppm);

putchar(13);

if (sppm<50){

printf("Kondisi Kualitas Udara = Baik"); putchar(13);

}

else if (sppm<100){


(67)

putchar (13);

} else {

printf("Kondisi Kualitas Udara = Buruk"); putchar (13);

}

putchar(26); delay_ms(5000);

lcd_gotoxy(0,1);lcd_putsf("selesai - cek hp");delay_ms(3000);

lcd=1;

hapus_pesan();

}

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

void info(void){ waktu++; delay_ms(20); if (waktu<=120){ lcd_gotoxy(0,0);

lcd_putsf("PBa - tes button");

} else {

lcd_gotoxy(0,0);

lcd_putsf("PBb - krm manual");

}

}


(68)

{ lcd_gotoxy(0,1); spr intf(tampilkan,"Ind:%3.0f",sppm); lcd_puts(tampilkan); delay_ms(50); if (sppm<50) { lcd_gotoxy(7,1);

lcd_puts("|baik "); }

else if (sppm<100) {

lcd_gotoxy(7,1);

lcd_puts("|sedang "); }

else if (sppm<200) {

lcd_gotoxy(7,1);

lcd_puts("|T.sehat "); }

else if (sppm<300) {

lcd_gotoxy(7,1);

lcd_puts("|S.T.Shat "); }

else {

lcd_gotoxy(7,1);

lcd_puts("|bahaya "); }

}

Code diatas adalah perintah untuk menampilkan info " PBa - t es but t on" , " PBb - krm m anual" ,"Ind:%3.0f" dan kondisi kualitas udara ke LCD.

jika rentang indeks 0-50 sistem akan menampilkan staus baik , jika rentang indeks 51-100 sistem akan menampilkan staus sedang, jika rentang indeks 101-199 sistem akan menampilkan staus tidak sehat, jika 200-299 sistem akan menampilkan staus sangat tidak sehat dan jika indeks 300-500 sistem akan menampilkan staus bahaya ke LCD


(1)

70

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

. Dan pengujiannya pengguna mengirimkan SMS dan menerima balasan SMS yang sama pada LCD.


(2)

4.2.3 Analisis Alat Secara Keseluruhan

Dari pengujian alat secara keseluruhan untuk mendapatkan hasil dan data-data secara keseluruhan dari awal rangkaian alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini sampai bekerjanya semua perangkat pada saat sistem tersebut dijalankan. Pengujian alat secara keseluruhan dapat dilakukan dengan adanya program yang telah tersimpan pada mikrokontroler Dengan menjalankan program sesuai dengan fungsinya, maka sistem dapat berjalan sesuai dengan harapan.

4.2.3.1 Analisis Pengujian Sensor

Untuk mengetahui hasil dari percobaan pengujian Simulasi pada alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini dilakukan dengan membandingkan antara ISPU dengan alat pengukur dan pengirim kualitas udara. Dapat dilihat pada table 4.2.

Tabel 4.2 Hasil Pengujian Sensor Gas

Uji Pendeteksi

Display ISPU Display Alat

1 75 73

2 75 73

3 75 78

4 75 86

5 75 86

6 75 98

7 75 98

8 75 98

9 75 110

10 75 115

11 75 115

12 75 115


(3)

72

14 75 91

15 75 91

16 75 90

17 75 84

18 75 83

19 75 83

20 75 76

21 75 75

22 75 75

23 75 70

24 75 73

25 75 82

26 75 88

28 75 115

29 75 120

30 75 120

Dari hasil perbandingan antara ISPU dengan alat pengukur dan pengirim kualitas udara adapun persentase error sulit untuk ditentukan karena perbedaaan waktu pengambilan data dimana data ISPU tiap 24 jam, sementara alat TA mengambil data tiap detik

4.2.3.1 Analisis Pengujian SMS Gateway

Pada Analisis pengujian SMS Gateway ini dilakukan untuk mengetahui hasil tingkat akurasi pengiriman data apakah pesan sms yang diterima sama dengan yang ditampilkan pada LCD. tabel Hasil pengujian SMS Gateway dapat dilihat pada tabel 4.3.

Tabel 4.3 Hasil Pengujian SMS Gateway

Proses SMS Display Alat SMS diterima

1 60 Sesuai dengan Display alat

2 75 Sesuai dengan Display alat

3 130 Sesuai dengan Display alat

4 280 Sesuai dengan Display alat

5 450 Sesuai dengan Display alat

Dari hasil table di atas menunjukan bahwa hasil tingkat akurasi pengiriman SMS ke pengguna sangat sesuai dengan display alat.


(4)

73

BAB V

PENUTUP

Setelah melalui berbagai percobaan, dan perbaikan kesalahan, pada akhirnya laporan Tugas Akhir ini dapat berjalan dengan baik.

5.1 Kesimpulan

Setelah dilakukan uji coba dari alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini, maka dapat diambil kesimpulan :

a. Dalam pembuatan tugas akhir ini dibuat suatu alat pengukur kulitas udara yang berfungsi menghitung dan menentukan kualitas udara secara otomatis, kemudian hasilnya dikirimkan via sms sehingga akses informasi kualitas udara dapat dilakukan oleh pengguna dimana saja dan kapan saja tanpa tergantung pada jarak dan waktu.

b. Dalam sistem kerja alat ini digunankan sensor asap MQ-7 sebagai inputan kadar asap yang nantinya akan diolah dalam mikrokontroler dan ditampilkan dalam bentuk rentang indeks.

c. Mikrokontroler akan mengolah setiap data yang diterima dari sms pengguna, kemudian akan dihasilkan output yang diinginkan, dalam hal ini pengguna menerima sms informasi kondisi kualitas udara.


(5)

74

5.2 Saran

Pada pembuatan alat pengukur dan pengirim kualitas udara dari gas karbonmonoksida (CO) menggunakan mikrokontroler atmega32 dan SMS gateway ini ini terdapat saran – saran yang terkait untuk pengembangan aplikasi lebih lanjut. Saran – saran tersebut antara lain :

a. Dalam pembuatan Alat Pengukur dan Pengirim Kualitas Udara ini dibutuhkan penyimpanan SMS yang masuk yang lebih besar lagi dalam bentuk Database storage.

b. Masih terdapat beberapa masalah dalam menangani error akibat lemahnya sinyal yang diterima oleh ponsel dan ketergantungan terhadap aliran listrik sangat tinggi sehingga apabila aliran listrik padam maka sistem tidak dapat berjalan


(6)

X

DAFTAR PUSTAKA

Agus Bejo, C & AVR, “Rahasia Kemudahan Bahasa C Dalam Mikrokontroler ATMega8535”, Yogyakarta, Indonesia: Graha Ilmu, 2008.

Bayu, Pengertian bahasa C, 2011, http://bayuzu.blogspot.com/2011/10/penge

rtianbahasa-pemrograman-c.html ) diakses pada tanggal 28 Maret 2013

Pukul 20.00.

Baskara , Sensor-MQ-7,

http://baskarapunya.blogspot.com/2013/05/mq-7-sensor-gas-co.html diakses pada tanggal 8 April 2013 Pukul 19.30.

Bony, M. Farid , 2011, Pendeteksi dan pengaman kebocoran gas berbasis mikrokontroler dan melalui sms segagai media informasi.

Heryanto, Ary dan Wisnu, Adi. 2008. “Pemrograman Bahasa C untuk Mikrokontroler ATMEGA8535”. Yogyakarta: Andi Offset

Rimantho, Dino, ISPU,

http://bushido02.wordpress.com/2007/11/15/ispu-indeks-standar-pencemaran-udara/ diakses pada tanggal 26 April 2013 Pukul

19.30.

Pramono , Adi, Codevision-avr, 2008, http://www.scribd.com/doc/7481334/cod

evi sion-avr diakses pada tanggal 8 April 2013 Pukul 21.00.

Prabu, Dampak gas CO,

http://putraprabu.wordpress.com/2008/12/29/dampak-karbon-monoksida-co-terhadap-kesehatan/diakses pada tanggal 11 April

2013 Pukul 2.

Rizki, Farli, 2011, Alat Pendeteksi Polusi Udara Dari Gas Karbonmonoksida (CO) pada Ruangan Berbasis Mikrokontroler AT89S51.

Wardhana, Lingga. 2006. “Belajar Sendiri Mikrokontroler AVR Ser ATMega8535 Simulasi, Hardware, dan Aplikasi”. Andi Offset, Yogyakarta.