Anda di halaman 1dari 55

ALAT UKUR KUALITAS UDARA MENGGUNAKAN SENSOR

GAS MQ 135 BERBASIS MIKROKONTROLLER ATMega16A

PROJECT AKHIR 1

MAULANA UBAIDILLAH
NIM : 122411005

PROGRAM STUDI D3 METROLOGI DAN INSTRUMENTASI


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2015

ALAT UKUR KUALITAS UDARA MENGGUNAKAN SENSOR


GAS MQ 135 BERBASIS MIKROKONTROLLER ATMega16A

PROJECT AKHIR 1

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Ahli Madya Jurusan
D3 Metrologi dan Instrumentasi Fakultas Matematika dan Ilmu Pengetahuan Alam

PROGRAM STUDI D3 METROLOGI DAN INSTRUMENTASI


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2015

PERSETUJUAN

Yang bertanda tangan di bawah ini, Dosen Pembimbing Projek Akhir 1 Menyatakan bahwa
Laporan projek akhir 1 :

Dengan judul:
ALAT UKUR KUALITAS UDARA MENGGUNAKAN SENSOR GAS MQ 135
BERBASIS MIKROKONTROLLER ATMega16A

Telah selesai diperiksa dan dinyatakan selesai, serta dapat diajukan dalam sidang pertanggung
jawaban laporan projek akhir 1.

Diluluskan di
Medan, 29 Januari 2015

Ketua Derpartemen
D3 Metrologi dan Instrumentasi

Dr. Diana Alemin Barus M.Sc


NIP. 19660729 199203 2 002

Dosen Pembimbing
Projek Akhir 1

Dr. Diana Alemin Barus M.Sc


NIP. 19660729 199203 2 002

PERNYATAAN

ALAT UKUR KUALITAS UDARA MENGGUNAKAN SENSOR GAS MQ 135


BERBASIS MIKROKONTROLLER ATMega16A

PROJECT AKHIR 1

Saya mengakui bahwa projek akhir 1 ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Februari 2015

MAULANA UBAIDILLAH
122411005

ii

PENGHARGAAN
Alhamdulillahirabbilalamiin,
Puji syukur Penulis panjatkan Kehadirat Allah SWT. Yang Maha Menguasai dan
Maha Menggerakkan hati serta anggota tubuh setiap makhluknya, sehingga Penulis dapat
menyelesaikan penulisan laporan Project Akhir 1 ini dan tidak lupa shalawat serta salam
Penulis panjatkan kepada junjunan Nabi Muhammad SAW yang kita harapkan syafaatnya di
akhirat kelak.
Laporan ini disusun sebagai salah satu syarat untuk menyelesaikan pendidikan
Diploma III pada program studi Metrologi dan Instrumentasi di Fakultas Matematika dan
Ilmu Pengetahuan Alam Universitas Sumatera Utara. Pada project akhir 1 ini Penulis
mengambil judul :
ALAT UKUR KUALITAS UDARA MENGGUNAKAN SENSOR GAS MQ 135
BERBASIS MIKROKONTROLLER ATMega16A

Penulis sangat menyadari keterbatasan yang dimiliki, karena terselesaikannya penyusunan


laporan ini tidak terlepas dari bantuan serta dukungan dari berbagai pihak kepada Penulis.
Untuk itu, izinkanlah Penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Kedua orang tua penulis dan serta saudara kandung yang telah memberikan dukungan,
bantuan moril maupun materil, semangat dan yang selalu mendoakan penulis.
2. Ibu Dr. Diana Alemin Barus, M.Sc, selaku Ketua Program Studi D-III Metrologi dan
Instrumentasi Fakultas Matematika Dan Ilmu Pengetahuan Alam serta telah menjadi
dosen pembimbing dalam penulisan laporan project 1 ini.
3. Bapak Dr. Sutarman, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan
Alam.
4. Bapak Dr. Marhaposan Situmorang, selaku Ketua Departeman Fisika Fakultas
Matematika Dan Ilmu Pengetahuan Alam.
5. Seluruh Dosen dan Pegawai Program Studi Diploma Tiga (III) Metrologi dan
Instrumentasi Departemen Fisika Fakultas Matematika dan Ilmu Pengetahuan Alam
Universitas Sumatera Utara.
6.

Seluruh teman-teman jurusan D3 Metrologi dan Instrumentasi angkatan 2012 yang telah
membantu dan memberikan dukungan untuk menyelesaikan laporan ini.

7.

Seluruh pihak yang membantu penulis dalam menyelesaikan laporan ini yang tidak dapat
disebutkan seluruhnya.
iii

Penulis menyadari sepenuhnya bahwa dalam pembuatan laporan ini masih jauh dari
kesempurnaan, untuk itu penulis mengharapkan kritik dan saran dari pembaca yang
bersifat membangun dalam penyempurnaan laporan ini.
Semoga laporan ini menjadi amal jariyah yang baik bagi penulis dan menjadi ilmu
yang bermanfaat bagi pembaca.
Amin Yaa Rabbalalamin

Medan, Februari 2015


Hormat Saya,

Penulis

iv

ABSTRAK

Polusi udara menjadi masalah penting yang dapat mengancam kehidupan manusia. Banyak
aktifitas-aktifitas manusia yang menyebabkan terjadinya polusi udara. Oleh sebab itu,
diperlukan suatu monitoring tingkat polusi udara untuk mengetahui indeks polusi udara di
kawasan tersebut dalam rangka mempertahankan kadar polutan

di bawah nilai ambang

batasnya. Untuk mengetahui kadar gas polutan dengan menggunakan sensor gas MQ-135
yang peka terhadap kualitas udara. Dan untuk tampilan indeks menggunakan LCD dan secara
software dengan komunikasi serial yang sebelumnya di proses oleh mikrokontroller. Sistem
ini diharapkan mampu memberikan solusi terhadap masalah pencemaran udara karena biaya
yang diperlukan terjangkau dibanding dengan alat dari badan lingkungan hidup. Project Akhir
1 ini dilakukan perancangan dan pembuatan alat monitoring polusi udara dengan sensor MQ135 diimplementasikan pada sebuah miniplant berbasis mikrokontroller.

Kata Kunci : Sensor gas MQ-135, Mikrokontroler ATMega16, LCD.

ABSTRACT

Air pollution is an important problem that can threaten human life. Many human activities
that cause air pollution. Therefore, we need a monitoring air pollution levels to determine the
index of air pollution in the region in order to maintain the levels of pollutants below the
threshold value. To determine levels of pollutant gases by using the MQ-135 gas sensors are
sensitive to air quality. And to the LCD display using the previous index in the process by the
microcontroller. The system is expected to provide a solution to the problem of air pollution
due to the cost of the required affordable compared by means of the environmental agency.
Final Project 1 is to design and manufacture of air pollution monitoring with sensor MQ-135
is implemented in a microcontroller-based miniplant.
Keyword: Gas Sensor MQ-135, Microcontroller ATMega16, LCD.

vi

DAFTAR ISI

PERSETUJUAN .............................................................................................................. i
PENYATAAN .................................................................................................................. ii
PENGHARGAAN ........................................................................................................... iii
ABSTRAK ........................................................................................................................ v
ABSTRACT ..................................................................................................................... vi
BAB 1 PENDAHULUAN ................................................................................................ 1
1.1 Latar Belakang ........................................................................................................... 1
1.2 Rumusan Masalah ...................................................................................................... 1
1.3 Tujuan Penulisan ........................................................................................................ 1
1.4 Batasan Masaalah ...................................................................................................... 2
1.5 Sistematika Penulisan ................................................................................................ 2
BAB 2 TINJAUAN PUSTAKA ...................................................................................... 4
2.1 Pencemaran Lingkungan ............................................................................................ 4
2.2 Sumber Daya Udara ................................................................................................... 5
2.3 Sensor Gas MQ-135 ................................................................................................... 6
2.3.1

Konektor dan Pengaturan Jumper ................................................................. 7

2.3.2

Prinsip Kerja Sensor Gas MQ-135 ............................................................... 7

2.4 Mikrokontroler ATMega 16 ...................................................................................... 9


2.4.1

Arsitektur ATMEGA16 ................................................................................ 10

2.4.2

Konfigurasi Pin ATMega 16 ........................................................................ 11

2.4.3

Sistem Clock AVR ATMega16 .................................................................... 11

2.4.4

Konfigurasi PIN ATmega16 ......................................................................... 12

2.4.5

Peta Memori ATMega16 .............................................................................. 13

2.4.6

Memori Data (SRAM) .................................................................................. 14

2.4.7

Memori Data EEPROM ............................................................................... 15

2.4.8

Analog To Digital Converter ........................................................................ 15

2.5 LCD (Liquid Crystal Display) ................................................................................... 17


2.5.1 Cara kerja LCD (Liquid Crystal Display) ........................................................ 18
2.6 Mode Transmisi Port Serial ...................................................................................... 19
2.7 Konfigurasi Port Serial ............................................................................................. 20
2.8 IC MAX232 .............................................................................................................. 21
2.9 Bahasa C ................................................................................................................... 22
vii

2.10 CodeVisionAVR ..................................................................................................... 23


