Alat Ukur Kualitas Udara Menggunakan Sen

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 Dosen Pembimbing D3 Metrologi dan Instrumentasi

Projek Akhir 1

Dr. Diana Alemin Barus M.Sc Dr. Diana Alemin Barus M.Sc NIP. 19660729 199203 2 002

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

PENGHARGAAN

Alhamdulillahirabbil’alamiin, 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 syafa’atnya 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 mendo’akan 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.

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 Rabbal’alamin

Medan, Februari 2015 Hormat Saya,

Penulis

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 MQ- 135 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.

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 software pemrogramannnya, LCD 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 masing- masing. 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 (NO x ), Sulfur Dioksida (SO 2 ), debu serta kandungan Timah Hitam (Pb) dalam debu.

Tabel 2.1 Komposisi Udara Bersih Konsentrasi

Jenis gas

Sumber : Environmental Chemistry, Air and Water Pollution Tabel 2.2 Udara Bersih dan Udara Tercemar Menurut WHO

Udara Tercemar Bahan Partikel

Parameter

Udara Bersih

0,01 – 0,02 mg/m3

0,07 – 0,7 mg/m3

0,02 – 2 ppm CO

SO 2 0,003 – 0,02 ppm

< 1 ppm

5 – 200 ppm

NO 2 0,003 – 0,02 ppm

0,02 – 0,1 ppm

350 – 0,1 ppm Hidrokarbon

2.3 Sensor Gas MQ-135

MQ-135 Air Quality Sensor adalah sensor yang memonitor kualitas udara untuk mendeteksi gas amonia (NH 3 ), natrium-(di)oksida (NO x ), alkohol / ethanol (C 2 H 5 OH), benzena (C 6 H 6 ), karbondioksida (CO 2 ), gas belerang / sulfur-hidroksida (H 2 S) dan asap / gas- gas 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

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

Titik referensi untuk catu daya input

2 VCC

Terhubung ke catu daya (5 V)

3 RX TTL

Input serial level TTL ke modul Sensor

4 TX

Output serial level TTL ke modul Sensor

5 2 SDA I C-bus data input / output

6 2 SCL I C-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

2 dengan alamat I 2 C modul. Jika alamat I C adalah 0xE0 maka LED indikator akan berkedip 1

kali. Jika alamat I 2 C adalah 0xE2 maka LED indikator akan berkedip 2 kali. Jika alamat I C adalah 0xE4 maka LED indikator akan berkedip 3 kali dan demikian seterusnya sampai

alamat I 2 C 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 I 2 C 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 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

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 V egard’s 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, I 2

C, 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 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

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

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

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 Fungsi Khusus

PB7 SCK (SPI Bus Serial Clock) PB6 MISO (SPI Bus Master Input/ Slave Output) PB5 MOSI (SPI Bus Master Output/ Slave Input) PB4 SS (SPI Slave Select Input) PB3 AIN1 (Analog Comparator Negative Input)

OC0 (Timer/Counter0 Output Compare Match Output) PB2 AIN0 (Analog Comparator Positive Input)

INT2 (External Interrupt 2 Input) PB1 T1 (Timer/ Counter1 External Counter Input) PB0 T0 (Timer/Counter External Counter Input) XCK (USART External Clock Input/Output)

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 Fungsi khusus

PC7

TOSC2 ( Timer Oscillator Pin2)

PC6

TOSC1 ( Timer Oscillator Pin1)

PC5

TDI (JTAG Test Data In)

PC4

TDO (JTAG Data Out)

PC3

TMS (JTAG Test Mode Select)

PC2

TCK (Joint Test Action Group Test Clock)

PC1 SDA ( Two-wire Serial Bus Data Input/Output Line) PC0

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 Fungsi khusus

PD7 OC2 (Timer/Counter Output Compare Match Output) PD6

ICP (Timer/Counter1 Input Capture Pin)

PD5 OC1A (Timer/Counter1 Output Compare A Match Output) PD4 OC1B (Timer/Counter1 Output Compare B Match Output)

PD3

INT1 (External Interrupt 1 Input)

PD2

INT0 (External Interrupt 0 Input)

PD1

TXD (USART Output Pin)

PD0

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

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.

Tabel 2.7 Peta memory data ATMega 16

Register file

Data address space

I/O Registers

$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-260µs  8 saluran ADC dapat digunakan secara bergantian

 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 pemb agi 0 … 7 = 2, 4, 8, 16, 32, 64, 128.

Tabel 2.8 Konfigurasi Clock ADC

Division Factor

• ADC Multiplexer-ADMUX

Gambar 2.7 ADC Multiplexer

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

