Hukum Grassman mengenai campuran aditif warna . Mikrokontroler AVR

gambar.RGB mudah untuk menerapkan tetapi non inear dengan persepsi visual. Itu adalah perangkat tergantung dan spesifikasi dari warna adalah semi intuitif. RGB adalah sangat umum, yang digunakan di hampir setiap sistem komputer serta televisi, video dll.

d. Hukum Grassman mengenai campuran aditif warna .

Setiap warna sumber C dapat dicocokkan dengan kombinasi linear dari tiga warna lain terutama misalnya RGB , asalkan tidak ada dari ketiga tersebut dapat dicocokkan oleh kombinasi dari dua lainnya .Ini merupakan dasar untuk kolorimetri dan hukum pertama Grassman tentang campuran warna . Jadi warna C dapat dicocokkan oleh Rc unit merah , unit Gc unit hijau dan Bc unit biru . Unit dapat diukur dalam bentuk apapun yang mengkuantifikasi kekuatan cahaya . C = RcR + GcG + BcB 2.1 Ruang warna Komputer RGB adalah ruang warna yang dihasilkan pada layar atau serupa CRT ketika nilai pixel diterapkan ke kartu grafis.Ruang RGB dapat divisualisasikan sebagai kubus dengan sumbu tiga yang sesuai dengan merah, hijau dan biru. Sudut bawah, ketika merah = hijau = biru = 0 adalah hitam, sedangkan berlawanan atas pojok, di mana merah = hijau = biru = 255 untuk 8 bit per saluran sistem tampilan, putih. RGB sering digunakan dalam aplikasi komputer terbesar karena transformasi tidak diperlukan untuk menampilkan informasi pada layar.Untuk alasan ini, umumnya dasar ruang warna untuk sebagian besar aplikasi.

2.2 Mikrokontroler AVR

Mikrokontroler dapat bekerja dengan kendali suatu program yang kita buat sendiri. Program tersebut akan berinteraksi dengan arsitektur perangkat keras yang sudah fix di dalam chip. Mikrokontroler keluarga AVR secara umum dapat dibagi menjadi 6 kelompok, yaitu: a. Keluarga ATiny; biasanya bentuk dimensinya kecil, ukuran memori kecil, jumlah pin masukan dan keluaran juga sedikit. b. Keluarga AT90Sxx; merupakan mikrokonroler yang pertama kali dibuat oleh Atmel Corp. c. Keluarga ATmega; merupakan pengembangan mikrokontroler AT90Sxx dengan fitur yang lebih banyak. d. Keluarga AT86RFxx; merupakan mikrokontroler berorientasi desain minimal. e. Keluarga AT90USBxx; merupakan mikrokontroler yang berorientasi pemrograman USB. f. Keluarga AVR 32 bit contohnya AP7000, UC3Axxxx, UC3Bxxxx, UC3Lxx, dsb; merupakan mikrokontroler dengan register dan instruksi dengan panjang 32 bit. Secara historis, mikrokontroler seri AVR pertama kali diperkenalkan ke pasaran sekitar tahun 1997 oleh perusahaan Atmel, yaitu sebuah perusahaan yang sangat terkenal dengan produk mikrokontroler seri AT89S5152-nya yang samapai sekarang masih banyak digunakan di lapangan. Mikrokontroler AT89S5152 masih mempertahankan arsitektur dan set instruksi dasar mikrokontroler 8031 dari perusahaan INTEL. Mikrokontroler AVR diklaim memiliki arsistektur dan set instruksi yang benar-benar baru dan berbeda dengan arsitektur mikrokontroler yang sebelumnya yang diproduksi oleh perusahaan tersebut. AVR merupakan mikrokontroler dengan arsitektur RISC Reduced Instruction Set Computer dengan lebar bus data 8 bit. Frekuensi kerja mikrokontroler AVR ini pada dasarnya sama dengan frekuensi osilator sehingga hal tersebut dapat menyebabkan kecepatan kerja AVR untuk frekuensi osilator yang dama akan dua belas kali lebih cepat dibandingkan dengan mikrokontroler keluarga AT89S5152. Dengan instruksi yang sangat variatif mirip dengan sistem CISC-Complex Instruction Set Computer serta jumlah register yang serba guna General Purpose Register sebanyak 32 buah yang semuanya terhubung secara langsung ke ALU Arithmetic Logic Unit, kecepatan operasi mikrokontroler AVR ini dapat mencapai 16 MIPS enam belas juta instruksi per detik, sebuah kecepatan yang sangat tinggi untuk ukuran mikrokontroler 8 bit yang ada dipasaran sampai saat ini.

