ALAT UKUR KONSENTRASI ASAP ROKOK
BERBASIS MIKROKONTROLER ATMEGA8 MENGGUNAKAN
SENSOR MQ-2
TUGAS AKHIR
VADHYA WIENDYAS GANDORIA
112411020
PROGRAM STUDI D-3 METROLOGI & INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
ALAT UKUR KONSENTRASI ASAP ROKOK
BERBASIS MIKROKONTROLER ATMEGA8 MENGGUNAKAN
SENSOR MQ-2
TUGAS AKHIR
Diajukan untuk melengkapi tugas dan memenuhi syarat Ahli
Madya,
VADHYA WIENDYAS GANDORIA
112411020
PROGRAM STUDI D-3 METROLOGI & INSTRUMENTASI
DEPARTEMEN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
PERSETUJUAN
Judul : ALAT UKUR KONSENTRASI ASAP ROKOK
BERBASIS MIKROKONTROLER ATMEGA8
MENGGUNAKAN SENSOR MQ-2
Kategori : TUGAS AKHIR
Nama : VADHYA WIENDYAS GANDORIA
No.Induk Mahasiswa : 112411020
Program Studi : D3 METROLOGI DAN INSTRUMENTASI
Departemen : FISIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM
(FMIPA)
UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 21 Juli 2014
Ketua Departemen Dosen Pembimbing,
D3 Metrologi dan Instrumentasi
Dr. Diana Alemin Barus M.Sc
PERNYATAAN
ALAT UKUR KONSENTRASI ASAP ROKOK BERBASIS
MIKROKONTROLER ATMEGA8 MENGGUNAKAN SENSOR
MQ-2
TUGAS AKHIR
Saya mengakui bahwa Tugas Akhir ini adalah hasil kerja saya sendiri kecuali
beberapa kutipan dan ringkasan yang masing- masing di sebutkan sumbernya.
Medan, 21 Juli 2014
PENGHARGAAN
Alhamdulillah puji dan syukur penulis ucapkan kepada Allah
Subhanahuwata’ala, atas segala karuniaNya yang telah diberikan kepada penulis
sehingga dapat menyelesaikan Tugas Akhir ini dengan baik. Shalawat dan Salam
kepada Nabi Muhammad SAW semoga kita mendapatkan safa’atnya di kemudian
hari. Amin
Dalam kesempatan ini penulis menyampaikan rasa hormat dan ucapan terima
kasih yang sebesar- besarnya kepada keluarga serta orang-orang yang mendukung
sehingga penulis dapat menyelesaikan Tugas Akhir ini. Pada kesempatan ini penulis
mengucapkan terima kasih banyak kepada Ayahanda M H Yunus dan Ibunda Sri
Rejeki, terima kasih atas kasih sayang dan kepercayaan yang telah kalian berikan
kepada anak kalian ini, serta adikku tercinta, Fraska, Viona, Frananda terima kasih
buat dukungannya, doa dan motivasi yang diberikan dari awal mulai perkuliahan
sampai penulisan Tugas Akhir ini serta buat seluruh keluarga yang telah membantu,
mendukung dan memberikan serta support terhadap pendidikan saya hingga bisa
berkembang seperti sekarang. Ucapan terimahkasih saya ucapkan juga kepada :
1. Yth.Bapak Dekan Dr.Sutarman beserta jajarannya di lingkungan FMIPA USU
2. Bapak Dr. Marhaposan Situmorang, selaku Ketua Departemen Fakultas Matematika
Dan Ilmu Pengetahuan Alam dan
3. Ibu Dr. Diana A. Barus M.Sc selaku Ketua Prodi D3 Metrologi dan Instrumentasi
sekaligus sebagai dosen penguji I.
4. Ibu Dr. Ratna Askiah Simatupang M.Si selaku sekretaris prodi D3 Metrologi dan
Instrumentasi.
6. Seluruh Dosen dan Karyawan Program Studi D3 Metrologi dan Instrumentasi
Departemen Fisika FMIPA USU.
7. Seorang yang yang sangat berjasa besar yaitu Abang Dwi Budi Prasetyo, yang telah
banyak mengorbankan waktu dan tenaganya untuk membantu pengerjaan tugas akhir
ini hingga selesai , terimah kasih .
8. Kepada abang-abang yaitu : bang robbhy , bang hamdan, bang kharismah, bang oki
hadinata, saya ucapkan banyak terimah kasih.
9. Saudara-saudaraku di UKM ROBOTIK SIKONEK USU , tiada satupun kesan yang
ingin kulupakan saat bersama kalian, semua proses pengerjaan tugas akhir ini
sebahagiaan besar dapat terlaksana karena para teman, kepada : anie, astrid, nuril,
jepri, wana, irfa, faqih, fadly, ivon, oca, cahya, mestika, nissa, dinda, yuni, iki, dan
semuanya dan kita sama-sama mengerjakan dengan sepenuh hati atas segala bentuk
bantuan yang telah diberikan kepada saya. Jazakumullah khairan katsiran kepada
saudara-saudara seperguruanku, teman–teman seperjuangan yang telah banyak
membantu dalam proses pengerjaan tugas akhir ini.
Penulis menyadari sepenuhnya bahwa dalam pembuatan tugas akhir ini
masih jauh dari kesempurnaan, untuk itu penulis mengharapkan kritik dan saran
dari pembaca yang bersifat membangun dalam penyempurnaan tugas akhir ini.
Semoga laporan ini menjadi ibadah yang baik bagi penulis dan menjadi ilmu
yang bermanfaat bagi pembaca.
Amin Yaa Rabbal’alamin
Medan, Juli 2014
Penulis,
ABSTRAK
Alat ukur ALAT UKUR KONSENTRASI ASAP ROKOK BERBASIS
MIKROKONTROLER ATMEGA8A MENGGUNAKAN SENSOR MQ-2 ini
adalah alat ukur yang digunakan untuk mengukur gas dari konsentasi asap (asap
rokok) yang ada di sekitar ruangan. Alat ini dapat bermanfaat untuk aplikasi
pengukuran gas. Komponennya adalah Sistem Minimum menggunakan
mikrokontroler Atmega8, LCD sebagai display untuk penunjukkan dan sensor
MQ-2 (smoke sensor and LPG). Gas yang diukur dalam pengukuran ini adalah CO
(carbon monoksida) yang terkandung dalam asap rokok.
BAB IV ANALISA DAN PENGUJIAN ALAT
4.1. Umum ... 35
4.2. Pengujiian Alat ... 35
4.2.1. Pengujian Sistem Minimum ... 35
4.2.2. Pengujian Sensor MQ-2 ... 35
4.2.3. Pengujian LCD ... 36
4.2.2. Pengujian Rangkaian Regulator ... 36
4.3. Data Analisa Pengukuran Asap Rokok ... 37
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan ... 38
5.2. Saran ... 38
DAFTAR PUSTAKA ... 39
DAFTAR TABEL
Nomor Judul Halaman Tabel
2.1. Fungsi Alternatif PORT B ... 11
2.2. Fungsi Alternatif PORT C ... 12
2.3. Fungsi Alternatif PORT D ... 13
2.4. Pin untuk LCD ... 24
3.1. Pin Yang Dipakai pada LCD ... 32
4.1. Data Pengujian Sensor MQ-2 ... 36
DAFTAR GAMBAR
Nomor Judul Halaman Gambar
2.1. Gambaran Umum Mikrokontroler ... 6
2.2. ATMEGA 8... 9
2.3. Konfigurasi ATMEGA8 ... 10
2.4. Status Register ATMEGA8 ... 15
2.5. Peta Memory ATMEGA8 ... 17
2.6. Diagram Blok ATMEGA8 ... 19
2.7. Flash ATMEGA8 ... 21
2.8. Sensor MQ-2 ... 22
2.9. LCD 2X16 ... 25
2.10. Susunan Alamat Pada LCD ... 26
3.1. Blok Diagram ... 29
3.2 Rangkaian Minimum Sistem ATMEGA8... 31
3.2 Rangkaian Sensor MQ-2 ... 31
3.4 Rangkaian LCD... 32
3.5 Rangkaian Regulator ... 32
3.6 Rangkaian Keseluruhan ... 33
3.7 Flowchart dari alat ukur ... 34
DAFTAR LAMPIRAN
Nomor Judul Halaman Lamp
1 Program Alat Ukur ... 42
2 Dokumentasi Alat ... 47
3. Datasheet Atmega8 ... 50
ABSTRAK
Alat ukur ALAT UKUR KONSENTRASI ASAP ROKOK BERBASIS
MIKROKONTROLER ATMEGA8A MENGGUNAKAN SENSOR MQ-2 ini
adalah alat ukur yang digunakan untuk mengukur gas dari konsentasi asap (asap
rokok) yang ada di sekitar ruangan. Alat ini dapat bermanfaat untuk aplikasi
pengukuran gas. Komponennya adalah Sistem Minimum menggunakan
mikrokontroler Atmega8, LCD sebagai display untuk penunjukkan dan sensor
MQ-2 (smoke sensor and LPG). Gas yang diukur dalam pengukuran ini adalah CO
(carbon monoksida) yang terkandung dalam asap rokok.
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Kemajuan teknologi pada saat ini membuat semua orang dapat melakukan
apa saja sesuai keinginan. Era globalisasi dan komunikasi saat ini ditandai dengan
banyaknya manusia yang memanfaatkan teknologi untuk memenuhi kebutuhan
hidupnya. Adanya teknologi baru, merupakan sumbangan tak ternilai dari kemajuan
teknologi yang begitu pesat, dengan dukungan teknologi tersebut yang menjadi
faktor utama manusia semakin dimanjakan. Saat ini dalam kehidupan sehari–hari
manusia tidak pernah lepas dari aktivitasnya untuk berinteraksi dengan banyak
fasilitas–fasilitas yang membantu kinerja manusia, tetapi dilain sisi fasilitas–
fasilitas yang membantu kinerja menimbulkan hal negatif pada diri manusia itu
sendiri, seperti polusi udara yang diakibatkan oleh ulah manusia baik secara
langsung maupun dari alat yang mereka gunakan mengakibatkan polusi yang
berlebihan yang manusia sumbangkan untuk bumi ini dan dalam kehidupan.
Banyak kasus yang belum tersolusikan dalam penanganan hal tersebut.
Polusi udara yang dihasilkan langsung oleh manusia adalah kandungan asap
yang beruba gas CO (Carbon monoksida) yang terdapat pada rokok yang manusia
isap setiap harinya, pria maupun wanita yang menjadi perokok aktif adalah
penyumbang dari gas tersebut dan manusia lain sebagai perokok pasif (yang tidak
merokok) dapat terkena imbasnya begitu pula dengan alam sekitar, karena tidak
dihasilkan oleh asap rokok tersebut. Peristiwa ini telah banyak kita dengar dan lihat
di media masa maupun media elektronik dan belum tersolusikan hingga asap rokok
yang semakin hari semakin meresahkan masyarakat. Melihat latar belakang
tersebut, penulis mengambil judul Tugas Akhir ini yaitu “ALAT UKUR
KONSENTRASI ASAP ROKOK BERBASIS MIKROKONTROLER ATMEGA8
MENGGUNAKAN SENSOR MQ-2”
1.2 Identifikasi Masalah
Berdasarkan dari beberapa yang terjadi di lapangan makin maraknya perokok
aktif yang merokok secara bebas di suatu ruangan dapat mengkibatkan hal-hal yang
berbahaya. Asap rokok pada perokok pasif akibatnya lebih berbahaya dibandingkan
perokok aktif. Bahkan bahaya yang harus ditanggung perokok pasif tiga kali lipat dari
bahaya perokok aktif. Setyo Budiantoro dari Ikatan Ahli Kesehatan Masyarakat
Indonesia (IAKMI) mengatakan sebanyak 25 persen zat berbahaya yang terkandung
dalam rokok masuk ke tubuh perokok, sedangkan 75 persennya beredar di udara bebas
yang berisiko masuk ke tubuh orang di sekelilingnya. Oleh sebab itu dibutuhkan suatu
sistem kontrol yang dapat mengukur beberapa macam konsentrasi gas sehingga
nantinya alat ini mampu mengurangi berbagai macam permasalahan diatas.
1.3 Batasan Masalah
Batasan masalah dari tugas akhir ini memiliki cakupan antara lain, :
• Sistem kontrol yang digunakan berbasis ATMEGA8 yang
menggunakan sensor smoke MQ-2 yang dapat mendeteksi konsentrasi
gas terhadap sampel yakni asap rokok , kadar karbon monoksida
• Pengukuran dilakukan pada simulasi ruangan tertutup.
1.4 Maksud dan Tujuan
Maksud dari penulisan tugas akhir ini antara lain guna untuk mencegah
terjadinya hal-hal yang tidak diinginkan seperti kebakaran dan perokok pasif yang
menanggung akibatnya karena perokok pasif.
Tujuan dari tugas akhir ini :
1. Merancang alat ukur pendeteksi yang yang dapat mengetahui ada tidaknya
asap rokok gas di suatu ruangan tertutup tertentu yang dibatasi luasnya
dalam tugas akhir ini.
2. Membuat suatu alat yang tepat guna dan berkualitas yang sangat dibutuhkan
di dalam kehidupan manusia sehari-hari
3. Mengembangkan ilmu pengukuran di dalam pengaplikasinnya seperti
mengukur konsentrasi asap rokok.
4. Memenuhi syarat untuk menyelesaikan mata kuliah Tugas Akhir dan
menyelesaikan pendidikan di program studi D-III Metrologi dan
Instrumentasi FMIPA USU.
1.5 Metode Penelitian
1. Study literatur
Merupakan metode yang dilakukan oleh penulis dengan mengunjungi
tempat dan mempelajari website ataupun buku-buku yang berkaitan dengan
pembuatan alat ukur konsentrasi asap rokok berbasis mikrokontroler
ATMEGA8.
Merupakan suatu tahap awal dalam merumuskan masalah dan membuat
rancangan konsep dalam menyelesaikan suatu masalah. Bentuknya adalah
konsep tertulis dan tergambarkan dalam bentuk diagram blok.
3. Perancangan dan pembuatan alat ukur
Proses merancang desain dan bentuk alat ukur sampai membuat alat
ukurnya.
4. Menguji mekanika dari alat ukur
Merupakan tahap menguji mekanika dari alat ukur, untuk dilanjutkan agar
bisa di program.
5. Proses pembuatan pemrograman
Kegiatan dimana mencari algoritma yang menjadi suatu program untuk alat
ukur konsentrasi asap rokok berbasis mikrokontroler ATMEGA8.
6. Uji tahap awal
Proses menguji alat ukur konsentrasi asap rokok berbasis mikrokontroler
ATMEGA8 ini, agar bisa mengukur.
7. Membuat kesimpulan dari hasil alat ukur konsentrasi asap rokok berbasis
mikrokontroler ATMEGA8
1.6 Sistematika Penulisan
BAB 1 : PENDAHULUAN
Bagian pendahuluan berisikan latar belakang, identifikasi masalah, batasan
masalah (bila diperlukan), maksud dan tujuan penelitian, metode penelitian,
BAB 2 : LANDASAN TEORI
Berisikan informasi yang sudah dilaporkan dan sangat erat kaitannya dengan
alat ukur yang berkenaan dengan hasil pengukuran. Disini landasan teori yang
di bahas adalah mikrokontroler ATMEGA8, sensor MQ-2, LCD,
CodeViosionAVR.
BAB 3 : SISTEM KERJA RANGKAIAN
Pada bab ini akan dibahas sistem kerja rangkaian, yaitu diagram blok dari
rangkaian dan flowchart.
BAB 4 : ANALISA DAN PENGUJIAN ALAT
Hasil pengujian alat ukur dapat disajikan dalam tabel, gambar, atau dalam
narasi.
BAB 5 : KESIMPULAN DAN SARAN
Bagian kesimpulan disiapkan dalam poin-poin sesuai dengan hasil penelitian.
Kesimpulan harus merujuk kepada tujuan penelitian. Bagian saran merupakan
harapan penulis untuk kelengkapan informasi mengenai tema yang dikaji dan
BAB II
LANDASAN TEORI
2.1. Mikrokontroler
Mikrokontroler sering disebut sebagai mikrokomputer atau embedded system.
Mikrokontroler dipandang sebagai suatu sistem yang terdiri atas input,program dan
output. Mikrokontroler dapat diatur oleh sebuah program. Proses untuk memasukkan
program ke dalam mikrokotroler disebut dengan download dan alat yang digunakan
disebut dengan downloader. Seperti sistem komputer nilai tambah sistem
mikrokontroler dapat dilipatgandakan melalui program. Mikrokontroler diproduksi
dalam bentuk rangkaian terpadu (IC) seperti gambar dibawah ini.
Gambar 2.1. Gambaran Umum Mikrontroler
Secara sederhana mikrokontroler adalah mikroprosesor yang dilengkapi dengan
periperal dan peralatan pendukung yang di dalam mikroprosesor tidak dilengkapi.
Dalam sistem tertanam berbasis mikroprosesor, pengantara periferal dan peralatan
tambahan di luar mikroprosesor itu. Mikrokontroler menerapkan arsitektur Harvard,
dalam arsitektur ini penjemputan instruksi dapat dilaksanakan secara bersamaan
dengan pemindahan data. Tetapi dalam kebanyakan mesin dengan arsitektur Harvard
juga memori tersebut dihubungkan ke bus bersama sehingga paralelismenya sangat
berkurang. Secara umum, mikrokontroler mengandung tujuh komponen : Prosesor
(CPU), ROM, RAM, bandar (port) I/O, Rangkaian Interupsi, Timer, dan Bus yang
dihubungkan.
- Prosesor : Prosesor (CPU) melaksanakan penjemputan intruksi dari
memori mendekodekan dan menjalankannya dan mengarahkan perpindahan
data antar register atau antara register dan memori.
- ROM : digunakan untuk menyimpan data yang bersifat permanen.
Dalam mikrokontroler program disimpan dalam ROM, atau EPROM atau
Flash EPROM. Ada mikrokontroler yang dapat ditambah ROM eksternal di
luar serpih mikrokontroler. Disamping ROM untuk program juga digunakan
EEPROM untuk menyimpan data.
- RAM : RAM digunakan untuk menyimpan data yang bersifat
sementara. Dalam mikrokontroler, RAM yang tersedia sangat sedikit yang
sebagiannya digunakan lagi sebagai register prosesor, dikatakan register
dipetakan sebagai memori.
- Timer : Timer (pewaktu) adalah counter (pencacah) yang digunakan
untuk membangkitkan pulsa atau deretan pulsa pada saat-saat tertentu atau
dengan frekuensi tertentu. Pulsa ini digunakan untuk sebagai inetrupsi internal
mikrokontroler, pencacah ini adalah pencacah naik, berbeda dengan pencacah
turun yang diterapkan dalam sistem mikroprosesor.
- Bandar I/O : Terdiri atas Port Paralel dan Port Seri yang mempunyai
kemampuan tristate. Pada sebagian mikrokontroler disediakan bandar
masukan/keluaran analog. Fungsi bandar ini pada umumnya dipilih
(dikonfigurasi) sebagai masukan/keluaran paralel/seri analog. Arah aliran data
pada Port masukan/keluaran pada umumnya dipilih melalaui register arah
(Data Direction Register, disingkat DDR). Port ini juga dipetakan sebagai
memori.
- Interupsi : interupsi dapat dibedakan atas interupsi perangkat lunak yang
dibangkitkan oleh interupsi yang ditanamkan dalam program dan interupsi
perangkat keras yang dibangkitkan oleh sinyal perangkat keras yang baik yang
berasal dari sumber internal seperti timer atau sumber eksternal dari port seri
atau paralel.
- Bus : bus adalah saluran yang melakukan (membawa) sinyal-sinyal
perangkat keras. Sebagaimana dalam mikroprosesor, bus dibedakan atas bus
data, alamat dan kontrol. Bus data melakukan data antara register dan memori
atau I/O, bus ini bersifat dua arah.
Beberapa contoh keluarga mikrokontroler :
- Keluarga AVR
2.2. ATMEGA8
AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat
berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan
seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena
di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah
memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup
hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset.
Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM
sekitar 128 byte sampai dengan 512 byte.
Gambar 2.2. ATMEGA8
AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC
yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan
konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan
maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L
Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 -
5,5V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5–5,5 V.
2.2.1. Konfigurasi Pin Atmega8
Gambar 2.3. Konfigurasi Pin Atmega8
ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang
berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan
fungsi dari masing-masing kaki ATmega8.
a. VCC
Merupakan supply tegangan digital.
b. GND
Merupakan ground untuk semua komponen yang membutuhkan grounding.
c. Port B (PB7...PB0)
Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B
adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat
bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang
terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan
arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input
Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal,
bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber
clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output
oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk
memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal,
PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan maka PB6 dan
PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.
Tabel 2.1. Fungsi Alternatif Port B
d. Port C (PC5…PC0)
Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam
masing-masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin
C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki
karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan
sebesar 10bit. ADC dapat kita gunakan untuk mengubah input yang berupa
tegangan analog menjadi data digital. I2C (SDA dan SDL) merupakan salah satu
fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor
atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas,
accelerometer nunchuck, dll.
e. RESET/PC6
Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin
ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapat pada port
C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan
berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini
rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan
menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja. RESET
merupakan salah satu pin penting di mikrokontroler, RESET dapat digunakan
untuk merestart program. Pada ATMega8 pin RESET digabungkan dengan salah
satu pin IO (PC6). Secara default PC6 ini di disable dan diganti menjadi pin
RESET. Kita dapat melakukan konfigurasi di fusebit untuk melakukan
pengaturannya.
f. Port D (PD7…PD0)
Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor.
Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini
tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi
sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.
Tabel 2.3. Fungsi Alternatif Port D
USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level
sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD
kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial.
Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi
hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan
pada saat program berjalan kemudian terjadi interupsi hardware/software maka
program utama akan berhenti dan akan menjalankan program interupsi. XCK
dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga
dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external
timer 0. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
comparator.
g. Avcc
Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus
dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog
saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk
menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka
AVcc harus dihubungkan ke VCC melalui low pass filter.
h. AREF
Merupakan pin referensi jika menggunakan ADC.
2.2.2. Status Register
Pada AVR status register mengandung beberapa informasi mengenai hasil
dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk
altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian.
Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti
yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference.
Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan
instruksi perbandingan yang telah didedikasikan serta dapat menghasilkan
peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat.
Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi
dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun
Gambar 2.4. Status Register ATMega8
Penjelasan :
Bit 7(I)
Merupakan bit Global Interrupt Enable. Bit ini harus di-set agar semua perintah
interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada
bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang
individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau
cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali
oleh perintah RETI. Bit ini juga dapat di-set dan di-reset melalui aplikasi dan intruksi
SEI dan CLL.
Bit 6(T)
Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST
(Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah
dioperasikan. Sebuah bit dari sebuah register dalam Register File dapat disalin ke
dalam bit ini dengan menggunakan instruksi BST, dan sebuah bit di dalam bit ini
dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan
perintah BLD.
Bit 5(H)
Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam
beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.
Merupakan Sign bit. Bit ini selalu merupakan sebuah ekslusif di antara Negative Flag
(N) dan two’s Complement Overflow Flag (V).
Bit 3(V)
Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan fungsi
aritmatika dua komplemen.
Bit 2(N)
Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam
sebuah fungsi logika atai aritmatika.
Bit 1(Z)
Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan sebuah
fungsi aritmatika atau logika.
Bit 0(C)
Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam
sebuah aritmatika atau logika.
2.2.3. Memori AVR Atmega
Memori atmega terbagi menjadi tiga yaitu :
a. Memori Flash
Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash
menunjukan jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori
flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian
aplikasi adalah bagian kode-kode program apikasi berada. Bagian boot adalah
bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk
menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui
Gambar 2.5. Peta Memory ATMEGA8
b. Memori Data
Memori data adalah memori RAM yang digunakan untuk keperluan program.
Memori data terbagi menjadi empat bagian yaitu : 32 GPR (General Purphose
Register) adalah register khusus yang bertugas untuk membantu eksekusi
program oleh ALU (Arithmatich Logic Unit), dalam instruksi assembler setiap
instruksi harus melibatkan GPR. Dalam bahasa C biasanya digunakan untuk
variabel global atau nilai balik fungsi dan nilai-nilai yang dapat memperingan
kerja ALU. Dalam istilah processor komputer sahari-hari GPR dikenal sebagai
“chace memory”.I/O register dan Aditional I/O register adalah register yang
difungsikan khusus untuk mengendalikan berbagai pheripheral dalam
mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register ini
dalam keluarga mikrokontrol MCS51 dikenal sebagai SFR (Special Function
Register).
c. EEPROM
EEPROM adalah memori data yang dapat mengendap ketika chip mati (off),
digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu
2.2.4. Timer/Counter 0
Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber
pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan
kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk :
- Timer/counter biasa.
- Clear Timer on Compare Match (selain Atmega 8)
- Generator frekuensi (selain Atmega 8)
- Counter pulsa eksternal
2.2.5. Komunikasi Serial Pada Atmega 8
Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin 3 untuk
melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun
mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data
sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan
receiver satu sumber clock. Sedangkan asinkron berarti transmiter dan receiver
mempunyai sumber clock sendiri-sendiri. USART terdiri dalm tiga blok yaitu clock
2.2.6. Arsitektur Mikrokontroler Atmega8
Gambar 2.6. Blok Diagram ATmega8
2.2.7. Kelebihan (Fitur) Mikrokontroler AVR ATmega8
Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya
rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC.
Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega8 memiliki
memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan
kecepatan pemrosesan. Berikut kelebihan yang dimiliki ATmega8 :
1. Kinerja Tinggi, Low-power AVR® 8-bit Microcontroller
Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit
AVR RISC-based microcontroller... The device supports throughput of 16
MIPS at 16 MHz and operates between 2.7-5.5 volts". AVR (Alf (Egil Bogen)
and Vegard (Wollan) 's Risc processor) mengeluarkan ATmega8 dengan fitur
yang sangat menarik untuk dicoba. Selama ini Penulis masih merasakan bahwa
ATmega8 sangat bagus dalam hal kinerja, cocok untuk penelitian, pembuatan
produk, bahkan untuk pembelajaran Robotik. Disamping kinerjanya yang
handal, ATmega8 juga hemat energi (daya rendah), karena mampu beroperasi
pada tegangan 2,7 sampai 5,5 Volt, dan hanya mengkonsumsi arus sebesar 3,6
mA.
2. Kemajuan Arsitektur RISC
Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing
(RISC) atau "set instruksi Komputasi yang disederhanakan".
Arsitektur Reduced Instruction Set Computing (RISC) atau "Set instruksi
Komputer yang disederhanakan" pertama kali digagas oleh John Cocke,
peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia
membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata
menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang
menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah
RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada
University of California di Berkely . Atmel AVR adalah jenis mikrokontroler
Mikrokontroler AVR ini memiliki arsitektur RISC delapan bit, di mana semua
instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar
instruksi dieksekusi dalam 1 (satu ) siklus clock.
3. Daya Tahan Tinggi dan Segmen Memori non-volatile.
Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika
suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C. ATmega8
memiliki 8 KB (KiloByte) memori Flash internal yang dapat dimasukan kode
program utama (seperti file .hex) sehingga cukup untuk diterapkan dalam
penelitian skala kecil - menengah. Disamping memori Flash, ATmega8 juga
memiliki 512 Byte EEPROM yang dapat menampung data meskipun dalam
keadaan OFF. Mikrokontroler ini juga memiliki 1K Byte Internal SRAM
sehingga proses data bisa lebih cepat.
Gambar 2.7. Flash ATmega8
Kelebihan lainnya dari ATmega8 adalah :
Dapat diisi data (write) dan dihapus (eraser) sampai 10.000 kali (untuk Flash)
dan 100.000 kali untuk EEPROM
Memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C
Terdapat pilihan Kode Boot Section dengan Lock Bits independen
Sistem keamanan data dengan mengunci program untuk Software Security
2.3. Sensor MQ-2
MQ-2 adalah komponen elektronika untuk mendeteksi kadar gas hidrokarbon
seperti iso butana (C4H10 / isobutane), propana (C3H8 / propane), metana (CH4 /
methane), etanol (ethanol alcohol, CH3CH2OH), hidrogen (H2 / hydrogen),
liquid petroleum gas). Gas sensor ini dapat digunakan untuk
mendeteksi kebocoran gas di rumah / pabrik, misalnya untuk membuat rangkaian
elektronika pendeteksi kebocoran elpiji.
MQ-2 berfungsi untuk mendeteksi keberadaan asap rokok di udara. Sensor akan
mendeteksi keberadaan gas yang terkandung dalam asap rokok seperti asap maka
resistansi elektrik sensor akan turun. Memanfaatkan prinsip kerja dari sensor MQ-2
ini, kandungan gas asap tersebut dapat terdeteksi. Sensor MQ-2 ini memiliki 6 buah
masukan yang terdiri dari tiga buah supply power (VCC) sebasar +5 volt untuk
mengaktifkan heater dan sensor, VSS (Ground), dan pin keluaran dari sensor tersebut.
Pin keluaran dari sensor dihubungkan dengan ADC 0832 pada chanel 2 sebagai
masukan. Tampilan sensor asap rokok MQ-2 seperti pada gambar di bawah ini.
Nilai RL sesuai dengan datasheet yaitu 10 KΩ. Tingkat sensitivitas sensor
MQ-2 bervariasi untuk masing-masing tipe gas hidrokarbon yang dapat dideteksi
sesuai tabel berikut ini:
• LPG & propana: 200 - 5000 ppm
• i-butana: 300 - 5.000 ppm
• metana: 5.000 - 20.000 ppm (untuk sensor yang lebih sensitif terhadap
methane, gunaka
• hidrogen: 300 - 5.000 ppm
• etanol / alkohol: 100 - 2.000 ppm (bila diperlukan sensor yang spesifik untuk
alkohol, gunaka
Keluaran sensor ini berupa resistansi analog yang dengan mudah dapat dikonversi
menjadi tegangan dengan menambahkan satu resistor biasa (bisa juga menggunakan
potensiometer sehingga ambang batas sensitivitas deteksi dapat disetel sesuai
kebutuhan). Dengan mengkonversi impedansi ini menjadi tegangan, hasil bacaan
sensor dapat dibaca oleh pin ADC (analog to digital converter) pada
Nilai resistansi dari MQ-2 adalah perbedaan untuk berbagai jenis dan berbagai gas
konsentrasi. Sensor ini, penyesuaian sensitivitas sangat diperlukan dengan
mengkalibrasi detektor untuk 1000ppm liquified petroleum gas (LPG), atau
konsentrasi 1000ppm iso-butana (i-C4H10) nilai udara dan penggunaan Resistensi
beban yang (RL) sekitar 20 KΩ (5KΩ dengan 47 KΩ). Ketika akurat mengukur, titik
alarm yang tepat untuk detektor gas harus ditentukan setelah mempertimbangkan
2.4. Code Vision AVR
CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman
microcontroller keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang
telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program
generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya,
Compiler C yang digunakan hampir mengimplementasikan semua komponen standar
yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis
operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun
demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk
microcontroller ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur
AVR tempat program C tersebut ditanamkan (embedded).
Ada beberapa program yang dapat digunakan sebagai editor dan compiler untuk
mikrokontroler AVR, salah satunya adalah Code Vision. CodeVision AVR
merupakan sebuah software yang digunakan untuk memprogram mikrokontroler
sekarang ini telah umum. CodeVision AVR adalah salah satu alat bantu pemrograman
yang bekerja dalam pengembangan di lingkungan perangkat lunak yang telah
terintegrasi (Integrated Development Environment, IDE). Seperti aplikasi IDE lainnya
Code VisionAVR dilengkapi dengan source code editor, compiler, linker, dan dapat
memanggil Atmel AVR Studio untuk debuggernya. Mulai dari penggunaan untuk
kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat
berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan
menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler
menggunakan fasilitas yang sudah disediakan oleh program tersebut.
Salah satu compiler program yang umum digunakan sekarang ini adalah
mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini
memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan. Untuk
memulai menjalannkan CodeVision buka program CodeVision lalu melalui menu
Start|ALL Program||CodeVision|CodeVisionAVR C Compiler atau melalui lambang
CodeVision melalui dekstop.
2.5. LCD (Liquid Cristal Display)
LCD (Liquid Cristal Display) adalah salah satu komponen elektronika yang
berguna untuk menampilkan suatu data, baik karakter, huruf maupun grafik.
Tampilan LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta
rangkaian pendukungnya termasuk ROM dan pelengkap lainnya. LCD mempunyai
pin data, kontrol catu daya, dan pengatur kontras tampilan. LCD dapat bekerja dengan
tegangan sebesar 5 volt yang didapat dari keluaran mikrokontroler, untuk itu biasanya
LCD dihubungkan dengan mikrokontroler.
LCD adalah modul penampil yang banyak digunakan karena tampilannya
menarik. LCD yang paling banyak digunakan saat ini ialah LCD M1632 refurbish
karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan
2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi
dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.
Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD
memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character
Generator Random Access Memory), dan DDRAM (Display Data Random Access
Memory). driver LCD seperti HD44780 memiliki dua register yang aksesnya diatur
menggunakan pin RS. Pada saat RS berlogika 0, register yang diakses adalah perintah,
sedangkan pada saat RS berlogika 1, register yang diakses adalah register data.
Gambar 2.10. Susunan Alamat pada LCD
Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris
kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2
kolom pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang
digunakan 2x16 atau 2x24, atau bahkan 2x40, maka penulisan programnya sama saja.
CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana
bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun, memori
akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut
tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar adalah pada kaki 1
VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.
Kaki pin LCD 16x2 memiliki beberapa fungsi dan kegunaan yang sesuai dengan
karakteristik sebagai berikut :
1. Pin data
Pin data dapat dihubungkan dengan bus data dari rangkaian lain seperti
Mikrokontroler dengan lebar data 8 bit. Pin data ini berguna untuk menampilkan data
yang terbaca dari mikrokontroler.
2. Pin RS (Register Select)
Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data
yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah
perintah, sedangkan logika high menunjukan yang masuk adalah data.
3. Pin R/W (Read Write)
Pin R/W (Read Write) berfungsi sebagai instruksi pada LCD jika low tulis data,
sedangkan high baca data. Pin R/W juga sering disebut dengan pin perintah.
4. Pin E (Enable)
Pin E (Enable) digunakan untuk membaca data baik masuk atau keluar. Data masukan
ataupun keluaran dari mikrokontroler yang akan ditampilkan pada layar LCD 16x2.
5. Pin LCD
Pin LCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini
dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan dengan
ground, sedangkan tegangan catu daya yang dibutuhkan untuk mengaktifkan LCD
sebesar 5 volt.
2.5.1 Cara Kerja LCD
Untuk menerima data dari mikrokontroler adalah pin D1-D7 dimana untuk
mengirimkan data ke mikrokontroler. Setiap menerima atau mengirimkan data untuk
mengaktifkan LCD diperlukan sinyal E (chip Enable) dalam bentuk perpindahan
logika 1 ke logika 0. Sedangkan pin RS (Register Selector) berguna untuk memilih
instructio register (IR) atau data register (DR). Jika nilai RS 1 dan R/W 1 maka akan
dilakukan operasi penulisan data ke DDRAM atau CGRAM. Sedangkan jika RS
berlogika 1 dan berlogika R/W 1 maka akan membaca data dari DDRAM atau
CGRAM ke register DR. Karakter yang ditampilkan ke display disimpan di memori
DDRAM.
Fungsi display dalam suatu aplikasi microcontroller sangat penting sekali .
diantaranya untuk:
• Memastikan data yg kita input valid
• Mengetahui hasil suatu proses
• Memonitoring suatu proses
• Mendebug program
BAB III
SISTEM KERJA RANGKAIAN
3.1. Perancangan Sistem
Dalam bab ini akan dibahas mengenai perancangan dan pembuatan perangkat
keras serta perangkat lunak pendukungnya. Seperti pengambilan data asap rokok yang
diperoleh dari sensor MQ-2 berupa tegangan kemudian diolah menggunakan
mikrokontroler ATMEGA8 dan melalui antarmuka ADC pada port ADCnya.
Rangkaian yang digunakan terdiri dari sensor MQ-2, minimum sistem ATMEGA8,
dan LCD. Sedangkan software pemrograman yang digunakan CodeVisionAVR.
Perancangan dan pembuatan rangkaian sensor MQ-2 beserta perangkat
pendukungnya.
Berdasarkan blok diagram pada Gambar 3.1. di atas, terdapat beberapa
komponen, yang berfungsi sebagai berikut :
1. Mikrokontroler Atmega8 sebagai pemproses atau sebagai pengolahan data dan
sebagai sistem yang dapat mengubah dari nilai tegangan menjadi nilai digital
atau dengan kata lain ADC yang di dapat dari sensor MQ-2.
2. Sensor MQ-2 alat pendeteksi kandungan asap rokok.
3.2. Prinsip Kerja Alat
Ketika di dalam sebuah ruangan memiliki kandungan asap maka sensor MQ-2
akan mengekuarkan sinyal berupa perubahan tegangan yang terjadi berbandng lurus
dengan kandugan gas asap yang disekitarnya. Jadi sensor MQ-2 tersebut berubah nilai
tegangan itu akibat dari kandungan gas asap yang ada disekitarnya.
Pertama sekali alat bekerja sensor MQ-2 akan membaca terlebih dahulu selama
60 detik di udara bersih sebagai titik ukur kalibrasi. Setelah itu sensor akan membaca
kembali secara berkala sebagai pendeteksi adanya asap atau kandungan gas disekitar
sensor yang kemudian sinyal atau perubahan tegangannya akan terbaca ke
mikrokontroler yang dikonversikan melalui ADC menjadi nilai digital dan dihitung
menggunakan persamaan yang terdapat pada datasheet sensor MQ-2 sebagai
perubahan nilai ADC atau nilai digital menjadi nilai kandungan gas CO.
Nilai yang sudah dikonversi akan ditampilkan menggunakn LCD berupa
karakter dengan satuan ppm.
3.3. Rangkaian Alat Ukur Konsentrasi Asap Rokok
3.3.1. Sistem Minimum ATMEGA8
Sistem Minimum merupakan bagian utama dari pembuatan alat ini yang
berfungsi sebagai pusat kendali dari seluruh sistem. Pada bagian ini terdiri dari
mikrokontroler ATMEGA8, crystal 12MHz, kapasitor non polar, kapasitor bipolar,
resistor, dan IC7805. Pada Port B 6 dan 7 dihubungkan dengan crystal dan dua buah
kapasitor. Pada Port C 6 atau RESET terpasang resistor pull up sebesar 10 kiloOhm
sebagai nilai awal yang berlogika satu dimana reset akan aktif ketika berlogika rendah
dalam hal ini Pin Reset terhubung dengan ground melalui push button. Jadi ketika
maka tegangan akan sama atau mendekati dengan tegangan Vcc atau berlogika 1.
Adapun gambar rangkaian dapat dilihat :
Gambar 3.2. Rangkaian Sistem Minimum ATMEGA8
3.3.2. Rangkaian Sensor MQ-2
Sensor MQ-2 memiliki tiga buah pin yakni diantaranya VCC, GND, data. Pin
data dari sensor tersebut terhubung dengan PC.0 pada mikrokontroler. Dimana PC.0
adalah port ADC dari mikrokontroler yang akan dikonversi dengan antarmuka ADC.
3.3.3. Rangkaian LCD
Gambar 3.4. Rangkaian LCD
Dari gambar diatas port yang dipakai untuk menghubungkan LCD dengan
mikrokontroler terdapat pada tabel dibawah ini :
Tabel 3.1. Pin Yang Dipakai pada LCD
Rangkaian regulator digunakan untuk mengeluarkan tegangan 5V yang menggunakan
sebuah IC 7805 dan tiga buah kapasitor. Dalam hal ini tegangan yang masuk pada pin
7805 akan dikonversi menjadi tegangan output DC 5V.
3.3.5. Rangkaian Keseluruhan
Gambar 3.7. Rangkaian Keseluruhan
Ini adalah rangkaian dari keseluruhan alat ukur konsentrasi asap rokok berbasis
3.4. Algoritma dari Alat Ukur
Mulai
Inisialisasi Port LCD, ADC
<60 Detik kalibrasi
A
Baca Nilai Sensor
Konversi Nilai Pembacaan Ke ppm
Tampilkan di LCD Pembacaan
Sensor
A
TIDAK
YA
Proses Kalibrasi
BAB IV
ANALISA DAN PENGUJIAN ALAT
4.1. Umum
Pada bab ini dilakukan pengujian alat terhadap beberapa sampel dimana hasil
pengukuran yang terbaca berupa nilai digital dengan satuan ppm (part per million).
Dengan sampel yaitu, asap rokok yang mengandung gas CO. Pengujian ini dilakukan
di dalam ruangan tertutup dan di batasi luasnya. Adapun yang menjadi fokus daripada
uji coba alat ini adalah kestabilan pembacaan pengukuran dari alat ukur tersebut
terhadap sampel asap rokok.
4.2. Pengujian Alat
4.2.1. Pengujian Sistem Minimum
Pengujian sistem minimum Atmega8 dilakukan dengan cara memprogram sistem
minimum Atmega8 menggunakan downloader lalu di program. Apabila sistem
minimum Atmega8 dapat di erase pada program Code Vision AVR maka sistem
minimum Atmega8 tersebut dalam keadaan bagus. Dan hasil dari pengujian alat ini
adalah sistem minimum Atmega8 yang saya gunakan daapat di erase.
4.2.2. Pengujian Sensor MQ-2
Pengujian Sensor MQ-2 dilalakukan dengan cara mengukur tegangan yang terdapat
pada PIN VCC dan Data pada sensor tersebut. Dengan membandingkan tegangan
mendeteksi adanya sap tersebut. Berikut tabel pengukurannya menggunakan
multimeter digital :
Tabel 4.1. Data Pengujian Sensor MQ-2
No. MQ-2 tidak ada asap MQ-2 ada asap
VSS (V) S (V) VSS(V) S(V)
1. 4,89 1,5 4,89 3,5
2. 4,85 1,3 4,92 3,45
4.2.3. Pengujian LCD
Pengujian LCD adalah dengan cara memprogram LCD dengan Code Vision AVR
dengan bahasa C yang di dalamnya terdapat command tersebut :
lcd_clear();
Setelah itu akan di masukkan ke dalam sistem minimum Atmega8 dengan downloader
dan hasilnya adalah backlight LCD tersebut hidup.
4.2.4. Pengujian rangkaian regulator
Pengujian rangakaian regulator adalah dengan cara memberi tegangan maksimal 12V
pada rangkaian, lalu rangkaian di ukur dengan multimeter digital dan hasil yang
4.3. Data Analisa Pengukuran Asap Rokok
Pengujian dilakukan berulang kali sebanyak 10 kali pengujian dengan melakukan
proses kalibrasi untuk setiap awal pembacaan data. Pengujian ini dilakukan juga
dengan suhu sekitar 33o C. Data pengujian dapat dilihat pada tabel dibawah ini:
Tabel 4.2. Data Pengujian
Dari gambar grafik diatas menunjukkan bahwa kandungan karbon monoksida lebih
banyak terdapat dalam asap rokok.
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Kesimpulan yang didapat dari hasil pengujian adalah sebagai:
1 Alat ini dapat mengukur asap bakaran seperti asap rokok yang di
dalamnya terdapat gas CO, dan gas asap bakaran lainnya.
2 Perbandingan antara gas CO dan asap rokok yang diukur adalah
berbanding terbalik, apabila asap rokok yang yang diukur kecil maka
gas CO yang diukur akan besar nilainya.
3 Apabila pengukuran di ruangan tertutup semakin lama waktu
pengujianya maka gas yang diukur tersebut akan semakin besar nilai
terukurnya.
5.2. Saran
Setelah melakukan penulisan ini diperoleh beberapa hal yang dapat dijadikan saran
untuk dapat dilakukan perancangan lebih lanjut, yaitu
1. Agar dilakukan peningkatan kemampuan pada alat ini, sehingga semakin cerdas
dengan mengkombinasikan dengan komponen lain, sehingga sistem kerjanya
akan lebih baik lagi.
2.
Untuk dimasa yang akan datang, agar alat ini dapat ditingkatkan dandikembangkan yang dilengkapi dengan tampilan LCD yang lebih canggih dan gas
DAFTAR PUSTAKA
1. Andrianto, Heri. 2013. “Pemrograman Mikrokontroler AVR Atmega16
Menggunakan Bahasa C”. Bandung. Informatika Bandung.
2. Budiharto, Widodo. 2008. “Panduan Pratikum Mikrokontroler AVR
Atmega16”. Jakarta . PT. Elex Media Kamputindo.
3. Budioko , Totok. 2005. “Belajar dengan Mudah dan Cepat Pemrograman
Bahasa C dengan SDCC pada Mikrokotroler AT89X051/AT 89C51/52 Teori,
Simulasi dan Aplikasi”. Yogyakarta. Penerbit Gava Media.
4. Sulistiyanto, Nanang. 2008. “Pemrograman Mikrokontroler R8C/13”. Jakarta .
PT. Elex Media Kamputindo.
5. Tarigan, Pernanti. 2011. “Sistem Tertanam (Embebbed System)”. Yogyakarta.
Graha Ilmu.
6.
7.
Program dari Alat Ukur
/*****************************************************
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
AVR Core Clock frequency : 12,000000 MHz
Memory model : Small
// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}
#define MQ_PIN 1
//define which analog input channel you are going to use
#define RL_VALUE 5
//define the load resistance on the board, in kilo ohms
#define RO_CLEAN_AIR_FACTOR 9.83
//RO_CLEAR_AIR_FACTOR=(Sensor resistance in clean air)/RO,
//which is derived from the chart in datasheet
/**************Software Related Macros************************************/
#define CALIBARAION_SAMPLE_TIMES 600
//define how many samples you are going to take in the calibration phase
#define CALIBRATION_SAMPLE_INTERVAL 100
//define the time interal(in milisecond) between each samples in the
//cablibration phase
#define READ_SAMPLE_INTERVAL 50
//define how many samples you are going to take in normal operation
#define READ_SAMPLE_TIMES 5
#define GAS_LPG 0
#define GAS_CO 1
#define GAS_SMOKE 2
float LPGCurve[3] = {2.3,0.21,-0.47};
float COCurve[3] = {2.3,0.72,-0.34};
float SmokeCurve[3]={2.3,0.53,-0.44};
float Ro = 10;
float MQResistanceCalculation(int raw_adc)
{
return ( ((float)RL_VALUE*(1023-raw_ad c)/raw_adc));
}
float MQCalibration(int mq_pin)
{
int i;
float val=0;
for (i=0;i<CALIBARAION_SAMPLE_TIMES;i++)
{ //take multiple samples
val += MQResistanceCalculation(read_adc(mq_pin));
delay_ms(CALIBRATION_SAMPLE_INTERVAL);
}
val = val/CALIBARAION_SAMPLE_TIMES;
//calculate the average value
val = val/RO_CLEAN_AIR_FACTOR;
//divided by RO_CLEAN_AIR_FACTOR yields the Ro
//according to the chart in the datasheet
return val;
for (i=0;i<READ_SAMPLE_TIMES;i++)
{
rs += MQResistanceCalculation(read_adc(mq_pin));
delay_ms(READ_SAMPLE_INTERVAL);
}
return rs;
}
int MQGetPercentage(float rs_ro_ratio, float *pcurve)
{
return (pow(10,( ((log(rs_ro_ratio)-pcurve[1])/pcurve[2]) + pcurve[0])));
}
int MQGetGasPercentage(float rs_ro_ratio, int gas_id)
{
if ( gas_id == GAS_LPG )
{
return MQGetPercentage(rs_ro_ratio,LPGCurve);
}
else if ( gas_id == GAS_CO )
{
return MQGetPercentage(rs_ro_ratio,COCurve);
}
else if ( gas_id == GAS_SMOKE )
{
return MQGetPercentage(rs_ro_ratio,SmokeCurve);
DDRD=0x00;
// ADC initialization
// ADC Clock frequency: 750,000 kHz
// ADC Voltage Reference: AVCC pin
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTD Bit 0
//Calibrating the sensor. Please make sure the sensor is in clean air
//when you perform the calibration
lcd_gotoxy(0,0);
lcd_putsf("Calibration is done...");
sprintf(buff,"Ro=%d",Ro);
delay_ms(500);
lcd_clear();
while (1)
{
LPG=MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_LPG);
CO=MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_CO);
SMOKE=MQGetGasPercentage(MQRead(MQ_PIN)/Ro,GAS_SMOKE);
lcd_clear();
lcd_gotoxy(0,0);
lcd_putsf("LPG CO SMOKE");
sprintf(buff,"%d %d %d",LPG,CO,SMOKE);
lcd_gotoxy(0,1);
lcd_puts(buff);
delay_ms(200);
}
Dokumentasi Pengerjaan Alat