BAB 3 PERANCANGAN SISTEM .............................................................................. 27
3.1 Diagram Blok Rangkaian ........................................................................................... 27
3.2 Rangkaian Mikrokontroler ATMega 16 .................................................................... 27
3.3 Perancangan Sensor Gas MQ-135 ............................................................................. 28
3.4 Pengaplikasian LCD .................................................................................................. 29
3.5 Flowchart Sensor ....................................................................................................... 30
BAB 4 ANALISIS DAN PENGUJIAN ........................................................................... 32
4.1 Pengujian Rangkaian Mikrokontroler ATMega16 .................................................... 32
4.2 Pengujian Sensor Gas MQ-135 ................................................................................ 33
4.3 Pengujian Rangkaian Liquid Crystal Display (LCD) 2x16 ....................................... 35
BAB 5 KESIMPULAN DAN SARAN ......................................................................... 36
5.1 Kesimpulan ................................................................................................................ 36
5.2 Saran .......................................................................................................................... 36
DAFTAR PUSTAKA
LAMPIRAN
Lampiran 1 : Program Mikrokontroller
Lampiran 2 : Foto Alat
Lampiran 3 : Tampilan GUI di komputer

viii

DAFTAR GAMBAR
Gambar 2.1 (a) Sensor MQ-135 dan (b) Skematik Sensor MQ-135 .............................. 3
Gambar 2.2 Cara Kerja Kendali ON/OFF Sensor Gas ................................................... 8
Gambar 2.3 Blok Diagram ATMega 16 ......................................................................... 11
Gambar 2.4 Pin-pin Pada ATMega 16 ............................................................................ 12
Gambar 2.5 Peta Memori ATMega16 ............................................................................ 14
Gambar 2.6 ADC Control and Status Register A ADCSRA ....................................... 15
Gambar 2.7 ADC Multiplexer ........................................................................................ 16
Gambar 2.8 Register SFIOR ........................................................................................... 16
Gambar 2.9 LCD (Liquid Crystal Display) .................................................................... 18
Gambar 2.10 Pengiriman huruf A tanpa bit paritas ........................................................ 20
Gambar 2.11 Port Serial .................................................................................................. 20
Gambar 2.12 Konfigurasi Pin IC MAX232 ..................................................................... 22
Gambar 2.13 Tampilan Layout Schematic Eagle 6.5.0 ................................................... 23
Gambar 2.14 CodeVisionAVR ....................................................................................... 25
Gambar 3.1 Diagram Blok Sistem .................................................................................. 27
Gambar 3.2 Rangkaian Keseluruhan Sistem Minimum ................................................. 27
Gambar 3.3 Rangkaian Mikrokontroler ATMega16 ...................................................... 28
Gambar 3.4 Rangkaian Sistim minimum dengan sensor Gas ......................................... 28
Gambar 3.5 Rangkaian skematik dari LCD ke Mikrokontroller .................................... 29
Gambar 3.6 Rangkaian skematik konektor yang dihubungkan dari LCD ...................... 29
Gambar 3.7 Flowchart Sensor ........................................................................................ 30
Gambar 4.1 Pengujian Mikrokontroler ........................................................................... 32

ix

DAFTAR TABEL

Tabel 2.1 Komposisi Udara Bersih ................................................................................. 5


Tabel 2.2 Udara Bersih dan Udara Tercemar Menurut WHO ......................................... 5
Tabel 2.2 Konektor dan Pengaturan Jumper ................................................................... 7
Tabel 2.3 Fungsi Khusus Port B ..................................................................................... 12
Tabel 2.4 Fungsi Khusus Port C ...................................................................................... 13
Tabel 2.5 Fungsi Khusus Port D ...................................................................................... 13
Tabel 2.6 Peta memory data ATMega 16 ....................................................................... 14
Tabel 2.7 Konfigurasi Clock ADC ................................................................................. 16
Tabel 2.8 Pemilihan sumber picu ADC .......................................................................... 17
Tabel 2.9 Deskripsi Pin Pada LCD ................................................................................ 18
Tabel 2.10 Konfigurasi Port Serial ................................................................................. 20
Tabel 2.11 Fungsi IC MAX232 ...................................................................................... 22
Tabel 3.1 Susunan Keterangan LED ............................................................................... 31
Tabel 4.1 Data Pendeteksian Gas CO2 di Udara ............................................................. 33
Tabel 4.2 Data Pendeteksian Asap Rokok ...................................................................... 33
Tabel 4.3 Data Pendeteksian Kertas yang dibakar ......................................................... 33

BAB I
PENDAHULUAN

1.1 Latar Belakang


Pencemaran

udara

dewasa

ini

semakin

menampakkan

kondisi

yang

sangat

memprihatinkan. Sumber pencemaran udara dapat berasal dari berbagai kegiatan antara lain
industri, transportasi, perkantoran, dan perumahan. Berbagai kegiatan tersebut merupakan
kontribusi terbesar dari pencemar udara yang dibuang ke udara bebas. Sumber pencemaran
udara juga dapat disebabkan oleh berbagai kegiatan alam, seperti kebakaran hutan, gunung
meletus, gas alam beracun, dan lain-lain. Dampak dari pencemaran udara tersebut adalah
menyebabkan penurunan kualitas udara, yang berdampak negatif terhadap kesehatan manusia.
Pertumbuhan pembangunan seperti industri, transportasi, dan lain-lain disamping
memberikan dampak positif namun disisi lain akan memberikan dampak negatif dimana salah
satunya berupa pencemaran udara dan kebisingan baik yang terjadi didalam ruangan (indoor)
maupun di luar ruangan (outdoor) yang dapat membahayakan kesehatan manusia dan
terjadinya penularan penyakit. Udara sendiri adalah salah satu kebutuhan manusia, selain
makanan, sandang, rumah, dan sebagainya. Udara sangat berpengaruh pada kesehatan
manusia, terutama udara di luar ruangan; kualitas udara yang buruk dapat menyebabkan
penyakit pada manusia. Kualitas udara yang buruk dapat ditemui di kawasan industri atau
jalan raya yang padat. Oleh karena itu, diperlukan kegiatan yaitu pengukuran kualitas udara.

1.2 Rumusan Masalah


Pada laporan project ini membahas tentang pendeteksian kadar udara yang terdiri sensor
gas MQ-135, Mikrokontroler ATMega 16 sebagai pengontrolnya beserta
pemrogramannnya,

LCD

software

sebagai display hasil pengukuran dan display GUI dengan

komputer.

1.3 Tujuan Penulisan


Penulisan laporan proyek ini adalah untuk :
1. Sebagai salah satu syarat untuk dapat menyelesaikan program Diploma Tiga (D-III)
Metrologi dan Instrumentasi FMIPA Universitas Sumatera Utara.
2. Pengembangan kreatifitas mahasiswa dalam bidang ilmu instrumentasi pengontrolan dan
elektronika sebagai bidang yang diketahui.

3. Merancang suatu alat pengukuran kualitas udara dan kemudian ditampilkan pada LCD
dengan menggunakan Mikrokontroler ATMega 16.
4. Penulis ingin memberikan penjelasan tentang penggunaan dan cara kerja alat ukur
kualitas udara menggunakan sensor gas MQ-135 yang Berbasis

Mikrokontroler

ATMega16.

1.4 Batasan Masalah


Dalam penulisan Laporan Project Akhir 1 ini, dibuat suatu batasan-batasan dengan maksud
memudahkan analisis yng dibutuhkan dalam rangka pemecahan masalah. Adapun batasannya
yaitu sebagai berikut :
1. Sensor gas MQ-135 hanya digunakan untuk mendeteksi kualitas udara.
2. Perancangan perangkat keras (hardware) yang terdiri dari mikrokontroler ATMega 16,
sensor gas MQ-135, dan LCD 16x2 karakter.
3. Bahasa pemrograman yang digunakan pada mikrokontroler adalah bahasa C.
4. Display atau penampil nilai data menggunakan LCD (liquid crystal display) dan GUI.
5. Mikrokontroler yang digunakan adalah ATMega 16.

1.5 Sistematika Penulisan


Dalam penyusunan Laporan Project Akhir 1 ini, pembahasan mengenai sistem alat yang
dibuat dibagi menjadi lima bab dengan sistematika sebagai berikut :

BAB I

: PENDAHULUAN
Berisi latar belakang permasalahan, batasan masalah, tujuan pembahasan, metodologi
pembahasan, sistematika penulisan dan relevansi dari penulisan laporan ini.

BAB II : TINJAUAN PUSTAKA


Dalam bab ini

dijelaskan tentang teori

pendukung

yang digunakan untuk

pembahasan dan cara kerja dari rangkaian teori pendukung itu antara

lain

tentang Mikrokontroler ATMega 16, sensor gas MQ-135 dan prinsip kerjanya,
software pendukung dan bahasa program yang digunakan.

BAB III : PERANCANGAN SISTEM


Membahas tentang perencanaan dan pembuatan sistem secara keseluruhan.

BAB IV : ANALISIS DAN PENGUJIAN


Membahas tentang uji coba alat yang telah dibuat, pengoperasian dan spesifikasi alat
dan lain-lain.

BAB V : PENUTUP
KESIMPULAN DAN SARAN
Berisi kesimpulan yang diperoleh dari pembuatan laporan project akhir 1 ini dan
saran-saran untuk pengembangannya.

DAFTAR PUSTAKA
Pada bagian ini akan dipaparkan tentang sumber-sumber literatur yang digunakan
dalam pembutan laporan project akhir 1 ini.

BAB II
TINJAUAN PUSTAKA

2.1 Pencemaran Lingkungan