2.2.1 Arsitektur ATMega 8535

Mikrokontroler ATmega8535 memiliki fitur-fitur utama, seperti berikut. 1. Saluran IO sebanyak 32 buah yaitu Port A, Port B, Port C, dan Port D. 2. ADC 10 bit sebanyak 8 saluran. 3. Tiga unit TimerCounter 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 kbytes 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. Mikrokontroler AVR ATMega8535 merupakan mikrokontroler produksi Atmel dengan 8 KByte In-System Programmable-Flash, 512 Byte EEPROM dan 512 Bytes Internal SRAM.AVR ATMega8535 memiliki seluruh fitur yang dimiliki AT90S8535.Selain itu, konfigurasi pin AVR ATMega8535 juga kompatibel dengan AT90S8535. Diagram blok arsitektur ATmega8535 ditunjukkan oleh Gambar 2.3. Terdapat sebuah inti prosesor processor core yaitu Central Processing Unit, di mana terjadi proses pengumpanan instruksi fetching dan komputasi data. Seluruh register umum sebanyak 32 buah terhubung langsung dengan unit ALU Arithmatic and Logic Unit. Tedapat empat buah port masing-masing delapan bit dapat difungsikan sebagai masukan maupun keluaran. Media penyimpan program berupa Flash Memory, sedangkan penympan data berupa SRAM Static Ramdom Access Memory dan EEPROM Electrical Erasable Programmable Read Only Memory. Untuk komunikasi data tersedia fasilitas SPI Serial Peripheral Interface, USART Universal Synchronous and Asynchronous serial Receiver and Transmitter, serta TWI Two-wire Serial Interface. Di samping itu terdapat fitur tambahan, antara lain AC Analog Comparator, 8 kanal 10-bit ADC Analog to Digital Converter, 3 buah TimerCounter, WDT Watchdog Timer, manajemen penghematan daya Sleep Mode, serta osilator internal 8 MHz. Seluruh fitur terhubung ke bus 8 bit. Unit interupsi menyediakan sumber interupsi hingga 21 macam. Sebuah stack pointer selebar 16 bit dapat digunakan untuk menyimpan data sementara saat interupsi. Gambar 2.2 Arsitektur Mikrokontroler ATmega8535 Mikrokontroler ATmega8535 dapat dipasang pada frekuensi kerja hingga 16 MHz maksimal 8MHz untuk versi ATmega8535L. Sumber frekuensi bisa dari luar berupa osilator kristal, atau menggunakan osilator internal. Keluarga AVR dapat mengeksekusi instruksi dengan cepat karena menggunakan teknik “memegang sambil mengerjakan” fetch during execution. Dalam satu siklus clock, terdapat dua register independen yang dapat diakses oleh satu instruksi.

2.2.2 Konfigurasi PIN

Secara umum deskripsi mikrokontroler ATMega 8535 adalah sebagai berikut: Gambar 2.3 Konfigurasi pin ATMega 8535  VCC power supply  GND ground  Port A PA7..PA0 Port A berfungsi sebagai input analog pada AD Konverter. Port A juga berfungsi sebagai suatu Port IO 8-bit dua arah, jika ADKonverter tidak digunakan. Pin - pin Port dapat menyediakanresistor internal pull-up yang dipilih untuk masing-masing bit.Port Aoutput buffer mempunyai karakteristik gerakan simetrisdengan keduanya sink tinggi dan kemampuan sumber. Ketika pinPA0 ke PA7 digunakan sebagai input dan secara eksternal ditarikrendah, pin – pin akan memungkinkan arus sumber jika resistor internal pull-up diaktifkan. Pin Port A adalah tri-stated manakalasuatu kondisi reset menjadi aktif, sekalipun waktu habis.  Port B PB7..PB0 Port B adalah suatu Port IO 8-bit dua arah dengan resistor internalpull-up yang dipilih untuk beberapa bit. Port B output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port B yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port B adalah tri-stated manakala suatu kondisireset menjadi aktif, sekalipun waktu habis.  Port C PC7..PC0 Port C adalah suatu Port IO 8-bit dua arah dengan resistor internalpull-up yang dipilih untuk beberapa bit. Port C output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port C yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port C adalah tri-stated manakala suatu kondisireset menjadi aktif, sekalipun waktu habis.  Port D PD7..PD0 Port D adalah suatu Port IO 8-bit dua arah dengan resistor internalpull-up yang dipilih untuk beberapa bit. Port D output buffermempunyai karakteristik gerakan simetris dengan keduanya sinktinggi dan kemampuan sumber. Sebagai input, pin port D yangsecara eksternal ditarik rendah akan arus sumber jika resistor pullupdiaktifkan. Pin Port D adalah tri-stated manakala suatu kondisireset menjadi aktif, sekalipun waktu habis.  RESET Reset input  XTAL1 Input Oscillator  XTAL2 Output Oscillator AVCC adalah pin penyedia tegangan untuk port A dan AD Konverter  AREF adalah pin referensi analog untuk AD konverter.

