TCS3200 RGB Renk Tanıma ve Frekans Dönüştürücü Sensör Modülü
Kırmızı, Yeşil, Mavi ve Şeffaf fotodiyot dizisiyle hedef yüzeyin rengini kare dalga frekansına dönüştüren, renk ayıran robotların popüler sensörüdür.
Önemli Güvenlik ve Teknik Sınırlama Bilgisi
Modül üzerindeki 4 adet parlak beyaz LED hedefe odaklanarak renk yansımasını sağlar. Aşırı yakın mesafede (< 5 mm) LED ışığı doyum yaratabilir, optimum mesafe 10-15 mm'dir.
Teknik Özellikler ve Elektriksel Parametreler
Pin Bağlantıları ve Görevleri (Pinout)
| Pin # | Pin Adı | Sinyal Türü | Görev & Açıklama |
|---|---|---|---|
| 1 | GND | Toprak | Toprak 0V |
| 2 | OE | Giriş | Çıkış aktif pini (Aktif LOW) |
| 3 | OUT | Frekans Çıkışı | Renk şiddetiyle orantılı kare dalga sinyali |
| 4 | S0, S1 | Girişler | Frekans ölçekleme seçim pinleri |
| 5 | S2, S3 | Girişler | Renk filtresi seçim pinleri (Kırmızı, Yeşil, Mavi) |
| 6 | VCC | Güç | +2.7V - +5.5V DC besleme |
Geliştirme Kartı Uyumluluk Durumu
Doğrudan bağlantı ve yerleşik 5V desteği.
3.3V ile tam uyumlu çalışır.
MicroPython veya C/C++ SDK ile desteklenir.
MakeCode blokları veya MicroPython ile uyumlu.
5V tolerant GPIO pinleri doğrudan bağlanabilir.
Örnek Kaynak Kod Kütüphanesi
TCS3200 ile RGB Renk Ayrımı
Standart pulseInconst int S0 = 4;
const int S1 = 5;
const int S2 = 6;
const int S3 = 7;
const int sensorOut = 8;
void setup() {
Serial.begin(9600);
pinMode(S0, OUTPUT);
pinMode(S1, OUTPUT);
pinMode(S2, OUTPUT);
pinMode(S3, OUTPUT);
pinMode(sensorOut, INPUT);
// Frekansı %20 ölçeğine ayarla
digitalWrite(S0, HIGH);
digitalWrite(S1, LOW);
}
void loop() {
// 1. Kırmızı filtre
digitalWrite(S2, LOW);
digitalWrite(S3, LOW);
int redFreq = pulseIn(sensorOut, LOW);
delay(20);
// 2. Yeşil filtre
digitalWrite(S2, HIGH);
digitalWrite(S3, HIGH);
int greenFreq = pulseIn(sensorOut, LOW);
delay(20);
// 3. Mavi filtre
digitalWrite(S2, LOW);
digitalWrite(S3, HIGH);
int blueFreq = pulseIn(sensorOut, LOW);
delay(20);
Serial.print("R: "); Serial.print(redFreq);
Serial.print(" | G: "); Serial.print(greenFreq);
Serial.print(" | B: "); Serial.println(blueFreq);
if (redFreq < greenFreq && redFreq < blueFreq) {
Serial.println("-> Algılanan Renk: KIRMIZI");
} else if (greenFreq < redFreq && greenFreq < blueFreq) {
Serial.println("-> Algılanan Renk: YEŞİL");
} else if (blueFreq < redFreq && blueFreq < greenFreq) {
Serial.println("-> Algılanan Renk: MAVİ");
}
delay(1000);
} ALGILANAN RENK: KIRMIZI (R: 35, G: 142, B: 120)
Çalışma Mantığı ve Fiziksel İlkeler
TCS3200 Renkleri Nasıl Ayırt Eder?
TCS3200 çipinin üzerinde 8x8 matris şeklinde dizilmiş 64 adet silikon fotodiyot bulunur:
S2 ve S3 pinlerine uygulanan ikili (HIGH/LOW) sinyalle hangi renk filtresinin seçileceği belirlenir. Seçilen rengin şiddetiyle doğru orantılı olarak OUT pininden %50 görev döngülü (duty cycle) kare dalga frekansı üretilir.
Artıları ve Sınırlamaları
Sık Karşılaşılan Sorunlar ve Çözümleri
Alternatif ve Benzer Sensörler
GUVA-S12SD Gerçek Güneş Ultraviyole (UV) İndeksi Sensörü
Görünür ışıktan etkilenmeyen GaN fotodiyotu ile doğrudan Dünya Sağlık Örgütü UV İndeksi (0-11+) değerini analog voltaj olarak üreten meteoroloji sensörüdür.
LDR-GL5528LDR Işık Sensör Modülü (Fotodirenç GL5528)
Ortamdaki ışık şiddetine göre direnci azalan, gece lambalarında ve akıllı aydınlatma sistemlerinde yaygın kullanılan ekonomik ışık algılayıcıdır.
TSL2561TSL2561 Dijital I2C Işık Şiddeti ve Lüksmetre Sensörü
Çift fotodiyot mimarisiyle insan gözünün ışık algısını birebir taklit eden, doğrudan Lux cinsinden profesyonel aydınlık ölçümü yapan I2C sensördür.