Pencemaran lingkungan merupakan masalah yang sangat serius bagi seluruh penduduk di
dunia. Karena, banyak dampak yang akan diperoleh akibat tidak terpeliharanya lingkungan
hidup. Pencemaran lingkungan dapat menyebabkan penurunan kualitas udara, penyakit akibat
tercemarnya udara, perubahan iklim atau cuaca di lingkungan tertentu yang jika dibiarkan
pada akhirnya dapat berujung dengan kematian massal.
Polusi atau pencemaran lingkungan sendiri dapat diartikan masuknya atau dimasukkannya
makhluk hidup, zat energi, dan atau komponen lain ke dalam lingkungan, atau berubahnya
tatanan lingkungan oleh kegiatan manusia atau oleh proses alam sehingga kualitas lingkungan
turun sampai ke tingkat tertentu yang menyebabkan lingkungan menjadi kurang atau tidak
dapat berfungsi lagi sesuai dengan peruntukannya. (Undang-undang Pokok Pengelolaan
Lingkungan Hidup No. 4 Tahun 1982).
Perubahan iklim merupakan salah satu dampak akibat adanya pencemaran lingkungan.
Pencemaran lingkungan merupakan salah satu masalah penting yang sedang dihadapi oleh
penduduk di dunia dan Indonesia saat ini, dimana permasalahan tersebut semakin meningkat
sejalan dengan peningkatan jumlah penduduk, pertumbuhan ekonomi dan pertukaran
penduduk di kota-kota besar.
Dampak negatif akibat menurunnya kualitas udara cukup berat terhadap lingkungan
terutama kesehatan manusia yaitu dengan menurunnya fungsi paru, peningkatan penyakit
pernapasan, dampak karsinogen dan beberapa penyakit lainnya. Selain itu pencemaran udara
dapat menimbulkan bau, kerusakan materi, gangguan penglihatan dan dapat menimbulkan
hujan asam yang merusak lingkungan.
Untuk mengantisipasi dan menanggulangi dampak pencemaran udara terhadap kesehatan
manusia maupun lingkungan perlu adanya upaya-upaya nyata dari semua pihak baik instansi
pemerintah, swasta, perguruan tinggi dan masyarakat luas sesuai dengan bidang tugas masingmasing. Upaya penanggulangan pencemaran udara pada dasarnya ditujukan untuk
meningkatkan mutu udara untuk kehidupan.

2.2 Sumber Daya Udara


Udara merupakan salah satu unsur alam yang pokok bagi makhluk hidup yang ada di
muka bumi terutama manusia. Tanpa udara yang bersih maka manusia akan terganggu
terutama kesehatannya yang pada akhirnya dapat menyebabkan kematian. Udara dikatakan
normal dan dapat mendukung kehidupan manusia apabila komposisinya seperti tersebut
dalam table di bawah ini. Sedangkan apabila terjadi penambahan gas-gas lain yang
menimbulkan gangguan serta perubahan komposisi tersebut, maka dikatakan udara sudah
tercemar/terpolusi.
Kualitas udara ambien dari suatu daerah ditentukan oleh daya dukung alam daerah
tersebut serta jumlah sumber pencemaran atau beban pencemaran dari sumber yang ada di
daerah tersebut. Zat-zat yang dikeluarkan oleh sumber pencemar ke udara dan dapat
mempengaruhi kualitas udara antara lain gas Nitrogen Oksida (NOx), Sulfur Dioksida (SO2),
debu serta kandungan Timah Hitam (Pb) dalam debu.

1.
2.
3.
4.
5.
6.
7.
8.

Tabel 2.1 Komposisi Udara Bersih


Konsentrasi
Jenis gas
Formula
(% volume)
Nitrogen
N2
78,08
Oksigen
O2
20,95
Argon
Ar
0,934
Carbon
CO2
0,0314
Dioksida
Neon
Ne
0,00812
Helium
He
0,000524
Methana
CH4
0,0002
Krypton
Kr
0,000114

Ppm
780,800
209,500
9,340
314
18
5
2
1

Sumber : Environmental Chemistry, Air and Water Pollution


Tabel 2.2 Udara Bersih dan Udara Tercemar Menurut WHO
Parameter
Bahan Partikel
SO2
CO
NO2
CO2
Hidrokarbon

Udara Bersih
0,01 0,02 mg/m3
0,003 0,02 ppm
< 1 ppm
0,003 0,02 ppm
310 330 ppm
< 1 ppm

Udara Tercemar
0,07 0,7 mg/m3
0,02 2 ppm
5 200 ppm
0,02 0,1 ppm
350 0,1 ppm
1 20 ppm

2.3 Sensor Gas MQ-135


MQ-135 Air Quality Sensor adalah sensor yang memonitor kualitas udara untuk
mendeteksi gas amonia (NH3), natrium-(di)oksida (NOx), alkohol / ethanol (C2H5OH),
benzena (C6H6), karbondioksida (CO2), gas belerang / sulfur-hidroksida (H2S) dan asap / gasgas lainnya di udara. Sensor ini melaporkan hasil deteksi kualitas udara berupa perubahan
nilai resistensi analog di pin keluarannya. Pin keluaran ini bisa disambungkan dengan pin
5

ADC (analog-to-digital converter) di mikrokontroler / pin analog input Arduino dengan


menambahkan satu buah resistor saja (berfungsi sebagai pembagi tegangan / voltage divider).

Gambar 2.1 Sensor Gas MQ-135


Spesifikasi Sensor MQ-135 :
1. Sumber catu daya menggunakan tegangan 5 Volt.
2. Menggunakan ADC dengan resolusi 10 bit.
3. Tersedia 1 jalur output kendali ON/OFF.
4. Pin Input/Output kompatibel dengan level tegangan TTL dan CMOS.
5. Dilengkapi dengan antarmuka UART TTL dan I2C.
6. Signal instruksi indikator output;
7. Output Ganda sinyal (output analog, dan output tingkat TTL);
8. TTL output sinyal yang valid rendah; (output sinyal cahaya rendah, yang dapat diakses
mikrokontroler IO port)
9. Analog Output dengan meningkatnya konsentrasi, semakin tinggi konsentrasi,
semakin tinggi tegangan;
10. Memiliki umur panjang dan stabilitas handal;
11. karakteristik pemulihan respon cepat.

2.3.1 Konektor dan Pengaturan Jumper


Tabel 2.3 Konektor dan Pengaturan Jumper
Pin
1
2
3
4
5
6

Nama
GND
VCC
RX TTL
TX
SDA
SCL

Fungsi
Titik referensi untuk catu daya input
Terhubung ke catu daya (5 V)
Input serial level TTL ke modul Sensor
Output serial level TTL ke modul Sensor
I2C-bus data input / output
I2C-bus clock input

2.3.2 Prinsip Kerja Sensor Gas MQ-135


Pada modul sensor gas MQ-135 terdapat 2 buah LED indikator yaitu LED indikator
merah dan LED indikator hijau. Pada saat power-up, LED merah akan berkedip sesuai
dengan alamat I2C modul. Jika alamat I2C adalah 0xE0 maka LED indikator akan berkedip 1
kali. Jika alamat I2C adalah 0xE2 maka LED indikator akan berkedip 2 kali. Jika alamat I2C
adalah 0xE4 maka LED indikator akan berkedip 3 kali dan demikian seterusnya sampai
alamat I2C 0xEE maka LED indikator akan berkedip 8 kali.
Pada saat power-up, LED hijau akan berkedip dengan cepat sampai kondisi pemanasan
sensor dan hasil pembacaan sensor sudah stabil. Waktu yang diperlukan untuk mencapai
kondisi stabil berbeda-beda untuk tiap sensor yang digunakan tergantung pada kecepatan
respon sensor dan kondisi heater pada sensor. Jika kondisi stabil sudah tercapai, maka LED
hijau akan menyala tanpa berkedip. Pada kondisi operasi normal (setelah kondisi power-up),
LED merah akan menyala atau padam sesuai dengan hasil pembacaan sensor dan mode
operasi yang dipilih. Sedangkan selama hasil pembacaan sensor stabil, LED hijau akan tetap
menyala dan hanya berkedip pelan (tiap 1 detik) jika ada perubahan konsentrasi gas.
Modul sensor juga memiliki 1 pin output open collector yang status logikanya akan
berubah-ubah, sesuai dengan hasil pembacaan sensor gas dan batas atas serta batas bawah
yang telah ditentukan. Pin output ini dapat dihubungkan dengan aktuator (exhaust atau alarm)
sehingga modul ini dapat berfungsi sebagai pemonitor konsentrasi gas secara mandiri. Modul
ini akan membaca nilai konsentrasi gas secara otomatis, membandingkan dengan batas-batas
nilai yang telah diatur dan kemudian mengubah status logika pin output kendali ON/OFF
sesuai dengan mode operasi yang digunakan.
Ada 2 mode operasi yang dapat tersedia, yaitu mode operasi Hysterisis :
1. Jika nilai sensor hasil konversi ADC lebih kecil dari pada batas bawah, maka pin output
akan Off (Transistor Open Collector berada pada keadaan Cut-off dan LED indikator
merah tidak menyala).
2. Jika nilai sensor hasil konversi ADC lebih besar dari pada batas atas, maka pin output
akan On (Transistor Open Collector berada pada keadaan Saturasi dan LED indikator
merah menyala).
3. Jika nilai sensor hasil konversi ADC sama dengan atau berada di antara batas atas dan
batas bawah, maka logika pin output tidak berubah (jika sebelumnya Off, maka akan tetap
Off atau jika sebelumnya On akan tetap On).

Pada mode operasi Window:


1. Jika nilai sensor hasil konversi ADC lebih kecil dari pada batas bawah, maka pin output
akan On (Transistor Open Collector berada pada keadaan Saturasi dan LED indikator
merah menyala).
2. Jika nilai sensor hasil konversi ADC lebih besar dari pada batas atas, maka pin output
akan On (Transistor Open Collector berada pada keadaan Saturasi dan LED indikator
merah menyala).
3. Jika nilai sensor hasil konversi ADC sama dengan atau berada di antara batas atas dan
batas bawah, maka logika pin output akan Off (Transistor Open Collector berada pada
keadaan Cut-off dan LED indikator merah tidak menyala).
Jika sumber nilai batas yang dipilih adalah menggunakan variabel resistor pada modul
sensor, maka mode operasi yang bisa berlaku hanya mode operasi Hysterisis. Nilai variabel
resistor akan digunakan sebagai nilai batas atas. Sedangkan nilai batas bawah akan selalu
bernilai 50 poin di bawah nilai batas atas. Jika sumber nilai batas yang dipilih adalah
menggunakan nilai yang tersimpan pada EEPROM modul sensor, maka mode operasi yang
bisa berlaku adalah mode operasi Hysterisis dan modeoperasi Window. Nilai batas atas, nilai
batas bawah, dan mode operasi, dapat diatur melalui antarmuka UART TTL atau I2C dengan
menggunakan bahasa pemrograman.
Berikut ini ilustrasi cara kerja kendali ON/OFF menggunakan modul sensor gas dengan
nilai batas atas sebesar 450 dan nilai batas bawah sebesar 350.

Gambar 2.2 Cara Kerja Kendali ON/OFF Sensor Gas

2.4 Mikrokontroler ATMega 16


Mikrokontroler, sesuai namanya adalah suatu alat atau komponen pengontrol atau
pengendali yang berukuran mikro atau kecil. Sebelum ada mikrokontroler, telah ada
terlebih dahulu muncul mikroprosesor. Mikrokontroler dapat dikatakan adalah sebuah IC
yang dapat diprogram berulang kali, baik ditulis atau dihapus (Agus Bejo, 2007). Biasanya
8

digunakan untuk pengontrolan otomatis dan manual pada perangkat elektronika.


Mikrokontroler adalah suatu IC dengan kepadatan yang sangat tinggi, dimana semua bagian
yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping, biasanya terdiri dari
CPU, RAM, EEPROM, I/O, TIMER, dan lain-lain.
Mikrokontroler merupakan sistem komputer yang seluruh atau sebagian besar elemennya
dikemas dalam satu chip IC (Intergrated Circuit) sehingga sering juga disebut single chip
microcomputer, yang masuk dalam katagori embedded komputer. Suatu kontroler digunakan
untuk mengontrol suatu proses atau aspek-aspek dari lingkungan. Satu contoh aplikasi dari
mikrokontroler adalah untuk memonitor rumah. Ketika suhu naik kontroler membuka jendela
dan sebaliknya. Pada masanya, kontroler dibangun dari komponen-komponen logika secara
keseluruhan, sehingga menjadikannya besar dan berat. Setelah itu barulah dipergunakan
mikroprosesor sehingga keseluruhan kontroler masuk kedalam PCB yang cukup kecil. Hingga
saat ini masih sering kita lihat kontroler yangdikendalikan oleh mikroprosesor biasa (Zilog
Z80, Intel 8088, Motorola 6809, dsb).
Salah satu mikrokontroler yang saat ini banyak digunakan adalah mikrokontroler AVR.
AVR adalah mikrokontroler RISC (Reduce Instruction Set Compute) 8 bit berdasarkan
arsitektur Harvard, yang dibuat Atmel pada tahun1996. AVR yang mempunyai kepanjangan
Advanced Versatile RISC atau Alf and Vegards Processor yang berasal dari nama dua
mahasiswa Norwegian Institute of Technology (NTH), yaitu Alf-Egil Bogen dan Vegard
Wollan.
AVR memiliki keunggulan dibandingkan dengan mikrokontroler lain, keunggulan
mikrokontroler AVR yaitu AVR memiliki kecepatan eksekusi program yang lebih cepat
dikarenakan sebagian besar instruksi dieksekusi dalam 1 siklus clock, lebih cepat
dibandingkan dengan mikrokontroler MCS51 yang memiliki arsitektur CISC (Complex
Instruction Set Compute) dimana mikrokontroler MCS51 membutuhkan 12 siklus clock untuk
mengeksekusi 1 instruksi. Selain itu, mikrokontroler AVR memiliki fitur yang lengkap (ADC
Internal, EEPROM Internal, Timer/Counter, Watchdog Timer, PWM, Port I/O, Komunikasi
Serial, Komparator, I2C, dan lain-lain), sehingga dengan fasilitas yang lengkap ini,
programmer dan desainer dapat menggunakannya untuk berbagai aplikasi sistem elektronika
seperti robot, otomasi industri, peralatan telekomunikasi, dan berbagai keperluan lain. Secara
umum mikrokontroler AVR dapat dikelompokkan menjadi 3 kelompok, yaitu keluarga
AT90Sxx, ATMega, dan Attiny.
Seperti mikroprosesor pada umumnya, secara internal mikrokontroler ATMega16 terdiri
atas unit-unit fungsionalnya Arithmetic and Logical Unit (ALU), himpunan register kerja,
register dan dekoder instruksi, dan pewaktu beserta komponen kendali lainnya. Berbeda
9

dengan mikroprosesor, mikrokontroler menyediakan memori dalam serpih yang sama dengen
prosesornya (in chip).

2.4.1 Arsitektur ATMEGA16


Mikrokontroler ini menggunakan arsitektur Harvard yang memisahkan memori program
dari memori data, baik bus alamat maupun bus data, sehingga pengaksesan program dan data
dapat dilakukan secara bersamaan (concurrent).

Secara garis besar mikrokontroler

ATMega16 terdiri dari :


1. Arsitektur RISC dengan throughput mencapai 16 MIPS pada frekuensi 16MHz.
2. Memiliki kapasitas Flash memori 16Kbyte, EEPROM 512 Byte, dan SRAM 1Kbyte
3. Saluran I/O 32 buah, yaitu Port A, Port B, Port C, dan Port D.
4. CPU yang terdiri dari 32 buah register
5. User interupsi internal dan eksternal
6. Bandar antarmuka SPI dan Bandar USART sebagai komunikasi serial
7. Fitur Peripheral

Dua buah 8-bit timer/counter dengan prescaler terpisah dan mode compare

Satu buah 16-bit timer/counter dengan prescaler terpisah, mode compare, dan mode
capture

Real time counter dengan osilator tersendiri

Empat kanal PWM dan Antarmuka komparator analog

8 kanal, 10 bit ADC

Byte-oriented Two-wire Serial Interface

Watchdog timerdengan osilator internal

10

Gambar 2.3 Blok Diagram ATMega 16

2.4.2 Konfigurasi Pin ATMega 16


Konfigurasi pin mikrokontroler Atmega16 dengan kemasan 40-pin dapat dilihat pada
Gambar 2.2. Dari gambar tersebut dapat terlihat ATMega16 memiliki 8 pena untuk masingmasing Port A, Port B, Port C, dan Port D.

2.4.3 Sistem Clock AVR ATMega16


Mikrokontroler, mempunyai sistem pewaktuan CPU, 12 siklus clock. Artinya setiap 12
siklus yang dihasilkan oleh ceramic resonator maka akan menghasilkan satu siklus mesin.
Nilai ini yang akan menjadi acuan waktu operasi CPU. Untuk mendesain sistem

11

mikrokontroler kita memerlukan sistem clock, sistem ini bisa di bangun dari clock eksternal
maupun clock internal.

2.4.4 Konfigurasi PIN ATmega16

Gambar 2.4 Pin-pin Pada ATMega 16