Trigger source

0 0 0 Free Running Mode

0 0 1 Analog Comparator

0 1 0 External Interrupt Request 0

0 1 1 Timer/Counter0 Compare Match

1 0 0 Timer/Counter0 Overflow

1 0 1 Timer/Counter Compare Match B

1 1 0 Timer/Counter1 Overflow

1 1 1 Timer/Counter1 Capture Event

ADHSM : 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 alal –alat 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

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 Deskripsi 1 Ground 2 Vcc 3 Pengatur kontras 4 “RS” Instruction/Register Select 5 “R/W” Read/Write LCD Registers 6 “EN” Enable

7-14

Data I/O Pins

15 Vcc 16 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).

Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus me nset 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 di set 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, Pada IBM PC kompatibel port serialnya termasuk jenis asinkron. Komunikasi data serial ini dikerjakan oleh UART (Universal Asynchronous Receiver Transmitter). Pada UART,

“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. Sebag ai 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, g anjil, 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

Tabel 2.11 Konfigurasi Port Serial

Pin Nama Sinyal

Direction

Keterangan

Data Carrier Detect/Receive Line Signal 1 DCD

In

Detect

Receive Data 3 TxD

2 RxD

In

Transmit Data 4 DTR

Out

Data Terminal Ready 5 GND

Data Set Ready 7 RTS

In

Request to Send 8 CTS

Out

Clear to Send 9 RI

In

In

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

Gambar 2.12 Konfigurasi Pin IC MAX232

Tabel 2.12 Fungsi IC MAX232

Nama No. C1+

Positive lead of C1 capacitor V+

2 0 Positive charge pump output for storage capacitor only C1-

Negative lead of C1 capacitor C2+

Positive lead of C2 capacitor C2-

Negative lead of C2 capacitor V-

6 0 Negative charge pump output for storage capacitor only T 2OUT, T 1OUT

0 RS232 line data output (to remote RS232 system) R 2IN ,R 1IN

1 RS232 line data input (from remote RS232 system) R 2OUT ,R 1OUT

0 Logic data output (to UART) T 2IN ,T 1IN

1 Logic data input (to UART) GND

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.

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,

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

 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 Real-

Time Clock PCF8563, PCF8583, DS1302, dan DS1307  Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820, DS18S20

 Inisialisasi modul LCD

Gambar 2.13 CodeVisionAVR

BAB III PERANCANGAN SISTEM

3.1 Diagram Blok Rangkaian

CATU DAYA

DETEKSI SENSOR GAS GAS

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.

Dokumen yang terkait

Analisis Pengaruh Pengangguran, Kemiskinan dan Fasilitas Kesehatan terhadap Kualitas Sumber Daya Manusia di Kabupaten Jember Tahun 2004-2013

21 388 5

Studi Kualitas Air Sungai Konto Kabupaten Malang Berdasarkan Keanekaragaman Makroinvertebrata Sebagai Sumber Belajar Biologi

23 176 28

Diskriminasi Daun Gandarusa (Justicia gendarrusa Burm.f.) Asal Surabaya, Jember dan Mojokerto Menggunakan Metode Elektroforesis

0 61 6

Kualitas hasil penelitian dosen universitas islam negeri (uin) syarif hidayatullah jakarta

4 70 107

Aplikasi Data Mining Menggunakan Metode Decision Tree Untuk Pemantauan Distribusi Penjualan Sepeda Motor Di PD. Wijaya Abadi Bandung

27 142 115

Analisis Prioritas Program Pengembangan Kawasan "Pulau Penawar Rindu" (Kecamatan Belakang Padang) Sebagai Kecamatan Terdepan di Kota Batam Dengan Menggunakan Metode AHP

10 65 6

Perancangan Sistem Informasi Akuntansi Laporan Keuangan Arus Kas Pada PT. Tiki Jalur Nugraha Ekakurir Cabang Bandung Dengan Menggunakan Software Microsoft Visual Basic 6.0 Dan SQL Server 2000 Berbasis Client Server

32 174 203

Penerapan Data Mining Untuk Memprediksi Fluktuasi Harga Saham Menggunakan Metode Classification Dengan Teknik Decision Tree

20 110 145

Pembangunan Sistem Informasi di PT Fijayatex Bersaudara Dengan Menggunakan Pendekatan Supply Chain Management

5 51 1

Prosedur Pelaporan Surat Pemberitahuan Pajak Pengahsilan (SPT PPn) Dengan Menggunakan Elektronik Surat Pemberitahuan (E-SPT PPn 1111) Pada PT. INTI (Persero) Bandung

7 57 61