BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

BAB II LANDASAN TEORI. Remote TV adalah suatu pengontrol, yang fungsinya untuk merubah dan

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. ATMega 8535 adalah mikrokontroller kelas AVR (Alf and Vegard s Risc

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

LAPORAN. Project Microcontroller Semester IV. Judul : Automatic Fan. DisusunOleh :

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

BAB II LANDASAN TEORI. dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

BAB II LANDASAN TEORI

MAKALAH BENGKEL ELEKTRONIKA PENDETEKSI KEBAKARAN DENGAN MENGGUNAKAN SENSOR SUHU LM355. Oeh:

BAB III PERANCANGAN SISTEM

RANCANGAN SISTEM PARKIR TERPADU BERBASIS SENSOR INFRA MERAH DAN MIKROKONTROLER ATMega8535

BAB 2 LANDASAN TEORI. yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam

BAB II LANDASAN TEORI

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB III DESKRIPSI MASALAH

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI. Mikrokontroler AVR (Alf and Vegard s RISC Processor) dari Atmel ini

BAB II LANDASAN TEORI

Pencipta bahasa C adalah Brian W. Kernighan dan Dennis M. Ritchie pada. sekitar tahun C adalah bahasa pemrograman terstruktur, yang membagi

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

BAB II TINJAUAN PUSTAKA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

BAB III MIKROKONTROLER

MICROCONTROLER AVR AT MEGA 8535

BAB II KAJIAN PUSTAKA. Karya Tulis Ilmiah milik Siswi Tri Utami, mahasiswa Politeknik

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

MICROCONTROLER AVR AT MEGA 8535

BAB 3 PERANCANGAN ALAT DAN PEMBUATAN SISTEM

IV. HASIL DAN PEMBAHASAN. Hasil dari perancangan perangkat keras sistem penyiraman tanaman secara

II. TINJAUAN PUSTAKA. menjadi sumber tegangan arus searah yang bersifat variable. Pengubah daya DC-

Dasar Pemrograman Mikrokontroler dengan Bahasa C

BAB III ANALISA DAN PERANCANGAN

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

Mikrokontroler AVR. Hendawan Soebhakti 2009

APLIKASI SENSOR UGN3505 SEBAGAI PENDETEKSI MEDAN MAGNET

BAB III METODE PENELITIAN. Metode penelitian yang digunakan adalah metode eksperimen. Eksperimen

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB 2 LANDASAN TEORI. sensor hall effect. Saat air mengalir melewati rotor, rotor akan berputar.

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

BAB II TINJAUAN PUSTAKA

Taufik Adi Sanjaya Website penulis :

BAB II TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

BAB III PERANCANGAN. Pada bab ini akan menjelaskan perancangan alat yang akan penulis buat.

BAB II LANDASAN TEORI

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

BAB II LANDASAN TEORI. dikatakan bayi tersebut sehat dengan berat badan lebih dari 2500 gram.

BAB II METODE PERANCANGAN APLIKASI

BAB 2 TINJAUAN TEORITIS. terdiri dari mikrokontroller ATmega8535, Isd2560, LM 35, Regulator 7805, LCD

METODE PENELITIAN. Penelitian ini dilaksanakan pada bulan Februari 2015 sampai dengan bulan Juli

BAB III PERANCANGAN ALAT

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB III ANALISIS MASALAH DAN RANCANGAN ALAT

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB 3 PERANCANGAN ALAT. Rangkaian Catu daya (Power Supply Adaptor) ini terdiri dari satu keluaran, yaitu 5

BAB II LANDASAN TEORI. Selain dari pada itu dapat juga dijadikan sebagai bahan acuan didalam

BAB II KONSEP DASAR PERANCANGAN

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 8 NO. 1 Maret 2015

BAB IV PERANCANGAN DAN PENGUJIAN ALAT. Perancangan perangkat keras otomasi alat pengering kerupuk berbasis

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB III ANALISA DAN PERANCANGAN

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB III PERANCANGAN SISTEM

III. METODE PENELITIAN. Penelitian tugas akhir ini dilaksanakan di Laboratorium Elektronika Dasar

BAB III METODE PENELITIAN

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB IV HASIL DAN PEMBAHASAN. Setelah pembuatan modul maka perlu dilakukan pendataan melalui proses

PROCEEDING. sepeti program untuk mengaktifkan dan PENERAPAN AUTOMATIC BUILDING SYSTEM DI PPNS. menonaktifkan AC, program untuk counter

3.2. Tempat Penelitian Penelitian dan pengujian alat dilakukan di lokasi permainan game PT. EMI (Elektronik Megaindo) Plaza Medan Fair.

BAB III PERANCANGAN Bahan dan Peralatan

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

BAB III PERANCANGAN. Mikrokontroler ATMEGA Telepon Selular User. Gambar 3.1 Diagram Blok Sistem

BAB III PERANCANGAN SISTEM

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

BAB III PERENCANAAN DAN REALISASI

BAB 3 PERANCANGAN ALAT. Sensor Utrasonik. Relay. Relay

BAB III PERENCANAAN DAN REALISASI

III. METODE PENELITIAN. Penelitian ini dilaksanakan mulai pada November 2011 hingga Mei Adapun tempat

BAB II DASAR TEORI. 2.1 Ethanol

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O, dimana

BAB III PERANCANGAN SISTEM

Sistem Mikrokontroler FE UDINUS

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Transkripsi:

BAB II LANDASAN TEORI 2.1 Mikrokontroler ATMega 8535 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. Bila dibandingkan dengan mikroprosesor, mikrokontroler jauh lebih unggul karena terdapat berbagai alasan, diantaranya : 1. Tersedianya I/O I/O dalam mikrokontroler sudah tersedia sementara pada mikroprosesor dibutuhkan IC tambahan untuk menangani I/O tersebut. IC I/O yang dimaksud adalah PPI 8255. 2. Memori Internal Memori merupakan media untuk menyimpan program dan data sehingga mutlak harus ada. Mikroprosesor belum memiliki memori internal sehingga memerlukan IC memori eksternal. Dengan kelebihan-kelebihan di atas, ditambah dengan harganya yang relatif murah sehingga banyak penggemar elektronika yang kemudian beralih kemikrokontroler. Namun demikian, meski memiliki berbagai kelemahan, mikroprosesortetap digunakan sebagai dasar dalam mempelajari mikrokontroler. Inti kerja dari keduanya adalah sama, yakni sebagai pengendali suatu sistem.

Mikrokontroler merupakan komputer di dalam chip yang digunakan untuk mengontrol peralatan elektronik, yang menekankan efisiensi dan efektifitas biaya. Secara harfiahnya bisa disebut pengendali kecil dimana sebuah sistem elektronik yang sebelumnya banyak memerlukan komponen-komponen pendukung seperti IC TTL dan CMOS dapat direduksi / diperkecil dan akhirnya terpusat serta dikendalikan oleh mikrokontroler ini. Dengan menggunakan mikrokontroler ini maka: 1. Sistem elektronik akan menjadi lebih ringkas. 2. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar dari sistem adalah perangkat lunak yang mudah dimodifikasi. 3. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak. Namun demikian tidak sepenuhnya mikrokontroler bisa mereduksi komponen IC TTL dan CMOS yang seringkali masih diperlukan untuk aplikasi kecepatan tinggi atau sekedar menambah jumlah saluran input dan output (I/O). dengan kata lain, mikrokontroler adalah versi mini atau mikro dari sebuah komputer karena mikrokontroler sudah mengandung beberapa bagian yang langsung bisa dimanfaatkan, misalnya port paralel, port serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital (ADC), dan sebagainya hanya menggunakan Minimum System yang tidak rumit atau kompleks. Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak komputer. Namun mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem input/output dalam suatu kemasan IC. Mikrokontroler AVR (Alf and Vegard s RISC processor) standar memiliki arsitektur 8-bit, dimana semua instruksi dikemas dalam kode 16- bit dan sebagian besar instruksi dieksekusi dalam satu siklus clock. Berbeda dengan instruksi MCS-51 yang membutuhkan 12 siklus clock karena memiliki arsitektur CISC (seperti komputer). Secara umum, AVR dapat dikelompokkan menjadi 4 kelas, yaitu keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan AT89RFxx. Pada dasarnya yang membedakan masing-masing kelas adalah memori, peripheral, dan fungsinya. Dari segi arsitektur dan instruksi yang digunakan, mereka bisa dikatakan hampir sama. Oleh karena itu, dipergunakan salah satu AVR produk Atmel, yaitu ATMega 8535. Selain mudah didapatkan dan lebih murah ATMega 8535 juga memiliki fasilitas yang lengkap. Untuk tipe AVR ada 3 jenis

yaitu ATTiny, AVR klasik, dan ATMega. Perbedaannya hanya pada fasilitas dan I/O yang tersedia serta fasilitas lain seperti ADC, EEPROM, dan lain sebagainya. Salah satu contohnya adalah ATMega 8535. Memiliki teknologi RISC dengan kecepatan maksimal 16 MHz membuat ATMega 8535 lebih cepat bila dibandingkan dengan varian MCS51. Dengan fasilitas yang lengkap tersebut menjadikan ATMega 8535 sebagai mikrokontroler yang powerfull. Adapun blok diagramnya sebagai berikut :

Gambar 2.1 Blok Diagram ATMega 8535

Dari gambar tersebut dapat dilihat bahwa ATMega 8535 memiliki bagian sebagai berikut : 1. Saluran I/O sebanyak 32 buah, yaitu Port A, Port B, Port C, Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. CPU yang terdiri atas 32 buah register. 5. Watchdog Timer dengan osilator internal. 6. SRAM sebesar 512 byte. 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Unit interupsi internal dan eksternal. 9. Port antarmuka SPI. 10. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 11. Antarmuka komparator analog.. 12. Port USART untuk komunikasi serial. Kapabilitas detail dari ATMega8535 adalah sebagai berikut : 1. Sistem mikroprosesor 8 bit bebrbasis RISC dengan kecepatan maksimal 16 MHz. 2. Kapabiltas memori flash 8 Kb, SRAM sebesar 512 byte, dan EEPROM (Electrically Erasable Programmable Read Only Memory) sebesar 512 byte. 3. ADC internal dengan fidelitas 10 bit sebanyak 8 channel. 4. Portal komunikasi serial (USART) dengan kecepatan maksimal 2,5 Mbps. 5. Enam pilihan mode sleep menghemat penggunaan daya listrik. 2.1.1 Konfigurasi PIN ATMega8535 Mikrokontroler ATMega8535 mempunyai jumlah pin sebanyak 40 buah, dimana 32 pin digunakan untuk keperluan port I/O yang dapat menjadi pin input/output sesuai konfigurasi. Pada 32 pin tersebut terbagi atas 4 bagian (port), yang masing-masingnya terdiri atas 8 pin. Pin-pin lainnya digunakan untuk keperluan rangkaian osilator, supply tegangan, reset, serta tegangan referensi untuk ADC. Untuk lebih jelasnya, konfigurasi pin ATMega8535 dapat dilihat pada gambar 2.9..

Gambar 2.2 Konfigurasi Pin ATMega8535 Berikut ini adalah susunan pin-pin dari ATMega8535; VCC merupakan pin yang berfungsi sebagai pin masukkan catu daya GND merupakan pin ground Port A (PA0..PA7) merupakan pin I/O dua arah dan pin masukan ADC Port B (PB0..PB7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Timer/Counter, Komparator Analog, dan SPI Port C (PC0..PC7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, Komparator Analog, dan Timer Oscilator Port D (PD0..PD7) merupakan pin I/O dua arah dan pin fungsi khusus, yaitu Komparator Analog, Interupsi Iksternal dan komunikasi serial USART Reset merupakan pin yang digunakan untuk mereset mikrokontroler XTAL1 dan XTAL2 merupakan pin masukkan clock eksternal (osilator menggunakan kristal, biasanya dengan frekuensi 11,0592 MHz)

2.1.2 Peta Memori ATMega8535 ATMega8535 memiliki dua jenis memori yaitu Data Memory dan Program Memory ditambah satu fitur tambahan yaitu EEPROM Memory untuk penyimpan data. 2.1.3 Program Memory ATMEGA8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, program memory dibagi menjadi dua bagian, yaitu Boot Flash Section dan Application Flash Section. Boot Flash Section digunakan untuk menyimpan program Boot Loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertama kali diaktifkan. Gambar 2.3 Peta Memori Program Application Flash Section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalakan program aplikasi ini sebelum menjalankan program Boot Loader. Besarnya memori Boot Flash Section dapat deprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika Boot Loader diproteksi, maka program pada Application Flash Section juga sudah aman.

2.1.4 Data Memory Gambar berikut menunjukkan peta memori SRAM pada ATMEGA8535. Terdapat 608 lokasi address data memori. 96 lokasi address digunakan untuk Register File dan I/O Memory sementara 512 likasi address lainnya digunakan untuk internal data SRAM. Register file terdiri dari 32 general purpose working register, I/O register terdiri dari 64 register. Gambar 2.4 Peta Memori Data 2.1.5 EEPROM Data Memory ATMEGA8535 memiliki EEPROM 8 bit sebesar 512 byte untuk menyimpan data. Loaksinya terpisah dengan system address register, data register dan control register yang dibuat khusus untuk EEPROM. Alamat EEPROM dimulai dari $000 sampai $1FF.

Gambar 2.5 EEPROM Data Memori 2.2 LCD (Liquid Crystal Display) Kegunaan LCD banyak sekali dalam perancangan suatu sistem dengan menggunakan menggunakan mikrokontroler, LCD (Liquid Crysral Display) dapat berfungsi untuk menampilakan suatu nilai hasil sensor, menampilakan teks, atau menampilakan menu pada aplikasi mikrokontroler. M1632 merupakan modul LCD matrix dengan konfigurasi 16 karakter dan 2 baris dengan setiap karakternya dibentuk oleh baris pixel dan 5 kolom pixel (1 baris pixel terakhir adalah kursor). Didalam modul M1632 sudah tersedia HD44780 yang dikeluarkan oleh Hitachi, Hyundai dan modul-modul M1632 lainnya. HD44780 sebetulnya merupakan mikrokontroler dirancang khusus untuk mengenendalikan LCD dan mempunyai kemampuan untuk mengatur proses scanning pada layar LCD yang terbentuk oleh 16 COM dan 40 SEG sehingga mikrokontroler/perangkat yang mengakses modul LCD ini tidak perlu lagi mengatur scanning pada layar LCD. Mikrokontroler atau perangkat tersebut hanya mengirim data-data yang merupakan karakter yang akan ditampilkan pada LCD atau perintah yang mengatur proses tampilan pada LCD saja.

Adapun konfigurasi dan deskripsi dari pin-pin LCD M1632 antara lain: 1. Pin 1 dihubungkan ke Gnd 2. Pin 2 dihubungkan ke Vcc +5V 3. Pin 3 dihubungkan ke bagian tengan potensiometer 10KOhm sebagai pengatur kontras. 4. Pin 4 untuk membritahukan LCD bahwa sinyal yang dikirim adalah data, jika Pin 4 ini diset ke logika 1 (high, +5V), atau memberitahukan bahwa sinyal yang dikirim adalah perintah jika pin ini di set ke logika 0 (low, 0V). 5. Pin 5 digunakan untuk mengatur fungsi LCD. Jika di set ke logika 1 (high, +5V) maka LCD berfungsi untuk menerima data (membaca data). Dan fungsi untuk mengeluarkan data, jika pin ini di set ke logika 0 (low, 0V). Namun kebanyakan aplikasi hanya digunakan untuk menerima data, sehingga pin 5 ini selalu dihubungkan ke Gnd. 6. Pin 6 adalah terminal enable. Berlogika 1 setiap kali pengiriman atau pembaca data. 7. Pin 7 Pin 14 adalah data 8 bit data bus (Aplikasi ini menggunakan 4 bit MSB saja, sehingga pin data yang digunkan hanya Pin 11 Pin 14). 8. Pin 15 dan Pin 16 adalah tegangan untuk menyalakan lampu LCD. Adapun gambar dari LCD 2x16 adalah sebagai berikut: Gambar 2.6 Struktur Memori LCD Modul LCD M1632 memilki beberapa jenis memori yang digunakan untuk menyimpan atau memproses data-data yang ditampilkan pada layar LCD. Setiap memori mempunyai fungsi-fungsi tersendiri

a. DDRAM DDRAM merupakan memori tempat karakter yang ditampilkan berada. Contohnya karakter A atau 41h yang ditulis pada alamat 00 akan tampil pada baris pertama dan kolom pertama dari LCD. Apabila karakter tersebut di alamat 40h, karakter tersebut akan tampil pada baris kedua kolom pertama darai LCD. b. CGRAM CGRAM merupakan memori untuk menggambarkan pola seluruh karakter dan bentuk karakter dapat diubah-ubah sesuai keinginan. Akan tetapi isi memori akan hilang saat power supplay tidak aktif sehingga pola karakter akan hilang. c. CGROM Adalah memori untuk menggambarkan pola sebuah karakter dan pola tersebut ditentukan secara permanen dari HD44780 sehingga pengguna tidak dapat menubah lagi. Oleh karena ROM bersifat permanen, pola karakter tersebut akan hilang walaupun power supplay tidak aktif. 2.3 Dasar Pemrograman Atmega 8535 dengan Bahasa C 2.3.1 Pendahuluan 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. 2.3.2 Bahasa Pemograman Mikrokontroler Pengembangan sebuah sistem menggunakan mikrokontroler AVR buatan ATMEL menggunakan software AVR STUDIO dan CodeVisionAVR. AVR STUDIO merupakan software yang digunakan untuk bahasa assembly yang mempunyai fungsi yang sangat lengkap, yaitu digunakan untuk menulis program, kompilasi, simulasi dan download program ke IC mikrokontroler AVR. Sedangkan CodeVisionAVR merupakan software C-cross Compiler, dimana program dapat ditulis dalam bahasa C, CodeVision memiliki IDE (Integrated development Environment) yang lengkap, dimana penulisan program, compile, link, pembuatan kode mesin (assembler) dan download program ke chip AVR dapat dilakukan dengan CodeVision, selain itu ada fasilitas terminal, yaitu melakukan komunikasi serial dengan mikrokontroler yang sudah di program. Proses download program ke IC mikrokontroler AVR dapat menggunakan System programmable Flash on-chip mengizinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI. 2.3.3 Pengenal pada bahasa C Pengenal merupakan sebuah nama yang didefinisikan oleh program untuk menunjukkan sebuah konstanta, variabel, fungsi, label, atau tipe data khusus. Pemberian pengenal pada program harus memenuhi syarat-syarat di bawah ini: 1. Karakter pertama tidak menggunakan angka; 2. Karakter kedua berupa huruf, angka, garis bawah,; 3. Tidak menggunakan spasi; 4. Bersifat case sensitive, yaitu huruf kapital dan huruf kecil dianggap berbeda; 5. Tidak boleh menggunakan kata-kata yang merupakan sintaks atau operator dari bahasa C.

Contoh menggunakan pengenal yang diperbolehkan: 1. Nama 2. _nama 3. Nama2 4. Nama_pengenal Contoh penggunaan pengenal yang tidak diperbolehkan: 1. 2nama 2. Nama+2 3. Nama pengenal 2.3.4 Tipe Data Pemberian signed dan unsigned pada tipe data menyebabkan jangkauan dari tipe berubah. Pada unsigned menyebabkan tipe data akan selalu bernilai positif sedangkan signed menyebabkan nilai tipe data bernilai negatif dan memungkinkan data bernilai positif. Perbedaan nilai tipe data dapat kita lihat pada tabel di bawah ini,

Tabel 2.1 Tipe Data Pemodifikasi Tipe Persamaan Jangkauan Nilai Signed char Char -128 s/d 127 Signed int Int -32.768 s/d 32.767 Signed short int Short, signed short -32.768 s/d 32.767 Signed long int Long, long int, signed long -2.147.483.648 s/d 2.147.483.647 Unsigned char Tidak ada 0 s/d 255 Unsigned int Unsigned 0 s/d 65.535 Unsigned short int Unsigned short 0 s/d 65.535 Unsigned long int Unsigned long 0 s/d 4.294.967.295 program, Contoh program yang menunjukkan pengaruh signed dan unsigned pada hasil #include <mega.8535> #include <delay.h> Void main (void) { int a, b; // pengenal unsigned d, e; a = 50; b = 40; d = 50; e = 40; PORTC = 0x00; DDRC = 0Xff; //set PORTC sebagai output PORTB = 0x00; DDRB = 0Xff; // set PORTB sebagai output { }; While(1) PORTB = a b; PORTC = d e; delay_ms(100); }

Program di atas akan memberikan data di PORTB = 10 (desimal) sedangkan PORTC = -10 (desimal) karena PORT mikrokontroler tidak dapat mengeluarkan nilai negatif maka PORTB dan PORTC akan memiliki keluaran 0x0A tapi pada kenyataannya PORTC lebih banyak memakan memori karena tanda negatif tersebut disimpan dalam memori. Pada program di atas terdapat tulisan //set PORTB sebagai output yang berguna sebagai komentar yang mana komentar ini tidak mempengaruhi hasil dari program. Ada dua cara penulisan komentar pada pemrograman bahasa C, yaitu dengan mengawali komentar dengan tanda // ( untuk komentar yang hanya satu baris ) dan mengawali komentar dengan tanda /* dan mengakhiri komentar dengan tanda */. Contoh: // ini adalah komentar /* ini adalah komentar Yang lebih panjang Dan lebih panjang lagi */ 2.3.5 Statement Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar. 2.3.6 Fungsi Function adalah bagian program yang dapat dipanggil oleh program utama. Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }

2.3.7 Pernyataan berkondisi dan pengulangan a. Pernyataan if Pernyataan if digunakan untuk pengambilan keputusan terhadap 2 atau lebih pernyataan dengan menghasilkan pernyataan benar atau salah. Jika pernyataan benar maka akan di jalankan instruksi pada blok-nya, sedangkan jika pernyataan tidak benar maka instruksi yang pada blok lain yang dijalankan ( sesuai dengan arah programnya). Contoh: if ( [pernyaratan] ) { [statement1]; [statement2]; } else { [statement3]; [statement4]; } b. Pernyataan for Pernyataan for juga digunakan untuk melakukan pengulangan sebuah pernyataan atau blok pernyataan, tetapi berapa kali jumah pengulangannya dapat ditentukan secara lebih spesifik. Bentuk pernyataan for adalah sebagai berikut : for (nilai_awal ; kondisi ; perubahan) { // sebuah pernyataan atau blok pernyataan } Nilai_awal adalah nilai inisial awal sebuah variabel yang didefenisikan terebih dahulu untuk menentukan niai variabel pertama kali sebelum penguangan. Kondisi merupakan pernyataan pengetesan untuk mengontrol pengulangan, jika pernyataan kondisi terpenuhi (benar) maka blok pernyataan akan diulang terus sampai pernyataan kondisi tidak terpenuhi (salah). Perubahan adalah pernyataan yang digunakan untuk melakukan perubahan niai variabel baik naik maupun turun setiap kali pengulangan dilakukan.

c. Pernyataan While Pernyataan while digunakan untuk menguangi sebuah pernyataan atau blok kenyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut : while (kondisi) { // sebuah pernyataan atau blok pernyataan } Pernyataan di atas akan mengeluarkan data a ke port C secara berulang-ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan setelah niai a mencapai 10 maka pengulangan selesai. d. Pernyataan Do While Pernyataan do while hampir sama dengan pernyataan while, yaitu pernyataan yang digunakan untuk menguangi sebuah pernyataan atau blok pernyataan secara terus menerus selama kondisi tertentu masih terpenuhi. Bentuk pernyataan while adalah sebagai berikut : do { // sebuah pernyataan atau blok pernyataan } while (kondisi). Yang membedakan antara pernyataan while dengan do..while adalah bahwa pada pernyataan while pengetesan kondisi dilakukan terlebih dahulu, jika kondisi terpenuhi maka barulah blok pernyataan dikerjakan. Sebaliknya pada pernyataan do while blok pernyataan dikerjakan terebih dahulu setelah itu baru diakukan pengetesan kondisi, jika kondisi terpenuhi maka dilakukan pengulangan pernyataan atau blok pernyataan lagi. Sehingga dengan demikian pada pernyataaan do..while blop pernyataan pasti akan dikerjakan minimal satu kali sedangkan pada pernyataan whilebok pernyataan beum tentu dikerjakan.

e. Pernyataan Switch Pernyataan switch digunakan untuk melakukan pengambilan keputusan terhadap banyak kemungkinana. Bentuk pernyataan switch adalah sebagai berikut : Switch (ekspresi) { case nilai_1 case nilai_2 case niai_3 Defaut } : pernyataa_1;break; : pernyataan_2;break; : pernyataan_3;break; : pernyataan_default;break; Pada pernyataanswitch,masing-masing pernyataan (pernyataan_1 sampai dengan pernyataan_default) dapat berupa satu atau beberapa perintah dan tidak perlu berupa blok pernyataan. Pernyataan_1 akan dikerjakan jika ekspresi bernilai sama dengan nilai_1, pernyataan_2 akan dikerjakan jika ekspresi bernilai sama dengan nilai_2, pernyataan_3 akan dikerjakan jika ekspresi bernilai sama dengan nilai_3 dan seterusnya. Pernyataan_default bersifat opsional, artinya boeh dikerjakan apabila nilai ekspresi tidak ada yang sama satupun dengan salah satu nilai_1, nilai_2, nilai_3 dan seterusnya. Setiap akhir dari pernyataan harus diakhiri dengan break, karena ini digunakan untuk keuar dari pernyataan swich. Contoh : Switch (PINA) { case 0xFE case 0xFD } : PORT=0x00;break; : PORT=0xFF;break; Pernyataan di atas berarti membaca port A, kemudian datanya (PINA) akan dicocokan dengan nilai case. Jika PINA bernilai 0xFE maka data 0x00 akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch tetapi jika PINA bernilai 0xFD maka data 0xFF akan dikeluarkan ke port C kemudian program keluar dari pernyataan switch.

2.4 Komponen Komponen Pendukung 2.4.1 Electrolytic Capacitor (ELCO) Gambar 2.7 Electrolytic Capacitor (ELCO) Elektroda dari kapasitor ini terbuat dari alumunium yang menggunakan membrane oksidasi yang tipis. Karakteristik utama dari Electrolytic Capacitor adalah perbedaan polaritas pada kedua kakinya. Dari karakteristik tersebut kita harus berhati hati di dalam pemasangannya pada rangkaian, jangan sampai terbalik. Bila polaritasnya terbalik maka akan menjadi rusak bahkan meledak. Biasanya jenis kapasitor ini digunakan pada rangkaian power supply. Kapasitor ini tidak bisa digunakan pada rangkaian frekuensi tinggi. Biasanya tegangan kerja dari kapasitor dihitung dengan cara mengalikan tegangan catu daya dengan 2. Misalnya kapasitor akan diberikan catu daya dengan tegangan 5 Volt, berarti kapasitor yang dipilih harus memiliki tegangan kerja minimum 2 x 5 = 10 Volt. 2.4.2 Ceramic Capacitor Kapasitor menggunakan bahan titanium acid barium untuk dielektriknya. Karena tidak dikonstruksi seperti koil maka komponen ini dapat digunakan pada rangkaian frekuensi tinggi. Biasanya digunakan untuk melewatkan sinyal frekuensi tinggi menuju ke ground. Kapasitor ini tidak baik digunakan untuk rangkaian analog, karena dapat mengubah bentuk sinyal. Jenis ini tidak mempunyai polaritas dan hanya tersedia dengan nilai kapasitor yang sangat kecil dibandingkan dengan kedua kapasitor diatas.

Gambar 2.8 Ceramic Capacitor 2.4.3 Nilai Kapasitor Untuk mencari nilai dari kapasitor biasanya dilakukan dengan melihat angka/kode yang tertera pada badan kapasitor tersebut. Untuk kapasitor jenis elektrolit memang mudah, karena nilai kapasitansinya telah tertera dengan jelas pada tubuhnya. Sedangkan untuk kapasitor keramik dan beberapa jenis yang lain nilainya dikodekan. Biasanya kode tersebut terdiri dari 4 digit, dimana 3 digit pertama merupakan angka dan digit terakhir berupa huruf yang menyatakan toleransinya. Untuk 3 digit pertama angka yang terakhir berfungsi untuk menentukan 10n, nilai n dapat dilihat pada tabel dibawah. Tabel 2.2 Nilai Kapasitor

Misalnya suatu kapasitor pada badannya tertulis kode 474J, berarti nilai kapasitansinya adalah 47 + 104 = 470.000 pf = 0.47µF sedangkan toleransinya 5%. Yang harus diingat didalam mencari nilai kapasitor adalah satuannya dalam pf (Pico Farad). 2.4.4 Resistor Resistor komponen pasif elektronika yang berfungsi untuk membatasi arus listrik yang mengalir. Berdasarkan kelasnya resistor dibagi menjadi 2 yaitu : Fixed Resistor dan Variable R esistor Dan umumnya terbuat dari carbon film atau metal film, tetapi tidak menutup kemungkinan untuk dibuat dari material yang lain. Pada dasarnya semua bahan memiliki sifat resistif namun beberapa bahan tembaga perak emas dan bahan metal umumnya memiliki resistansi yang sangat kecil. Bahan bahan tersebut menghantar arus listrik dengan baik, sehingga dinamakan konduktor. Kebalikan dari bahan yang konduktif, bahan material seperti karet, gelas, karbon memiliki resistansi yang lebih besar menahan aliran elektron dan disebut sebagai insulator seperti ditunjukkan pada gambar 2.5 berikut : Gambar 2.9 Resistor Karbon

2.5 SENSOR SUHU LM35 2.5.1 Pendahuluan Sensor suhu LM35 adalah komponen elektronika yang memiliki fungsi untuk mengubah besaran suhu menjadi besaran listrik dalam bentuk tegangan. Sensor Suhu LM35 yang dipakai dalam penelitian ini berupa komponen elektronika elektronika yang diproduksi oleh National Semiconductor. LM35 memiliki keakuratan tinggi dan kemudahan perancangan jika dibandingkan dengan sensor suhu yang lain, LM35 juga mempunyai keluaran impedansi yang rendah dan linieritas yang tinggi sehingga dapat dengan mudah dihubungkan dengan rangkaian kendali khusus serta tidak memerlukan penyetelan lanjutan. Meskipun tegangan sensor ini dapat mencapai 30 volt akan tetapi yang diberikan ke sensor adalah sebesar 5 volt, sehingga dapat digunakan dengan catu daya tunggal dengan ketentuan bahwa LM35 hanya membutuhkan arus sebesar 60 µa hal ini berarti LM35 mempunyai kemampuan menghasilkan panas (self-heating) dari sensor yang dapat menyebabkan kesalahan pembacaan yang rendah yaitu kurang dari 0,5 ºC pada suhu 25 ºC 2.5.2 Struktur Sensor LM35 Gambar 2.10 Sensor Suhu LM35

Gambar diatas menunjukan bentuk dari LM35 tampak depan dan tampak bawah. 3 pin LM35 menujukan fungsi masing-masing pin diantaranya, pin 1 berfungsi sebagai sumber tegangan kerja dari LM35, pin 2 atau tengah digunakan sebagai tegangan keluaran atau V out dengan jangkauan kerja dari 0 Volt sampai dengan 1,5 Volt dengan tegangan operasi sensor LM35 yang dapat digunakan antar 4 Volt sampai 30 Volt. Keluaran sensor ini akan naik sebesar 10 mv setiap derajat celcius sehingga diperoleh persamaan sebagai berikut : V LM35 = Suhu * 10 mv Gambar 2.11 Skematik rangkaian dasar sensor suhu LM35-DZ Gambar diatas kanan adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ. Rangkaian ini sangat sedecrhana dan praktis. Vout adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 derajat Celcius.Dan jika Vout = 320mV, maka suhu terukur adalah 32 derajad Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian Analog-to-Digital Converter. Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk aplikasi yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi tidak untuk aplikasi yang sesungguhnya. Terbukti dari eksperimen yang telah saya lakukan, tegangan keluaran

sensor belumlah stabil. Pada kondisi suhu yang relatif sama, jika tegangan suplai saya ubahubah (saya naikkan atau turunkan), maka Vout juga ikut berubah. Memang secara logika hal ini sepertinya benar, tapi untuk instrumentasi hal ini tidaklah diperkenankan. Dibandingkan dengan tingkat kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubah-ubah untuk kondisi yang relatif tidak ada perubahan, maka alat ukur yang demikian ini tidak dapat digunakan. 2.5.3 Karakteristik Sensor LM35. Gambar 2.12 Karakteristik Sensor LM35 1. Memiliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mvolt/ºc, sehingga dapat dikalibrasi langsung dalam celcius. 2. Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5ºC pada suhu 25 ºC seperti terlihat pada gambar 2.2. 3. Memiliki jangkauan maksimal operasi suhu antara -55 ºC sampai +150 ºC. 4. Bekerja pada tegangan 4 sampai 30 volt. 5. Memiliki arus rendah yaitu kurang dari 60 µa. 6. Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,1 ºC pada udara diam. 7. Memiliki impedansi keluaran yang rendah yaitu 0,1 W untuk beban 1 ma. 8. Memiliki ketidaklinieran hanya sekitar ± ¼ ºC.

Gambar 2.13 Grafik akurasi LM35 terhadap suhu Sensor LM35 bekerja dengan mengubah besaran suhu menjadi besaran tegangan. Tegangan ideal yang keluar dari LM35 mempunyai perbandingan 100 C setara dengan 1 volt. Sensor ini mempunyai pemanasan diri (self heating) kurang dari 0,1 C, dapat dioperasikan dengan menggunakan power supply tunggal dan dapat dihubungkan antar muka (interface) rangkaian control yang sangat mudah. IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated Circuit (IC), dimana output tegangan keluaran sangat linear terhadap perubahan suhu. Sensor ini berfungsi sebagai pegubah dari besaran fisis suhu ke besaran tegangan yang memiliki koefisien sebesar 10 mv / C yang berarti bahwa kenaikan suhu 1 C maka akan terjadi kenaikan tegangan sebesar 10 mv.

Gambar 2.14 Rangkaian Sensor LM35 IC LM 35 ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperature ruang. Jangka sensor mulai dari 55 C sampai dengan 150 C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indicator tampilan catu daya terbelah. IC LM 35 dapat dialiri arus 60 μ A dari supplay sehingga panas yang ditimbulkan sendiri sangat rendah kurang dari 0 C di dalam suhu ruangan. Untuk mendeteksi suhu digunakan sebuah sensor suhu LM35 yang dapat dikalibrasikan langsung dalam C (celcius), LM35 ini difungsikan sebagai basic temperature sensor. Adapun keistimewaan dari IC LM 35 adalah : Kalibrasi dalam satuan derajat celcius. Lineritas +10 mv/ º C. Akurasi 0,5 º C pada suhu ruang. Range +2 º C 150 º C. Dioperasikan pada catu daya 4 V 30 V. Arus yang mengalir kurang dari 60 μa

2.5.4 Rangkaian Sensor Suhu LM35 Gambar 2.15 Sensor Suhu LM35 LM35DZ adalah komponen sensor suhu berukuran kecil seperti transistor (TO-92). Komponen yang sangat mudah digunakan ini mampu mengukur suhu hingga 100 derajat Celcius. Dengan tegangan keluaran yang terskala linear dengan suhu terukur, yakni 10 milivolt per 1 derajat Celcius, maka komponen ini sangat cocok untuk digunakan sebagai teman eksperimen kita, atau bahkan untuk aplikasi-aplikasi seperti termometer ruang digital, mesin pasteurisasi, atau termometer badan digital. LM35 dapat disuplai dengan tegangan mulai 4V-30V DC dengan arus pengurasan 60 mikroampere, memiliki tingkat efek self-heating yang rendah (0,08 derajat Celcius), self-heating adalah efek pemanasan oleh komponen itu sendiri akibat adanya arus yang bekerja melewatinya. Untuk komponen sensor suhu, parameter ini harus dipertimbangkan dan diupakara atau di-handle dengan baik karena hal ini dapat menyebabkan kesalahan pengukuran. Seperti sensor suhu jenis RTD PT100 atau PT1000 misalnya, komponen ini tidak boleh dieksitasi oleh arus melebihi 1 miliampere, jika melebihi, maka sensor akan mengalami self-heating yang menyebabkan hasil pengukuran senantiasa lebih tinggi dibandingkan suhu yang sebenarnya. Gambar itu adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ. Rangkaian ini sangat sederhana dan praktis. Vout adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 derajad Celcius.Dan jika Vout = 320mV, maka suhu terukur adalah 32 derajad Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat

operasional dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian Analog-to-Digital Converter. Gambar 2.16 Skema Rangkaian LM35 Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk aplikasi yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi tidak untuk aplikasi yang sesungguhnya. Terbukti dari eksperimen yang telah saya lakukan, tegangan keluaran sensor belumlah stabil. Pada kondisi suhu yang relatif sama, jika tegangan suplai saya ubah-ubah (saya naikkan atau turunkan), maka Vout juga ikut berubah. Memang secara logika hal ini sepertinya benar, tapi untuk instrumentasi hal ini tidaklah diperkenankan. Dibandingkan dengan tingkat kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubah-ubah untuk kondisi yang relatif tidak ada perubahan, maka alat ukur yang demikian ini tidak dapat digunakan. 2.5.5 Prinsip Kerja Sensor LM35 Secara prinsip sensor akan melakukan penginderaan pada saat perubahan suhu setiap suhu 1 ºC akan menunjukan tegangan sebesar 10 mv. Pada penempatannya LM35 dapat ditempelkan dengan perekat atau dapat pula disemen pada permukaan akan tetapi suhunya akan sedikit berkurang sekitar 0,01 ºC karena terserap pada suhu permukaan tersebut. Dengan cara seperti ini diharapkan selisih antara suhu udara dan suhu permukaan dapat dideteksi oleh

sensor LM35 sama dengan suhu disekitarnya, jika suhu udara disekitarnya jauh lebih tinggi atau jauh lebih rendah dari suhu permukaan, maka LM35 berada pada suhu permukaan dan suhu udara disekitarnya. Jarak yang jauh diperlukan penghubung yang tidak terpengaruh oleh interferensi dari luar, dengan demikian digunakan kabel selubung yang ditanahkan sehingga dapat bertindak sebagai suatu antenna penerima dan simpangan didalamnya, juga dapat bertindak sebagai perata arus yang mengkoreksi pada kasus yang sedemikian, dengan mengunakan metode bypass kapasitor dari V in untuk ditanahkan. Maka dapat disimpulkan prinsip kerja sensor LM35 sebagai berikut: Suhu lingkungan di deteksi menggunakan bagian IC yang peka terhadap suhu Suhu lingkungan ini diubah menjadi tegangan listrik oleh rangkaian di dalam IC, dimana perubahan suhu berbanding lurus dengan perubahan tegangan output. Pada seri LM35 V out =10 mv/ o C Tiap perubahan 1 o C akan menghasilkan perubahan tegangan output sebesar 10mV 2.5.6 Kelebihan dan Kelemahan Sensor LM35 Kelebihan: a. Rentang suhu yang jauh, antara -55 sampai +150 o C b. Low self-heating, sebesar 0.08 o C c. Beroperasi pada tegangan 4 sampai 30 V d. Rangkaian tidak rumit e. Tidak memerlukan pengkondisian sinyal Kekurangan: Membutuhkan sumber tegangan untuk beroperasi