TCS3200 en genel renk uzayı olan RGB ( red, green, blue) renk uzayını kullanarak yansıyan yüzeyin rengini bize çıktı olarak veren sensördür. Bu RGB renk skalasındaki renkleri bize ayrı ayrı vermesinden yola çıkarak doğada bulunan tüm renkleri bulmak mümkündür. Bu ana renklerin birbiriyle oranlanmasıyla farklı renkleri ortaya çıkarabiliriz.

TCS3200

TCS3200 en çok kullanılan renk sensör kartıdır. Yuvalı ve yuvasız olmak üzere iki çeşidi mevucuttur. Yuvalı olmasının avantajı dış ortamdan gelen ışıklardan minimum seviyede etkilenir ve böylece hassasiyet artmış olur. Bu sayede daha keskin renk algılama işlemi yapabilmektedir. Tamamen mekanik bir durumdur. Sensörün çalışmasıyla veya programlanması ile ilgili değildir.

TCS3200 kartının üzerinde 4 adet led vardır. Bu ledlerin amacı yüzeyi aydınlatmaktır. Bu sayede yüzey renginin algılanması kolaylaştırılması amaçlanmıştır. Ledlerin tam merkezinde bir adet çip bulunur. Çipin içerisinde 4 adet fotodiyot vardır. Bu sayede renklerin algılanması sağlanır.

Kartın üzerinde 4 adet giriş 1 adet de çıkış pini mevcuttur. S1 S2 S3 ve S4 pinleri giriş Out pini ise çıkış pini olarak tanımlıdır.

S2 S3 RENK
LOW LOW  RED
LOW HIGH BLUE
 HIGH LOW WHİTE
 HIGH HIGH GREEN

S0 S1 ÇIKIŞ FREKANSI
LOW LOW 0
LOW HIGH %2
 HIGH LOW %20
 HIGH HIGH %100

 

S1 ve S2 pinlerinden dijital olarak LOW ve HIGH sinyallerini , S3 ve S4 pinlerinden ise 0-255 arasında frekans değerlerini alarak renkleri ayırt edilebilmesi mümkündür.

GİRİŞ ADI INPUT/OUTPUT AÇIKLAMASI
GND Toprak bağlantısının yapıldığı bacaktır
OE INPUT Sensörü aktif hale getirmek için kullanılan enable bacağıdır.
OUT OUTPUT Çıkış frekansını aldığımız bacaktır.
S0,S1 INPUT Frekans değerinde renk bilgilerinin işlendiği bacaklardır.
S2,S3 INPUT Fotodiyotların renk bilgilerini seçtiği bacaklardır.
VCC 5v besleme gerilimi

 

Yukarıdaki tabloda TCS3200 sensör kartının bağlantı pinlerinin nereye bağlanacağı ve hangi işlevi yaptıklarının açıklaması vardır.

Bu sensör kartının bağlantısında ise arduino idesinde örnek olarak aşağıdaki kod bloğu ile setup yani bacakların tanımlaması yapılmıştır.

void setup() {
  pinMode(S3, OUTPUT);           //TCS3200 sensör giriş pini
  pinMode(S2, OUTPUT);           //TCS3200 sensör giriş pini
  pinMode(outpin, INPUT);       // TCS3200 sensör giriş pini
}

 

Örnek Renk Algılama Kodu

digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
r = pulseIn(outpin, LOW);
r = plusewidth / 400. - 1;
r = (255 - r);

Bu kod parçacığında r değişkeninin değeri 0 ile 255 arasında bir değer olacak ve bize kırmızı rengi verecektir. Benzer şekilde diğer ana renkleri(RGB) de bulmak mümkündür.

renk kodları

Peki bu üç ana rengi bulduktan sonra aldığımız değerlere göre hangi rengin ne olduğunu bulmak için basit bir kod bloğu ile artık o rengin ne olduğunu ekranda görebiliriz.

if ( r < g && r < b && r > w && g > b && g > w && b > w && r < 550) {
   Serial.println("*! RED *!");
 }

Bu kod bloğunda sensörden gelen bilgilere göre birbirleri ile kıyaslayarak istediğimiz rengi bulabiliriz.

Böylece bu sensörü kullanarak bir çok alanda çalışmalarımıza ek veya temel olarak kullanmak mümkündür. Örneğin bir renk ayırma projesi yapmak istersek bu sensörü kullanmak zorundayız. Diyelim ki kırmızı renkleri sağ tarafa, yeşil renkleri sol tarafa, mavi renkleri ise orta tarafa koymak istiyoruz. İşte burada TCS3200 sensör kartı sayesinde renkleri algılayıp eğer gelen ürün seçilen renkle eşleşiyorsa uygun komutlarla yönlendirip sınıflandırma yapmak mümkündür.

 

CEVAP VER

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.