Konfigurasi pin ATMega 16 dengan kemasan 40 pin DIP (Dual Inline Package) dapat
dilihat pada Gambar 2.1. Dari gambar diatas dapat dijelaskan fungsi dari masing-masing pin
ATMega 16 sebagai berikut :
1. VCC merupakan pin yang berfungsi sebagai masukan catu daya.
2. GND merupakan pin Ground
3. Port A (PA0 PA7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pin masukan ADC
4. Port B (PB0 PB7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pinkhusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.4 Fungsi Khusus Port B
Pin
PB7
PB6
PB5
PB4
PB3
PB2
PB1
PB0

Fungsi Khusus
SCK (SPI Bus Serial Clock)
MISO (SPI Bus Master Input/ Slave Output)
MOSI (SPI Bus Master Output/ Slave Input)
SS (SPI Slave Select Input)
AIN1 (Analog Comparator Negative Input)
OC0 (Timer/Counter0 Output Compare Match Output)
AIN0 (Analog Comparator Positive Input)
INT2 (External Interrupt 2 Input)
T1 (Timer/ Counter1 External Counter Input)
T0 (Timer/Counter External Counter Input)
XCK (USART External Clock Input/Output)

12

5. Port C (PC0 PC7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pinkhusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.5 Fungsi Khusus Port C
Pin
PC7
PC6
PC5
PC4
PC3
PC2
PC1
PC0

Fungsi khusus
TOSC2 ( Timer Oscillator Pin2)
TOSC1 ( Timer Oscillator Pin1)
TDI (JTAG Test Data In)
TDO (JTAG Data Out)
TMS (JTAG Test Mode Select)
TCK (Joint Test Action Group Test Clock)
SDA ( Two-wire Serial Bus Data Input/Output Line)
SCL ( Two-wire Serial Bus Clock Line)

6. Port D (PD0 PD7) merupakan pin input/output dua arah (full duplex) dan selain itu
merupakan pinkhusus, seperti dapat dilihat pada tabel dibawah ini.
Tabel 2.6 Fungsi Khusus Port D
Pin
PD7
PD6
PD5
PD4
PD3
PD2
PD1
PD0

Fungsi khusus
OC2 (Timer/Counter Output Compare Match Output)
ICP (Timer/Counter1 Input Capture Pin)
OC1A (Timer/Counter1 Output Compare A Match
Output)
OC1B (Timer/Counter1 Output Compare B Match
Output)
INT1 (External Interrupt 1 Input)
INT0 (External Interrupt 0 Input)
TXD (USART Output Pin)
RXD (USART Input Pin)

7. RESET merupakan pin yang digunakan untuk me-reset mikrokontroler.


8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal
9. AVCC merupakan pin masukan tegangan untuk ADC
10. AREF merupakan pin masukan tegangan referensi ADC.

2.4.5 Peta Memori ATMega16


Arsitektur ATMega16 mempunyai dua memori utama, yaitu memori data dan memori
program. Selain itu, ATMega16 memiliki memori EEPROM untuk menyimpan data.
ATMega16 memiliki 16 Kbyte On-chip In-System Reprogrammable Flash Memory untuk
menyimpan program. Instruksi ATMega16 semuanya memiliki format 16 atau 32 bit, maka
memori flash diatur dalam 8K x 16 bit. Memori flashdibagi kedalam dua bagian, yaitu bagian
13

program bootdan aplikasi seperti terlihat pada di bawah. Bootloader adalah program kecil
yang bekerja pada saat sistem dimulai yang dapat memasukkan seluruh program aplikasi ke
dalam memori prosesor.

Gambar 2.5 Peta Memori ATMega16

2.4.6 Memori Data (SRAM)


Memori data AVR ATMega16 terbagi menjadi 3 bagian, yaitu 32 register umum, 64
buah register I/O dan 1 Kbyte SRAM internal. General purpose register menempati alamat
data terbawah, yaitu $00 sampai $1F. Sedangkan memori I/O menempati 64 alamat
berikutnya mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus
digunakan untuk mengatur fungsi terhadap berbagai fitur mikrokontroler seperti kontrol
register, timer/counter , fungsi-fungsi I/O, dan sebagainya. 1024 alamat berikutnya mulai dari
$60 hingga $45F digunakan untuk SRAM internal.

14

Tabel 2.7 Peta memory data ATMega 16


Register file

Data address space

R0
R1
R2

R29
R30
R31
I/O Registers

$0000
$0001
$0002

$000D
$000E
$000F

$00
$01
$02

$3D
$3E
$3F

$0020
$0021
$0022

$005D
$005E
$005F
Internal SRAM
$0060
$0061

$045E
$045F

2.4.7 Memori Data EEPROM


ATMega16 terdiri dari 512 byte memori data EEPROM 8 bit, data dapat ditulis/dibaca
dari memori ini, ketika catu daya dimatikan, data terakhir yang ditulis pada memori EEPROM
masih tersimpan pada memori ini, atau dengan kata lain memori EEPROM bersifat
nonvolatile. Alamat EEPROM mulai dari $000 sampai $1FF.

2.4.8 Analog To Digital Converter


AVR ATMega16 merupakan tipe AVR yang telah dilengkapi dengan 8 saluran ADC
internal dengan resolusi 10 bit. Dalam mode operasinya, ADC dapat dikonfigurasi, baik single
endedinput maupun differentialinput. Selain itu, ADC ATMega16 memiliki konfigurasi
pewaktuan, tegangan referensi, mode operasi, dan kemampuan filter derau (noise)yang amat
fleksibel sehingga dapat dengan mudah disesuaikan dengan kebutuhan dari ADC itu sendiri.
ADC pada ATMega16 memiliki fitur-fitur antara lain :

Resolusi mencapai 10-bit

Akurasi mencapai 2 LSB

Waktu konversi 13-260s

8 saluran ADC dapat digunakan secara bergantian


15

Jangkauan tegangan input ADC bernilai dari 0 hingga VCC

Disediakan 2,56V tegangan referensi internal ADC

Mode konversi kontinyu atau mode konversi tunggal

Interupsi ADC complete

Sleep Mode Noise canceler

Proses inisialisasi ADC meliputi proses penentuan clock, tegangan referensi, formal data
keluaran, dan modus pembacaan. Register-register yang perlu diatur adalah sebagai berikut:

ADC Control and Status Register A ADCSRA

Gambar 2.6 ADC Control and Status Register A ADCSRA


ADEN

: 1 = adc enable, 0 = adc disable

ADCS

: 1 = mulai konversi, 0 = konversi belum terjadi

ADATE

: 1 = auto trigger diaktifkan, trigger berasal dari sinyal yang dipilih (set pada
trigger SFIOR bit ADTS). ADC akan start konversi pada edge positif sinyal
trigger.

ADIF

: diset ke 1, jika konversi ADC selesai dan data register ter-update. Namun
ADC Conversion Complete Interrupt dieksekusi jika bit ADIE dan bit-I
dalam register SREG diset.

ADIE

: diset 1, jika bit-I dalam register SREG di-set.

ADPS[0..2]

: Bit pengatur clock ADC, faktor pembagi 0 7 = 2, 4, 8, 16, 32, 64, 128.
Tabel 2.8 Konfigurasi Clock ADC

ADPS2
0
0
0
0
1
1
1
1

ADPS1
0
0
1
1
0
0
1
1

ADPS0
0
1
0
1
0
1
0
1

Division Factor
2
2
4
8
16
32
64
128

ADC Multiplexer-ADMUX

Gambar 2.7 ADC Multiplexer


16

REFS 0, 1

: Pemilihan tegangan referensi ADC

00

: Vref = Aref

01

: vref = AVCC dengan eksternal capasitor pada AREF

10

: vref = internal 2.56 volt dengan eksternal kapasitor pada AREF

ADLAR : Untuk setting format data hasil konversi ADC, default = 0


Special Function IO Register-SFIOR
SFIOR merupakan register 8 bit pengatur sumber picu konversi ADC, apakah dari picu
eksternal atau dari picu internal, susunannya seperti yang terlihat pada gambar berikut :

Gambar 2.8 Register SFIOR


ADTS[0...2] : Pemilihan trigger (pengatur picu) untuk konversi ADC, bit-bit ini akan
berfungsi jika bit ADATE pada register ADCSRA bernilai 1. Konfigurasi bit ADTS[0...2]
dapat dilihat pada Tabel di bawah ini.
Tabel 2.9 Pemilihan sumber picu ADC
ADPS2
0
0
0
0
1
1
1
1
ADHSM

ADPS1
0
0
1
1
0
0
1
1

ADPS0
0
1
0
1
0
1
0
1

Trigger source
Free Running Mode
Analog Comparator
External Interrupt Request 0
Timer/Counter0 Compare Match
Timer/Counter0 Overflow
Timer/Counter Compare Match B
Timer/Counter1 Overflow
Timer/Counter1 Capture Event

: 1. ADC high speed mode enabled. Untuk operasi ADC, bit ACME, PUD,
PSR2 dan PSR10 tidak diaktifkan.

2.5 LCD (Liquid Crystal Display)


LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal
cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alalalat
elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi LCD
yang dugunakan ialah LCD dot matrik dengan jumlah karakter 2 x 16. LCD sangat berfungsi
sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun
fitur yang disajikan dalam LCD ini adalah :
1. Terdiri dari 16 karakter dan 2 baris

17

2. Mempunyai 192 karakter tersimpan


3. Terdapat karakter generator terprogram
4. Dapat dialamati dengan mode 4-bit dan 8-bit
5. Dilengkapi dengan back light.
6. Tersedia VR untuk mengatur kontras.
7. Pilihan konfigurasi untuk operasi write only atau read/write.
8. Catu daya +5 Volt DC.
9. Kompatibel dengan DT-51 dan DT-AVR Low Cost Series serta sistem
mikrokontroler/mikroprosesor lain.

Gambar 2.9 LCD (Liquid Crystal Display)


Tabel 2.10 Deskripsi Pin Pada LCD
Pin
1
2
3
4
5
6
7-14
15
16

Deskripsi
Ground
Vcc
Pengatur kontras
RS Instruction/Register Select
R/W Read/Write LCD Registers
EN Enable
Data I/O Pins
Vcc
Ground

2.5.1 Cara kerja LCD (Liquid Crystal Display)


Pada aplikasi umumnya RW diberi logika rendah 0. Bus data terdiri dari 4-bit atau 8-bit.
Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana
terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini
sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD.
Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada
satu waktu.
Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat sepenuhnya
8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya).

18

Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan


data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high 1
dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke
jalur data bus.
Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung
pada datasheet LCD), dan set EN kembali ke high 1. Ketika jalur RS berada dalam kondisi
low 0, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi
khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1,
data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk
menampilkan huruf A pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus
berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila
R/W berada dalam kondisi high 1, maka program akan melakukan query (pembacaan) data
dari LCD.
Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya
merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W
selalu diset ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih
pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel
baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi
interface LCD, menentukan mode operasi merupakan hal yang paling penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah
aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol, 8 pin untuk
data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin untuk kontrol, 4 pin
untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer
antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor
LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang
dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca.

2.6 Mode Transmisi Port Serial


Ada 2 macam cara komunikasi data serial yaitu Sinkron dan Asinkron. Pada komunikasi
data serial sinkron, clock dikirimkan bersama sama dengan data serial, tetapi clock tersebut
dibangkitkan sendiri-sendiri baik pada sisi pengirim maupun penerima. Sedangkan pada
komunikasi serial asinkron tidak diperlukan clock karena data dikirimkan dengan kecepatan
tertentu yang sama baik pada pengirim/penerima.
Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial
ini dikerjakan oleh UART (Universal Asynchronous Receiver Transmitter). Pada UART,
19

kecepatan pengiriman data dan fase clock pada sisi transmitter dan sisi receiver harus sinkron.
Untuk itu diperlukan sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit
Start dan bit Stop. Ketika saluran transmisi dalam keadaan idle, output UART adalah
dalam keadaan logika 1.
Ketika transmitter ingin mengirimkan data, output UART akan diset dulu ke logika 0
untuk waktu satu bit. Sinyal ini pada receiver akan dikenali sebagai sinyal Start yang
digunakan untuk mensinkronkan fase clock-nya sehingga sinkron dengan fase clock
transmitter. Selanjutnya data akan dikirimkan secara serial dari bit yang paling rendah (bit0)
sampai bit tertinggi. Selanjutnya akan dikirimkan sinyal Stop sebagai akhir dari pengiriman
data serial. Sebagai contoh misalnya akan dikirimkan data huruf A dalam format ASCII
atau sama dengan 41 hexa.

Gambar 2.10 Pengiriman huruf A tanpa bit paritas

Kecepatan transmisi (baud rate) dapat dipilih bebas dalam rentang tertentu. Baud rate
yang umum dipakai adalah 110, 135, 150, 300, 600, 1200, 2400, dan 9600 (bit/perdertik).
Dalam komunikasi data serial, baud rate dari kedua alat yang berhubungan harus diatur pada
kecepatan yang sama. Selanjutnya harus ditentukan panjang data (6,7 atau 8 bit), paritas
(genap, ganjil, atau tanpa paritas) dan jumlah bit Stop (1, 1 , atau 2 bit). Berikut ini
adalah karakteristik sinyal port serial, flow control dan konfigurasi port serial.

2.7 Konfigurasi Port Serial


Konektor DB-9 pada bagian belakang komputer adalah port serial RS232 yang biasa
dinamai dengan COM1 dan COM2.

Gambar 2.11 Port Serial

20

Tabel 2.11 Konfigurasi Port Serial


Pin

Nama Sinyal

Direction

DCD

In

2
3
4
5
6
7
8
9

RxD
TxD
DTR
GND
DSR
RTS
CTS
RI

In
Out
Out
In
Out
In
In

Keterangan
Data Carrier Detect/Receive Line Signal
Detect
Receive Data
Transmit Data
Data Terminal Ready
Ground
Data Set Ready
Request to Send
Clear to Send
Ring Indicator

Berikut ini keterangan mengenai fungsi saluran RS232 pada konektor DB-9:
1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke DTE bahwa
pada terminal masukan ada data masuk.
2. Receive Data, digunakan DTE untuk menerima data dari DCE.
3. Transmit Data, digunakan DTE untuk mengirimkan data ke DCE.
4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan terminalnya.
5. Signal Ground, saluran ground
6. DCE ready adalah sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah siap.
7. Request to Send, dengan saluran ini DCE diminta mengirim data oleh DTE.
8. Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh mulai
mengirim data.
9. Ring Indicator, pada saluran ini DCE memberitahukan ke DTE bahwa sebuah stasiun
menghendaki hubungan dengannya.

2.8 IC MAX232
Untuk dapat berhubungan dengan PC, mikrokontroler harus membutuhkan komponen
tambahan baik komunikasi paralel maupun serial. Pada pembuatan project akhir 1 ini yang
digunakan adalah komunikasi serial. Pada mikrokontroler sendiri terdapat buffer yang dapat
digunakan sebagai pendukung proses komunikasi tersebut. Pada saat ini banyak komponen
yang dapat digunakan untuk pendukung proses komunikasi tersebut, salah satu contohnya
adalah maxim232.
Maxim232 berfungsi sebagai perantara antara mikrokontroler dengan port serial, karena
mikrokontroler tidak dapat mengirim data begitu saja maka diperlukan maxim232. di dalam
IC terdapat charge pump yang akan membangkitkan +10 Volt dan -10 Volt dari sumber +5
Volt tunggal dalam IC DIP (Dual in-line Package) 16 pin (8 pin x 2baris) ini terdapat 2 buah
21

transmiter dan dua buah receiver. Jadi IC ini berfungsi sebagai perantara karena maxim232
hanya menerima data dari mikrokontroler untuk kemudian dikirim ke pc melalui DB9.
Maxim232 mempunyai 16 kaki yang terdiri untuk keperluan port serial, komunikasi
mikrokontroler dengan maxim. Letak dari masing-masing port diperlihatkan pada gambar di
bawah ini.

Gambar 2.12 Konfigurasi Pin IC MAX232

Tabel 2.12 Fungsi IC MAX232


Pin
Nama
C1+
V+
C1C2+
C2VT2OUT, T1OUT
R2IN, R1IN
R2OUT, R1OUT
T2IN, T1IN
GND
Vcc

No.
1
2
3
4
5
6
7, 14
8, 13
9, 12
10, 11
15
16

Type

Keterangan

0
0
0
1
0
1
-

Positive lead of C1 capacitor


Positive charge pump output for storage capacitor only
Negative lead of C1 capacitor
Positive lead of C2 capacitor
Negative lead of C2 capacitor
Negative charge pump output for storage capacitor only
RS232 line data output (to remote RS232 system)
RS232 line data input (from remote RS232 system)
Logic data output (to UART)
Logic data input (to UART)
Ground
Supply Voltage, Connect to external 5V power supply

2.9 Bahasa C
Bahasa C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat
rendah (bahasa yang berorientasi pada mesin) dan bahasa tingkat tinggi (bahasa yang
berorientasi pada manusia). Seperti yang diketahui, bahasa tingkat tinggi mempunyai
kompatibilitas antara platform. Karena itu, amat mudah untuk membuat program pada
berbagai mesin. Berbeda halnya dengan menggunakan bahasa mesin, sebab setiap perintahnya
sangat bergantung pada jenis mesin.

22

Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C
adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok.
Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang
ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program
lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI (American
National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.jenis mesin.
Pembuat bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada tahun 1972. C
adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk blok.
Tujuannya untuk memudahkan dalam pembuatan dan pengembangan program. Program yang
ditulis dengan bahasa C mudah sekali dipindahkan dari satu jenis program ke bahasa program
lain. Hal ini karena adanya standarisasi bahasa C yaitu berupa standar ANSI ( American
National Standar Institut) yang dijadikan acuan oleh para pembuat kompiler.
Kelebihan Bahasa C:
- Bahasa C tersedia hampir di semua jenis computer.
-

Kode bahasa C sifatnya adalah portable dan fleksibel untuk semua jenis computer.

Bahasa C hanya menyediakan sedikit kata-kata kunci. hanya terdapat 32 kata


kunci.

Proses executable program bahasa C lebih cepat

Dukungan pustaka yang banyak.

C adalah bahasa yang terstruktur

Bahasa C termasuk bahasa tingkat menengah

Penempatan ini hanya menegaskan bahwa c bukan bahasa pemrograman yang berorientasi
pada mesin. yang merupakan ciri bahasa tingkat rendah. melainkan berorientasi pada obyek
tetapi dapat dinterprestasikan oleh mesin dengan cepat. secepat bahasa mesin. inilah salah
satu kelebihan c yaitu memiliki kemudahan dalam menyusun programnya semudah bahasa
tingkat tinggi namun dalam mengesekusi program secepat bahasa tingkat rendah.
Kekurangan Bahasa C:
-

Banyaknya operator serta fleksibilitas penulisan program kadang-kadang


membingungkan pemakai.

Bagi pemula pada umumnya akan kesulitan menggunakan pointer.

2.10 CodeVisionAVR
CodeVisionAVR merupakan sebuah cross-compiler C, Integrated Development
Environtment (IDE), dan Automatic Program Generator yang didesain untuk mikrokontroler
buatan Atmel seri AVR. CodeVisionAVR dapat dijalankan pada sistem operasi Windows 95,

23

98, Me, NT4, 2000, dan XP. Cross-compiler C mampu menerjemahkan hampir semua
perintah dari bahasa ANSI C, sejauh yang diijinkan oleh arsitektur dari AVR, dengan
tambahan beberapa fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan
kebutuhan pada sistem embedded.
File object COFF hasil kompilasi dapat digunakan untuk keperluan debugging pada
tingkatan C, dengan pengamatan variabel, menggunakan debugger Atmel AVR Studio. IDE
mempunyai fasilitas internal berupa software AVR Chip In-System Programmer yang
memungkinkan Anda untuk melakukan transfer program kedalam chip mikrokontroler setelah
sukses melakukan kompilasi/asembli secara otomatis. Software In-System Programmer
didesain untuk bekerja dengan Atmel STK500/AVRISP/AVRProg, Kanda Systems
STK200+/300, Dontronics DT006, Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan
MicroTronics ATCPU/Mega2000 programmers/development boards.
Untuk keperluan debugging sistem embedded, yang menggunakan komunikasi serial,
IDE mempunyai fasilitas internal berupa sebuah Terminal. 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

CodeWizardAVR, yang mengujinkan Anda untuk menulis, dalam hitungan menit, semua
instruksi yang diperlukan untuk membuat fungsi-fungsi berikut:

Set-up akses memori eksternal

Inisialisasi port input/output

Inisialisasi interupsi eksternal

24

Inisialisasi Timer/Counter

Inisialisasi Watchdog-Timer

Inisialisasi UART (USART) dan komunikasi serial berbasis buffer yang digerakkan
oleh interupsi

Inisialisasi Pembanding Analog

Inisialisasi ADC

Inisialisasi Antarmuka SPI

Inisialisasi Antarmuka Two-Wire

Inisialisasi Antarmuka CAN\

Inisialisasi Bus I2C, Sensor Suhu LM75, Thermometer/Thermostat DS1621 dan RealTime Clock PCF8563, PCF8583, DS1302, dan DS1307

Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20

Inisialisasi modul LCD

Gambar 2.13 CodeVisionAVR

25

BAB III

PERANCANGAN SISTEM
3.1 Diagram Blok Rangkaian

CATU DAYA

DETEKSI
GAS

SENSOR GAS
MQ-135

ATMEGA 16

MAX 232

USB to DB9

PC

DISPLAY
LCD

Gambar 3.2 Diagram Blok Sistem


Fungsi Tiap Blok :
1. Blok Deteksi Gas

: Sebagai elemen yang diukur

2. Blok Sensor Gas MQ-135 : Sebagai input/data gas yang diukur


3. Block Catu daya

: Sebagai sumber tegangan

4. Blok ATmega 16

: Sebagai pengkonversi data dari sensor

5. Blok Display

: Sebagai penampil hasil pengukuran

6. Blok Serial

: Port serial sebagai interface ke PC

7. Blok PC

: Penampil hasil/ data yang terakhir

3.2 Rangkaian Mikrokontroler ATMega16


Rangkaian layout PCB sistem minimum Mikrokontroler ATMega 16 dapat dilihat
pada gambar di bawah. Rangkaian tersebut berfungsi sebagai pusat kendali dari seluruh
sistem yang ada. Semua program diisikan pada memori dari IC ini sehingga rangkaian dapat
berjalan sesuai dengan yang dikehendaki. Pin 12 dan 13 dihubungkan ke XTAL 11.0592 MHz
dan dua buah kapasitor 22 pF. XTAL ini akan mempengaruhi kecepatan mikrokontroler
ATMega 16 dalam mengeksekusi setiap perintah dalam program. Untuk men-download
perintah ke mikrokontroler, Mosi, Miso, Sck, Reset, Vcc dan Gnd dari kaki mikrokontroler
dihubungkan ke konektor dimana konektor akan dihubungkan ke ISP Programmer. Dari ISP
Programmer inilah dihubungkan ke komputer melalui port paralel.

26

Apabila terjadi keterbalikan pemasangan jalur ke ISP Programmer, maka pemograman


mikrokontroler tidak dapat dilakukan karena mikrokontroler tidak akan bisa merespon. Port
I/O yang digunakan untuk projek ini terdiri dari : Port A digunakan untuk interfacing LCD
16x2, dan Pin PC1 dan PC0 untuk interfacing sensor gas MQ 135.

3.3 Desain PCB dengan Software Eagle 6.5.0


Untuk mendesain PCB dapat digunakan software EAGLE 6.5.0 yang dapat di-download
di internet secara gratis. Cara menggunakan software ini terlebih dahulu yang dikerjakan
adalah mendesain skematik rangkaian, setelah itu memindahkannya ke dalam bentuk board
dan mendesain tata letak komponen sesuai keinginan tetapi harus sesuai jalur rangkaiannya
agar rangkaian dapat berfungsi sesuai dengan skematiknya. Setelah itu didesain layout PCB
nya, barulah siap di-print dan di-transfer ke PCB. Pada proses pentransferan layout ke PCB
dapat digunakan kertas Transfer Paper.

Gambar 3.2 Rangkaian Keseluruhan Sistem Minimum

27

Gambar 3.3 Rangkaian Mikrokontroler ATMega16

3.4 Perancangan Sensor Gas MQ-135


Perancangan sensor dengan mikrokontroller ATMega16 dapat di lihat pada gambar
dibawah ini :

Gambar 3.4 Rangkaian Sistim minimum dengan sensor Gas


Dari gambar skematik diatas dapat dilihat bahwa sensor gas MQ-135 dihubungkan ke IC
mikrokontroller dengan memperhatikan konektor dari keduanya. Terdapat 4 pin di sensor gas
yang dihubungkan ke ATMega16 yaitu : Pin SCL,SDA, Vcc, dan GND. Pin SCL
dihubungkan ke kaki 22 ATMega16 sebagai PC0, Pin SDA dihubungkan ke kaki 23 sebagai

28

PC1, Pin Vcc dihubungkan ke kaki 10 sebagai Vcc dan Pin GND dihubungkan ke kaki 11
sebagai Ground.

3.5 Pengaplikasian LCD


Rangkaian skematik konektor yang dihubungkan dari LCD (liquid crystal display) ke

PA4
PA2
PA1
PA0

PA5

PA7
PA6

5V

mikrokontroler dapat dilihat pada gambar dibawah ini.

ATMEGA16A

Gambar 3.5 Rangkaian skematik dari LCD ke Mikrokontroller

Gambar 3.6 Rangkaian skematik konektor yang dihubungkan dari LCD

29

3.6 Flowchart Sensor

SISTEM AKTIF

INISIALISASI
SENSOR

MODE SENSITIVITAS
TINGGI

PEMBACAAN
SENSOR

APAKAH UDARA
TERCEMAR?

YA

TIDAK

UDARA BERSIH

POLUSI UDARA

BERHENTI

Gambar 3.7 Flowchart Sensor

30

Penjelasan Flowchart :
Pada gambar 3.6 :
1. Inisialisasi Sensor (Sensor Warm-up)
Pada saat power-on maka rangkaian akan berada dalam kondisi warm-up dengan
waktu kurang lebih 3-5 menit untuk menyetabilkan tegangan dan kondisi sensor.
2. Mode Sensitivitas Tinggi (Initial High-Sensitive Operation)
Rangkaian bekerja dengan sensitivitas yang lebih tinggi dari keadaan normalnya
selama kurang lebih 3 menit setelah periode warm-up dan sensor lebih peka.
3. Operasi Normal
Dalam keadaan ini sistem bekerja normal. Jika terdeteksi adanya polusi maka
sistem akan mengeluarkan sinyal yang diterjemahkan ke dalam nyala LED.
Mikroprosesor terus memantau perubahan dari sensor gas dan perubahan pada
tombol tombol pilihan mode. Input didapat dari sensor gas sebagai pendeteksi
kualitas udara. Mikroprosesor akan memproses lebih lanjut input tegangan yang
didapat dari sensor dan kemudian akan memutuskan apakah kondisi udara saat ini
bersih atau terpolusi. Tampilan LED akan menunjukkan tingkat polusi udara saat
ini.
4. Indikator LED
Digunakan sebagai penunjuk tingkat kualitas udara, yang nyalanya diatur oleh
mikroprosesor, tampilan LED akan menunjukkan kondisi udara saat ini.

31

BAB IV
ANALISIS DAN PENGUJIAN
4.1 Pengujian Rangkaian Mikrokontroler ATMega16
Pengujian pada rangkaian mikrokontroler ATMega16 ini dapat dilakukan dengan
menghubungkan rangkaian ini dengan rangkaian power supply sebagai sumber tegangan atau
baterai 9V. Kaki 40 dihubungkan dengan sumber tegangan 5 volt, sedangkan kaki 20
dihubungkan dengan ground. Kemudian tegangan pada kaki 40 diukur dengan menggunakan
Voltmeter. Dari hasil pengujian didapatkan tegangan pada kaki 40 sebesar 4,85 volt. Langkah
selanjutnya adalah memberikan program sederhana pada mikrokontroler ATMega16, program
yang diberikan adalah sebagai berikut:
#include <mega16a.h>
#include <delay.h>
#include <stdio.h>
while (1)
{
// Place your code here
PORTC=0x00;
Delay_ms(1000);
PORTC=0xFF;
Delay_ms(1000);
}

Pada pengujian ini dikarena

pemrograman menggunakan

mode

ISP

(In

System

Programming) mikrokontroler harus dapat diprogram langsung pada mikrokontroler dan


rangkaian mikrokontroler harus dapat dikenali oleh program downloader. Pada pengujian
ini berhasil dilakukan dengan dikenalinya jenis mikrokontroler oleh program downloader
yaitu ATMega16A dan pemrograman dapat berjalan dengan baik, seperti contoh berikut ini :

Gambar 4.1 Pengujian Mikrokontroler


32

4.2 Pengujian Sensor Gas MQ-135


Rangkaian sensor ini telah diuji di beberapa tempat yang menunjukkan tingkat kualitas
udara di daerah tersebut. Pengujian dilakukan dengan pendeteksian gas CO2 di udara. Data
yang di peroleh adalah sebagai berikut :
Tabel 4.1. Data Pendeteksian Gas CO2 di Udara
No.

Satuan (ppm)

CO2 ref (ppm)

325

314

330

Waktu

LED Indikator

Status

10

Hijau

Bersih

314

15

Hijau

Bersih

299

314

20

Hijau

Bersih

323

314

25

Hijau

Bersih

324

314

30

Hijau

Bersih

Rata-Rata

(menit)

318,8 ppm

Tabel 4.2 Data Pendeteksian Asap Rokok


No.

Satuan (ppm)

Waktu (sekon)

LED Indikator

Status

744

Merah

Tercemar

740

10

Merah

Tercemar

643

15

Merah

Tercemar

632

20

Merah

Tercemar

521

25

Merah

Tercemar

Rata-rata

656 ppm

Tabel 4.3 Data Pendeteksian Kertas yang dibakar


No.

Satuan (ppm)

Waktu (sekon)

LED Indikator

Status

760

Merah

Tercemar

750

10

Merah

Tercemar

737

15

Merah

Tercemar

722

20

Merah

Tercemar

717

25

Merah

Tercemar

Rata-rata

737,2 ppm

Dari hasil pengujian (tabel 4.1) yang telah dilakukan, dapat dilihat bahwa kualitas udara
dari beberapa pengujian berbeda-beda. ini dibuktikan dengan satuan ppm (part per million).
Pembacaan sensor juga dipengaruhi oleh waktu kerja sensor tersebut. Sensor akan
membutuhkan waktu yang relatif untuk menyetabilkan tegangan dan kondisi sensor.

33

Berdasarkan pada tabel 2.1 komposisi udara bersih (Sumber : Environmental Chemistry,
Air and Water Pollution) dapat dilihat bahwa untuk menentukan suatu lingkungan berstatus
bersih ambien untuk gas CO2 sebesar 314 ppm. Sedangkan pada hasil pengujian pada tabel 4.2
dan tabel 4.3, dapat dilihat bahwa konsentrasi asap rata-rata sebesar 737,2 ppm dan
konsentrasi asap rokok rata-rata sebesar 656 ppm dengan kondisi LED merah yang
menyatakan udara tercemar. Maka, dapat disimpulkan bahwa asap dari kertas yang dibakar
lebih berbahaya dibandingkan dengan asap rokok.
Cara kerja sensor :
Dapat di simpulkan bahwa cara kerja sensor ini mendeteksi gas yang akan menimbulkan
tegangan berbentuk sinyal selanjutnya di baca oleh mikrokontroller guna di konversi ke kode
ASCII selanjutnya data di kirim ke PC melalui serial port dan di tampilkan di LCD.
Pengujian sistem secara keseluruhan ini dilakukan dengan menggabungkan semua
peralatan ke dalam sebuah system yang terintegrasi. Tujuannya untuk mengetahui bahwa
rangkaian yang dirancang telah bekerja sesuai yang diharapkan, lalu diberi arus melalui
baterai 9V yang dihubungkan ke IC regulator sehingga menghasilkan tegangan sebesar 5 volt
diteruskan ke rangkaian system minimum dan sensor.
Data hasil pengukuran, Pada data ini terdapat perbedaan antara data yang didapat dari
nilai yang tertera dengan data yang dihasilkan oleh alat, dimana data yang dihasilkan oleh alat
memiliki % deviasi = hal ini dapat dilihat dari hasil analisis yang diperoleh :

% kesalahan =

100%

Untuk Kesalahan Pendeteksian Gas CO2 di Udara


1. Untuk 325 ppm
% kesalahan =

325 314
x 100 % = 3,58 %
314

% kesalahan =

330 314
x 100 % = 5,09 %
314

% kesalahan =

299 314
x 100 % = 4,77 %
314

% kesalahan =

323 314
x 100 % = 2,86 %
314

2. Untuk 316 ppm

3. Untuk 299 ppm

4. Untuk 323 ppm

5. Untuk 324 ppm


34

% kesalahan =

Rata - rata kesalahan =


=

324 314
x 100 % = 3,18 %
314

persen total keseluruhan


x 100 %

3,58+5,09+4,77+2,86+3,18
5

x 100 %

= 6,49 %

4.3 Pengujian Rangkaian Liquid Crystal Display (LCD) 2x16


Pengetesan ini bertujuan untuk mengetahui LCD tersebut dapat berfungsi menampilkan
pesan-pesan sesuai dengan proses yang dibuat.
Listing program pengetesan LCD :
lcd_gotoxy(0,0);
lcd_putsf("maulana Metrologi");
delay_ms(3000);
lcd_clear();

Perintah di atas menampilkan teks "maulana Metrologi". Program diatas dapat di


compile dengan C-Compiler CodeVision AVR. Dengan

tertampilnya

teks

yang dibuat

tersebut dapat dikatakan LCD bekerja dengan baik.

35

BAB V
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Setelah dilakukan pengujian hasil pengukuran kualitas udara dengan sensor MQ-135,
maka dapat diambil beberapa kesimpulan:
1. Sistem memerlukan tegangan yang stabil. Sehingga harus membutuhkan waktu yang
relatif lebih lama untuk mencapai kestabilan.
2. Dari pengujian yang telah dilakukan, rata-rata pendeteksian gas CO2 sebesar 318,8 ppm,
asap rokok sebesar 656 ppm, dan kertas yang dibakar sebesar 737,2 ppm.
3. Mikroprosesor mempunyai sistem pemrosesan sinyal yang baik sehingga tidak
memerlukan rangkaian kompensasi untuk mengatasi gangguan sensor terhadap temperatur
dan kelembaban udara luar.
4. Sensor ini hanya dapat mendeteksi perubahan kualitas udara
5. Berdasarkan hasil pengujian yang telah dilakukan, maka rata-rata kesalahan alat tersebut
sebesar 6,49 %.
6. Rangkaian sensor kualitas udara ini dapat dimanfaatkan sebagai kontrol ventilasi ruangan
dengan penggunaan yang mudah dan hasil yang baik.

5.2 Saran
Beberapa tambahan yang diperlukan dalam meningkatkan kemampuan alat ini adalah:
1. Perlu pendalaman lebih lanjut mengenai pemrosesan sinyal jika kita ingin membuat
sendiri rangkaian sensor kualitas udara.
2. Diperlukan pengkalibrasian alat lebih lanjut agar pengukuran terhadap kualitas udara lebih
akurat.
3. Alat ini dapat dikembangkan dengan menambahkan alarm detector jika gas yang dideteksi
berbahaya/berpolusi.

36

DAFTAR PUSTAKA

[1]. Bejo, Agus. 2005. C & AVR Rahasia Kemudahan Bahasa C dalam Mikrokontroler
ATMega8535 . Edisi Pertama. Yogyakarta: Penerbit Gava Media.
[2]. Agfianto Eko Putra, Teknik antar muka computer : konsep & aplikasi, Penerbit Graha
Ilmu, Yogyakarta, 2002
[3]. Charles L. Philips, Royce D. Harbor, Sistem Kontrol, Penerbit PT Prenhallindo, Jakarta,
[4]. Arisman, Dr., MB, Gizi dalam daur kehidupan, Penerbit Buku kedokteran EGC,
DEPKES, 1996
[5]. Retna Prasetia dan Catur Edi Widodo,Teori dan Praktek Interfacing Port Parallel &
Port Serial Komputer dengan VB 6.0, Penerbit Andi Yogyakarta
[6]. Suhata, ST, VB Sebagai Pusat Kendali Peralatan Elektronik, Penerbit Elex Media
Komputindo, Jakarta, 2005.
[7]. Budiharto, Widodo. 2005. Panduan Lengkap Belajar Mikrokontroler Perancangan
Sistem dan Aplikasi Mikrokontroler.PT Elex media Komputindo, Jakarta.
[8]. http://innovativeelectronics.com. Diakses pada : 20 Desember 2014
[9]. http://biologyeastborneo.com/wp-content/uploads/2011/09/Indeks-Kualitas-Udara.ppt
Diakses pada : 23 Januari 2015
[10]. http://sir.stikom.edu/569/5/BAB%20II.pdf. Diakses pada 23 Januari 2015
[11]. http://staff.uny.ac.id/sites/default/files/pendidikan/ZainalArifin,Dr.M.T/BukuPPK.doc
Diakses pada : 5 Desember 2014

LAMPIRAN 1
Program Mikrokontroller
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 11/12/2013
Author : user
Company : free
Comments:
Chip type
: ATmega16
Program type
: Application
AVR Core Clock frequency: 8,000000 MHz
Memory model
: Small
External RAM size
:0
Data Stack size
: 128
*****************************************************/
#include <mega16a.h>
#include <delay.h>
// Alphanumeric LCD functions
#include <alcd.h>
#include <i2c.h>
#include <stdio.h>
#include <stdlib.h>
// Declare your global variables here
unsigned int bacaNilaiSensorI2C(unsigned char alamatI2C) {
unsigned int sensor;
i2c_start();
i2c_write(alamatI2C);
i2c_write(0x41);
i2c_stop();
delay_us(10);
i2c_start();
i2c_write(alamatI2C|0x01);
sensor = i2c_read(1);
sensor = sensor*256 + i2c_read(0);
i2c_stop();

return sensor;
}

void main(void)
{
// Declare your local variables here
unsigned int sensor;
// 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=0x00;
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=0x00;
// 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;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// 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=0xFF
// 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
TIMSK=0x00;
/// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) |
(0<<U2X) | (0<<MPCM);
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) |
(0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);
UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) |
(1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL);
UBRRH=0x00;
UBRRL=0x47;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;
SFIOR=0x00;
// ADC initialization
// ADC disabled
ADCSRA=0x00;
// SPI initialization
// SPI disabled
SPCR=0x00;
// TWI initialization
// TWI disabled
TWCR=0x00;
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 7
// RD - PORTA Bit 6
// EN - PORTA Bit 5
// D4 - PORTA Bit 4
// D5 - PORTA Bit 2
// D6 - PORTA Bit 1
// D7 - PORTA Bit 0
// Characters/line: 16
i2c_init();
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("maulana Metrologi");
delay_ms(3000);
lcd_clear();
while (1)
{
// Place your code here
sensor = bacaNilaiSensorI2C(0xE0);
lcd_gotoxy(0,0);
lcd_putsf("Data = ");
lcd_putchar(sensor/1000 %10 + 0x30);
lcd_putchar(sensor/100 %10 + 0x30);
lcd_putchar(sensor/10 %10 + 0x30);
lcd_putchar(sensor %10 + 0x30);
delay_ms(500);
// printf("data=%.2d",sensor);
printf("%d \n\r",sensor);
}
}

LAMPIRAN 2

FOTO ALAT

LAMPIRAN 3

TAMPILAN GUI DI KOMPUTER

Anda mungkin juga menyukai