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