2.2.3 Stack Pointer

Stack pointer merupakan suatu bagian dari AVR yang berguna untuk menyimpan data sementara, variabel lokal, dan alamat kembali dari suatu interupsi ataupun subrutin. Stack pointer diwujudkan sebagai dua unit register, yaitu SPH dan SPL. Saat awal, SPH dan SPL akan bernilai 0, sehingga perlu diinisialisasi terlebih dahulu. SPH merupakan byte atas MSB, sedangkan SPL merupakan byte bawah LSB.Hal ini hanya berlaku untuk AVR dengan kapasitas SRAM lebih dari 256 byte.Bila tidak, maka SPH tidak didefinisikan dan tidak dapat digunakan.

2.2.4 Sistem Clock

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 kita memerlukan sistem clock, sistem ini bisa di bangun dari clock eksternal maupun clock internal. Untuk clock internal, kita tinggal memasang komponen seperti di bawah ini: Gambar 2.4 Sistem Clock 2.2.5Organisasi memori AVR ATMega8535 AVR ATMega8535 memiliki ruang pengalamatan memori data dan memori program yang terpisah.Sebagai tambahan, ATmega8535memiliki fitur suatu EEPROM Memori untuk penyimpanan data.Semuatiga ruang memori adalah reguler dan linier.

A. Memori Data

Memori data terbagi menjadi 3 bagian, yaitu 32 register umum,64 buah register IO,dan 512 byte SRAM Internal.Register keperluan umum menempati space data pada alamat terbawah, yaitu 00 sampai 1F. Sementara itu, register khusus untuk menangani IO dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya, yaitu mulai dari 20 hingga 5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler, seperti kontrol register,timercounter, fungsi – fungsi IO, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada Tabel 2.1. Alamat memori berikurnya digunakan untuk SRAM 512 byte, yaitu pada lokasi60 sampai dengan 25F. Konfigurasi memori data ditunjukkan pada gambar di bawah ini. Tabel 2.1 Konfigurasi Data AVR AT Mega 8535

B. Memori Program

ATmega8535 berisi 8K bytes On-Chip di dalam sistem Memoriflash Reprogrammable untuk penyimpanan program.Karena semuaAVR instruksi adalah 16 atau 32 bits lebar, Flash adalah berbentuk 4K x16. Untuk keamanan perangkat lunak, Flash Ruang program memori adalah dibagi menjadi dua bagian, bagian boot program dan bagian aplikasi program dengan alamat mulai dari 000 sampai FFF.Flash Memori mempunyai suatu daya tahan sedikitnya 10,000writeerase Cycles. ATmega8535 Program Counter PC adalah 12 bitlebar, alamat ini 4K lokasi program memori. Gambar 2.5Memori Program AT Mega 8535

2.2.6 EEPROM

