CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan fasilitas Integrated Development Environment (IDE) dan didesain agar dapat menghasilkan kode program secara otomatis untuk mikrokontroler Atmel AVR.
Program ini dapat berjalan dengan menggunakan sistem operasi Windows® XP, Vista, Windows 7, dan Windows 8, 32-bit dan 64-bit. Integrated Development Environment (IDE) telah dilengkapi dengan fasilitas pemrograman chip melalui metode In-System Programming sehingga dapat secara otomatis mentransfer file program ke dalam chip mikrokontroler AVR setelah sukses dikompilasi.
CodeVisionAVR dapat menghasilkan kode program secara otomatis melalui fasilitas CodeWizardAVR Automatic Program Generator. Dengan adanya fasilitas ini maka penulisan program dapat dilakukan dengan cepat dan lebih efisien.
Seluruh kode dapat diimplementasikan dengan fungsi sebagai berikut:
Identifikasi sumber reset
Mengatur akses memori eksternal
Inisialisasi port input/output
Inisialisasi interupsi eksternal
Inisialisasi timer/counter dan watchdog timer
Inisialisasi USART dan interupsi buffer untuk komunikasi serial
Inisialisasi komparator analog dan ADC
Inisialisasi interface SPI dan two wire interface (TWI)
Inisialisasi interface CAN
Inisialisasi I2C Bus, sensor suhu LM75, thermometer/thermostat DS1621, dan real time clock PCF8563, PCF8583, DS1302, DS1307
Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20
Inisialisasi modul LCD
2.7 Bahasa C
Program C adalah berisi sekumpulan fungsi-fungsi. Eksekusi program akan diawali dengan mengeksekusi fungsi main(). Program bahasa C di compile menggunakan C Compiler. Compiler akan membaca seluruh source code dan mengkonversi kedalam object code (hasil translasi source code suatu program ke dalam bentuk yang dapat dieksekusi secara langsung oleh komputer). Source code sudah tidak digunakan setelah dilakukan kompilasi oleh compiler. object code juga sering disebut dengan binary code atau machine code. Bahasa C merupakan bahasa yang biasa digunakan untuk keperluan pemrograman sistem, antara lain untuk membuat: 1. Assembler 2. Interpreter 3. Compiler 4. Sistem Operasi 5.
Program bantu (utility) 6. Editor 7. Paket program aplikasi Beberapa program paket yang beredar seperti dBase dibuat dengan menggunakan bahasa C, bahkan sistem operasi UNIX juga dibuat dengan menggunakan bahasa C. Bahasa C sesungguhnya merupakan bahasa pemrograman yang serbaguna dan pemakaiannya tidak terbatas untuk pemrograman sistem, namun juga dapat digunakan untuk aplikasi bisnis, matematis maupun games, bahkan untuk aplikasi kecerdasan buatan. Dalam beberapa literatur, bahasa C digolongkan sebagai bahasa tingkat menengah (medium level language). Penggolongan ini bukan berarti bahasa C kurang ampuh atau lebih sulit dibandingkan dengan bahasa
tingkat tinggi (high level language - seperti Pascal, Basic, Fortran, Java, dan lain-lain), namun untuk menegaskan bahwa bahasa C bukanlah bahasa yang berorientasi pada pada mesin yang merupakan ciri dari bahasa tingkat rendah (low level language), yaitu bahasa mesin dan assembly. Pada kenyataannya, bahasa C mengkombinasikan elemen dalam bahasa tingkat tinggi dan bahasa tingkat rendah, yaitu kemudahan dalam membuat program yang ditawarkan pada bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa tingkat rendah.
Bahasa pemrograman C sama seperti bahasa pemrograman lainnya yang memiliki kerangka dasar. Kerangka Dasar Bahasa C adalah sebagai berikut : 1. Fungsi main(). Fungsi main merupakan fungsi utama yang wajib ada pada saat kita membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1 buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1 fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi lain selain fungsi main() yang bisa mempermudah kita dalam membuat sebuah program. 2. Deklarasi variabel Pendeklarasian variabel ini dilakukan untuk mendaftarkan variabel apa saja yang akan kita gunakan dalam program yang kita buat. Pendeklarasian variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel tersebut. 3. Perintah (statement) Perintah merupakan deretan program yang kita buat dalam sebuah project. 4. Akses library Digunakan untuk mengakses library apa saja yang kita perlukan dalam pembuatan sebuah program.
5. Komentar Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak akan ikut di compile atau diproses. Kelebihan dan Kekurangan Bahasa Pemrograman C Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu: KELEBIHAN 1. C mempunyai operator yang lengkap untuk memanipulasi data. 2. Berbagai struktur data dan pengendalian proses disediakan dalam C, sehingga memungkinkan dibuat program yang terstruktur, bahkan program yang berorientasi pada objek (OOP = Object Orientied Programming). 3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih mudah dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang digunakan sehingga tidak menyita waktu dalam menyelesaikan masalah ke dalam bentuk program. C merupakan bahasa yang
berorientasi pada permasalahan (objek), dan bukan berorientasi pada mesin. 4.
Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat dengan bahasa tingkat rendah, namum kemudahan dalam memprogram setara dengan bahasa tingkat tinggi. 5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte secara efisien. Disamping itu juga memungkinkan untuk melakukan manipulasi alamat dari suatu data yang dalam C dinamakan pointer.
KEKURANGAN Adapun kelemahan --atau lebih tepatnya kesulitan bahasa pemrograman C terutama yang dirasakan oleh pemrogram pemula diantaranya adalah: 1. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai, yang jika belum familiar akan menimbulkan masalah. 2. Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya, padahal keampuhan bahasa C justru terletak pada pointer.
2.8 PC (Preprocessor Compiler)
Salah satu kemudahan dalam membuat program dengan bahasa c adalah fasilitas preprocessor compiler. Preprocessor compiler mempersiapkan tahap awal sebelum kompilasi. Preprocessor diawali dengan simbol “#” dan diikuti kata khusus untuk mengarahkan compiler yang diadakan oleh tiap compiler.
Berikut preprocessor compiler yang umum dan perlu kita tahu :
#include
Pengarah compiler ini digunakan untuk memberitahu compiler agar menyalin isi suatu file ke dalam program. Deklarasi file header (*.h) dilakukan dengan pengarah compiler ini. File dengan ekstensi lainpun dapat disertakan dalam program dengan menggunakan #include.
#define
Kegunaan pengarah compiler ini adalah untuk:
1. Menetapkan nama pengganti dari konstanta yang sering dipakai.
2. Menggantikan nama variabel, port,tipe, data dan operator.
3. Membuat nama alias dari suatu ekpresi. Defenisi untuk menggantikan pernyataan atau ekpresi biasa disebut MAKRO.
4. Membuat makro untuk menggantikan satu baris pernyataan atau lebih.
5. Menentukan bagian-bagian dari program yang ikut compile.
2.9 Karbondioksida (CO2)
Karbon dioksida adalah senyawa kimia yang terdiri dari dua atom oksigen terikat kovalen dengan atom karbon. Berbentuk gas pada temperatur dan tekanan standar dan berada di atmosfer. Konsentrasi karbon dioksida di atmosfer bumi ± 387 pp.Tetapi jumlah bervariasi tergantung lokasi dan waktu. Karbon dioksida adalah gas rumah kaca yang penting karena mampu menyerap gelombang inframerah.
Karbon dioksida diproduksi oleh hewan, tumbuh-tumbuhan, fungi, dan mikroorganisme dalam respirasi dan dipergunakan tanaman pada fotosintesis.
Sehingga karbon dioksida termasuk komponen yang penting dalam siklus karbon.
Karbon dioksida juga dihasilkan dari pembakaran bahan bakar fosil. Karbon dioksida anorganik dikeluarkan dari gunung berapi dan proses geotermal lainnya seperti pada mata air panas. Karbon diambil dari atmosfer dengan berbagai cara:
1. Ketika matahari bersinar, tumbuhan melakukan fotosintesa untuk mengubah karbon dioksida menjadi karbohidrat, dan melepaskan oksigen ke atmosfer.
Proses ini akan lebih banyak menyerap karbon pada hutan dengan tumbuhan yang baru saja tumbuh atau hutan yang sedang mengalami pertumbuhan yang cepat.
2. Pada permukaan laut ke arah kutub, air laut menjadi lebih dingin dan CO2
akan lebih mudah larut. Selanjutnya CO2 yang larut tersebut akan terbawa oleh sirkulasi termohalin yang membawa massa air di permukaan yang lebih berat ke kedalaman laut atau interior laut (lihat bagian solubility pump).
3. Di laut bagian atas (upper ocean), pada daerah dengan produktivitas yang tinggi, organisme membentuk jaringan yang mengandung karbon, beberapa organisme juga membentuk cangkang karbonat dan bagian-bagian tubuh lainnya yang keras. Proses ini akan menyebabkan aliran karbon ke bawah (lihat bagian biological pump).
4. Pelapukan batuan silikat. Tidak seperti dua proses sebelumnya, proses ini tidak memindahkan karbon ke dalam reservoir yang siap untuk kembali ke atmosfer. Pelapukan batuan karbonat tidak memiliki efek netto terhadap CO2
atmosferik karena ion bikarbonat yang terbentuk terbawa ke laut dimana selanjutnya dipakai untuk membuat karbonat laut dengan reaksi yang sebaliknya (reverse reaction).
Karbon dapat kembali ke atmosfer dengan berbagai cara pula, yaitu:
1. Melalui pernafasan (respirasi) oleh tumbuhan dan binatang. Hal ini merupakan reaksi eksotermik dan termasuk juga di dalamnya penguraian glukosa (atau molekul organik lainnya) menjadi karbon dioksida dan air.
2. Melalui pembusukan binatang dan tumbuhan. Fungi atau jamur dan bakteri mengurai senyawa karbon pada binatang dan tumbuhan yang mati dan mengubah karbon menjadi karbon dioksida jika tersedia oksigen, atau menjadi metana jika tidak tersedia oksigen.
3. Melalui pembakaran material organik yang mengoksidasi karbon yang terkandung menghasilkan karbon dioksida (juga yang lainnya seperti asap).
Pembakaran bahan bakar fosil seperti batu bara, produk dari industri perminyakan (petroleum), dan gas alam akan melepaskan karbon yang sudah tersimpan selama jutaan tahun di dalam geosfer. Hal inilah yang merupakan penyebab utama naiknya jumlah karbon dioksida di atmosfer.
4. Produksi semen. Salah satu komponennya, yaitu kapur atau gamping atau kalsium oksida, dihasilkan dengan cara memanaskan batu kapur atau batu gamping yang akan menghasilkan juga karbon dioksida dalam jumlah yang banyak.
5. Di permukaan laut dimana air menjadi lebih hangat, karbon dioksida terlarut dilepas kembali ke atmosfer.
6. Erupsi vulkanik atau ledakan gunung berapi akan melepaskan gas ke atmosfer. Gas-gas tersebut termasuk uap air, karbon dioksida, dan belerang.
Jumlah karbon dioksida yang dilepas ke atmosfer secara kasar hampir sama dengan jumlah karbon dioksida yang hilang dari atmosfer akibat pelapukan silikat; Kedua proses kimia ini yang saling berkebalikan ini akan memberikan hasil penjumlahan yang sama dengan nol dan tidak berpengaruh terhadap jumlah karbon dioksida di atmosfer dalam skala waktu yang kurang dari 100.000 tahun.
BAB III
Fungsi dari Tiap Blok :
1. Blok Sensor Suhu : Sebagai input data suhu ruangan 2. Blok Senso Gas CO : Sebagai input data kadar CO di udara 3. Blok Mikrokontroller : Mengkonversi data dari sensor
4. Blok LCD : Sebagai penampil data
5. Blok Driver Kipas : Untuk mengatur hidup/mati kipas 6. Blok Motor Servo : Sebagai Pembuka/penutup jendela
7. Blok USB-TO-TTL : Sebagai konversi data serial dari mikro ke PC
8. Blok Interface PC : Sebagai penampil data & grafik dari sensor Dari diagram blok diatas dapat dilihat bahwa sistem mempunyai dua sensor yaitu sensor suhu untuk mendeteksi suhu udara pada ruangan dan sensor gas