Anda di halaman 1dari 8

Sensor Warna TCS230

Pada artikel kali ini akan dibahas tentang sensor warna TCS230. TCS230 adalah IC
pengkonversi warna cahaya ke frekuensi. Ada dua komponen utama pembentuk IC ini,
yaitu photodioda dan pengkonversi arus ke frekuensi, sebgaimana bisa dilihat pada
gambar 1.


Gambar 1
Sketsa fisik dan blok fungsional TCS230
Setiap warna bisa disusun dari warna dasar. Untuk cahaya, warna dasar
penyusunnya adalah warna Merah, Hijau dan Biru, atau lebih dikenal dengan istilah RGB
(Red-Green-Blue). Gambar2 memperlihatkan beberapa sampel warna dan komposisi
RGB-nya terskala 8 bit.
Photodiode pada IC TCS230 disusun secara array 8x8 dengan konfigurasi: 16
photodiode untuk menfilter warna merah, 16 photodiode untuk memfilter warna hijau, 16
photodiode untuk memfilter warna biru, dan 16 photodiode tanpa filter. Kelompok
photodiode mana yang akan dipakai bisa diatur melalui kaki selektor S2 dan S3.
Kombinasi fungsi dari S2 dan S3 bisa dilihat pada Tabel 1.









Gambar 2
Contoh Beberapa Sampel warna dan komposisi RGB-nya


Tabel 1
S2 S3 Photodiode yang aktif
0 0 Pemfilter Merah
0 1 Pemfilter Biru
1 0 Tanpa Filter
1 1 Pemfilter Hijau
Photodiode akan mengeluarkan arus yang besarnya sebanding dengan kadar warna dasar
cahaya yang menimpanya. Arus ini kemudian dikonversikan menjadi sinyal kotak dengan
frekuensi sebanding dengan besarnya arus. Frekuensi Output ini bisa diskala dengan
mengatur kaki selektor S0 dan S1. Penskalaan Output bisa dilihat pada tabel2.
Tabel 2
S0 S1 Skala frekuensi Output
0 0 Power Down
0 1 2%
1 0 20%
1 1 100%
Dengan demikian, program yang kita perlukan untuk mendapatkan komposisi RGB
adalah program penghitung frekuensi. Ada dua cara yang biasa dilakukan untuk
menghitung frekuensi. Cara pertama: Kita buat sebuah timer berperiode 1 detik, dan
selama periode itu kita hitung berapa kali terjadi gelombang kotak. Ilustrasinya bisa
dilihat pada gambar3.


Gambar 3






Cara kedua: Kita hitung berapa periode satu gelombang, kemudian mencari frekuensi
dengan menggunakan rumus:


Ilustrasinya bisa dilihat pada gambar 4.



Gambar 4


Berikut contoh program menggunakan cara pertama dalam bahasa Assembly, dicoba
pada minimum sistem DST-51
.Data
Org 50h
CountR DS 2


CountG DS 2
CountB DS 2
Count_1Detik DS 1
S2 Bit T0
S3 Bit T1
OE Bit INT1
.Code
Org 2000h
Ljmp Start
Org 2003h
Ljmp EX0isr
Org 200Bh
Reti
Org 2013h
Reti
Org 201Bh
Reti
Org 2023h
Reti
Start:
Setb EA
Lcall Ukur_Merah
Lcall Ukur_Hijau
Lcall Ukur_Biru
Lcall DoSomething_WithData
Sjmp Start
DoSomething_WithData:
; Pr oses pengol ahan dat a t er gant ung j eni s apl i kasi
; l l et akkan kode pr ogr amnya di si ni
;
Ret
Ukur_Merah:
Clr S2
Clr S3
Clr OE
Lcall Ukur
Setb OE
Mov R0,#CountR
Mov @R0,A
Mov A,B
Inc R0
Mov @R0,A
Ret
Ukur_Hijau:
Setb S2
Setb S3
Clr OE
Lcall Ukur
Setb OE
Mov R0,#CountG
Mov @R0,A
Mov A,B
Inc R0
Mov @R0,A
Ret
Ukur_Biru:
Clr S2
Setb S3
Clr OE
Lcall Ukur
Setb OE
Mov R0,#CountB
Mov @R0,As
Mov A,B
Inc R0
Mov @R0,A
Ret
Ukur:
Mov TMOD,#01h
Mov Count_1Detik,#20
Clr A
Mov B,#0
Jnb INT0,*
Setb EX0
Tunggu_1Detik:
Mov TH0,#-50000/256
Mov TL0,#-50000
Clr TF0
Setb TR0
Jnb TF0,$
Clr TR0
Djnz Count_1Detik,Tunggu_1Detik
Clr EX0
Ret
EX0isr:
Clr EX0
Inc A
Cjne A,#0,Skip
Inc B
Skip:
Setb EX0
Reti
Del t a El ect r oni c

Anda mungkin juga menyukai