Dalam mikrokontroler AVR data dapat ditempatkan pada tiga macam memori yaitu memori flash, SRAM, dan EEPROM Electrically Erasable Programmable Read Only Memory. EEPROM adalah salah satu memori untuk menyimpan data internal mikrokontroler yang sifatnya non-volatile. Artinya data tidak akan hilang walaupun catu daya mikrokontroler mati. Biasanya memori EEPROM diaplikasikan misalnya untuk penyimpanan tabel-tabel data, atau konstanta, penyimpanan password, dan sebagainya. ATmega8535 mempunyai memori EEPROM 512 byte. EEPROM ini disusun sebagai ruang data yang terpisah dengan yang lain, dimana byte tunggal dapat dibaca dan ditulis. EEPROM memiliki ketahanan sedikitnya 100.000 siklus tulishapus. EEPROM diakses melalui register-register akses EEPROM, yaitu: - EEPROM Address Register EEAR - EEPROM Data Register EEDR - EEPROM Control Register EECR Untuk divais-divais dengan EEPROM diatas 256 byte, EEAR sebenarnya ada dua register yaitu EEARL dan EEARH. EEAR sebagai register tunggal atau sebagai register ganda digunakan untuk meng-set alamat EEPROM ke mana data akan ditulisi atau dari mana data akan dibaca. EEAR adalah sebuah register bacatulis yaitu register yang dapat dibaca untuk melihat alamat apa yang telah di-set. EEDR adalah register data EEPROM dan merupakan register bacatulis. Bila anda ingin menulis data ke EEPROM, anda me-load data yang diperlukan ke dalam EEDR. Bila anda ingin membaca data dari EEPROM, setelah proses pembacaan berakhir, anda membaca EEDR untuk data. EECR mempunyai bit-bit control yang diperlukan untuk pembacaan dan penulisan EEPROM. Penulisan ke suatu EEPROM tidak sederhana seperti menulis ke SRAM misalnya.Waktu akses tulis untuk EEPROM pada mikrokontroler AVR berkisar 2.5 sampai 4.0 ms, tergantung pada tegangan suplai. Bit control EEWE dalam EECR menginjinkan pemakai untuk mendeteksi bila data yang diminta sebelumnya telah ditulisi ke EEPROM dan apakah sebuah byte baru dapat ditulisi.

2.2.7 Two Wire Serial Interface

2.2.7.1 Konsep Two Wire Serial Interface

Antarmuka serial 2 kabelTWI sangat ideal untuk diterapkan pada aplikasi menggunkan mikrokontroler. Protocol ini mengijinkan desain sistem untuk saling berkoneksi sampai 128 piranti yang berlainan menggunakan hanya 2 jalur dua arah, satu untuk clock SCL dan satunya untuk data SDA. Perangkat keras eksternal yang dibutuhkan untuk mengimpletasikan jaringan ini adalah resistor pull-up tunggal untuk setiap jalur bus TWI. Banyak perusahaan semikonduktor yang berusaha mengembangkan cara baru komunikasi antar IC yang lebih mendukung sebagai alternative dari hubungan antar- IC secara pararell pararell bus. Salah satu metode yang dipakai secara luas adalah IICsering ditulis juga I 2 C, singkatan dari Inter Intergrated Circuit bus yang dikembangkan oleh Philips semikonduktor, dengan konsep dasar komunikasi 2 arah danatau anatarsistem secara serial menggunakan 2 kabel.

2.2.7.2 Karakteristik Jaringan I

2 C Setiap IC yang terhubung dalam I 2 C memiliki alamat yang unik yang dapat diakses secara perangkas keras dengan protocol master slave yang sederhana, dan mampu mengakomodasikan multi-master. I 2 C merupakan bus serial dengan orientasi data 8 bit, komunikasi 2 arah, dengan kecepatan transfer data sampai 100Kbits pada mode standard an 3,4 Mbits pada mode kecepatan tinggi. Jumlah IC yang dapat dihubungkan pada I 2 C bus hanya dibatasi oleh kapasitas beban pada bus, yaitu maksimum 400pF. Tabel 2.2 Terminologi TWI Terminologi Pengertian Transmitter Piranti yang mengirim data ke bus Receiver Piranti yang menerima data dari bus Master Piranti yang memiliki inisiatif memulai dan mengakhiri transfer data dan yang membangkitkan sinyal clock Slave Piranti yang dialamati oleh master Multi-master Yang memungkinkan lebih dari satu mastermelakukan inisiatif transferdata dalam waktu yang bersamaan tanpa terjadi korupsi data Arbitration Prosedur yang memastikan bahwa jika ada lebih dari satu Master yang diperbolehkan dengan tanpa merusak data yang sedang di transfer Synchronization Prosedur yang menyeselaraskan sinyal clock dari dua atau lebih piranti Kedua pin pada I 2 C, yaitu SDA dan SCL, harus memiliki kemampuan input dan output serta bersifat open drain atau open collector. Kedua pin tersebut terhubung pada I 2 C bus yang telah dilakukan pull up dengan resistor ke catu daya positif dari sistem.

2.3 Sensor Warna