RGB Renk sensörü TCS3200'e giriş

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





TCS3200, bir mikro denetleyici aracılığıyla programlanabilen renkli bir ışık-frekans dönüştürücü çipidir. Modül, Arduino gibi entegre bir mikrodenetleyici yardımıyla beyaz ışığın 7 renginin tamamını algılamak için kullanılabilir.

Bu yazıda RGB renk sensörü TCS3200'e bir göz atacağız, renk sensörünün nasıl çalıştığını anlayacağız ve TCS3200 sensörünü Arduino ile pratik olarak test edip bazı faydalı veriler çıkaracağız.



Renk Tanımanın Önemi

Dünyayı her gün zengin renklerle dolu görüyoruz, renklerin görsel olarak hissetmekten başka ne olduğunu hiç merak ettiniz mi? Renkler, farklı dalga boylarına sahip elektromanyetik dalgalardır. Kırmızı, Yeşil, Mavi farklı dalga boylarına sahiptir, insan gözü elektromanyetik spektrumdan dar bir bant olan bu RGB renklerini alacak şekilde ayarlanmıştır.

Ancak kırmızı, mavi ve yeşilden daha fazlasını görüyoruz çünkü beynimiz iki veya daha fazla rengi karıştırıp yeni bir renk veriyor.



Farklı renkleri görme yeteneği, eski insan medeniyetinin hayvanlar gibi yaşamı tehdit eden tehlikelerden kaçmasına ve doğru büyümesinde meyveler gibi tüketilmesi keyifli olacak yenilebilir öğelerin belirlenmesine yardımcı oldu.

Kadınlar farklı renk tonlarını tanımakta (renge daha duyarlıdır) erkeklerden daha iyidir, ancak erkekler hızlı hareket eden nesneleri takip etmekte ve buna göre tepki vermekte daha iyidir.

Birçok çalışma, bunun, antik dönemde erkeklerin kadınlardan daha üstün olan fiziksel güçleri nedeniyle avlanmaya gitmeleri olduğunu göstermektedir.

Kadınlar, bitkilerden ve ağaçlardan meyve ve diğer yenilebilir öğeleri toplamak gibi daha az riskli bir işle onurlandırılır.

İyi bir sindirim için bitkilerden yenilebilir öğelerin doğru büyümesinde (meyvenin rengi büyük rol oynar) toplanması, körfezdeki sağlık sorunlarından insanlara yardımcı olan çok önemliydi.

Erkek ve kadınlarda görsel yeteneklerdeki bu farklılıklar modern zamanlarda bile devam etmektedir.

Tamam, neden bir elektronik renk sensörü için yukarıdaki açıklamalar? Çünkü renk sensörleri, diğer hayvanların göz rengi modeline göre değil, insan gözünün renk modeline göre üretilmiştir.

Örneğin, akıllı telefonlardaki çift kamera kameralardan biri RGB renklerini tanımak için özel olarak yapılmıştır ve diğer kamera normal görüntüler çekmek için yapılmıştır. Bu iki görüntüyü / bilgiyi dikkatli bir algoritma ile harmanlamak, gerçek nesnenin doğru renklerini ekranda yalnızca insanların algılayabileceği şekilde yeniden üretecektir.

Not: Tüm çift kameralar yukarıda belirtildiği gibi çalışmaz, bazıları optik yakınlaştırma için kullanılır, bazıları derinlemesine alan efekti vb. Üretmek için kullanılır.

Şimdi TCS3200 renk sensörlerinin nasıl üretildiğini görelim.

TCS3200 sensörünün resmi:

TCS3200 sensörü

Nesneyi aydınlatmak için 4 dahili beyaz LED'e sahiptir. 10 pinli iki Vcc ve GND pinine sahiptir (bunlardan ikisini kullanın). S0, S1, S2, S3, S4 ve 'out' pininin işlevi kısaca açıklanacaktır.

Sensöre yakından bakarsanız, aşağıda gösterildiği gibi bir şey görebiliriz:

Toplam 64 adet olan 8 x 8 renkli sensör dizisine sahiptir. Foto sensör bloğunda Kırmızı, Mavi, Yeşil sensörler vardır. Sensör üzerine farklı renk filtreleri uygulanarak farklı renk sensörleri oluşturulur. 64 adetten 16'sı mavi, 16 yeşil, 16 kırmızı sensöre sahiptir ve renk filtresi olmayan 16 adet foto sensör bulunmaktadır.

Mavi renk filtresi, yalnızca mavi renkli ışığın sensöre çarpmasına ve kalan dalga boylarını (Renkler) reddetmesine izin verir, bu diğer iki renkli sensör için de aynıdır.

Kırmızı bir filtre veya yeşil filtre üzerine mavi bir ışık yakarsanız, mavi filtreye kıyasla yeşil veya kırmızı filtrelerden daha az yoğun ışık geçecektir. Böylece mavi filtreli sensör, diğer ikisine kıyasla daha fazla ışık alacaktır.

Böylece, RGB filtreli renk sensörlerini bir bloğa koyup herhangi bir renkli ışığı parlatabiliriz ve ilgili renk sensörü diğer ikisinden daha fazla ışık alacaktır.

Bir sensörden alınan ışığın yoğunluğunu ölçerek, ışığın parladığı rengi ortaya çıkarabilir.

Sinyalin sensörden mikrodenetleyiciye arayüzlenmesi, frekans dönüştürücüye ışık yoğunluğu ile yapılır.

Devre Blok Şeması

'Çıkış' pini çıktıdır. Çıkış piminin frekansı% 50 görev döngüsüdür. S2 ve S3 pinleri, foto sensör için seçilmiş hatlardır.

Tabloya bakarak daha iyi anlarsınız:

S2 ve S3 pinleri, foto sensör için seçilmiş hatlardır.

S2 ve S3 pinlerine düşük sinyaller uygulayarak kırmızı renk sensörünü seçecek ve kırmızı dalga boyunun yoğunluğunu ölçecektir.

Benzer şekilde, renklerin geri kalanı için yukarıdaki tabloyu takip edin.

Genel olarak Kırmızı, mavi ve yeşil sensörler, sensörleri filtresiz bir şekilde bırakarak ölçülür.

S0 ve S1, frekans ölçekleme pimleridir:

S0 ve S1 frekans ölçekleme pimleridir

S0 ve S1, çıkış frekansını ölçeklendirmek için frekans ölçekleme pinleridir. Frekans ölçeklendirme, sensörden mikro denetleyiciye optimum çıkış frekansını seçmek için kullanılır. Arduino durumunda% 20 önerilir, S0 'HIGH' ve S1 'LOW'.

İlgili sensörün ışık yoğunluğu yüksekse çıkış frekansı yükselir. Program kodunun basitliği için frekans ölçülmez, ancak darbe süresi ölçülür, frekans ne kadar yüksek olursa darbe süresi azalır.

Dolayısıyla, seri monitör okumalarında en az gösterilen, sensörün önüne yerleştirilen renk olmalıdır.

Renk Sensöründen Veri Çıkarma

Şimdi pratik olarak sensörden veri çıkarmayı deneyelim:

Arduino devresini kullanarak renk sensöründen nasıl veri çıkarılır

Program kodu:

//--------------Program Developed by R.GIRISH--------------//
const int s0 = 4
const int s1 = 5
const int s2 = 6
const int s3 = 7
const int out = 8
int frequency1 = 0
int frequency2 = 0
int frequency3 = 0
int state = LOW
int state1 = LOW
int state2 = HIGH
void setup()
{
Serial.begin(9600)
pinMode(s0, OUTPUT)
pinMode(s1, OUTPUT)
pinMode(s2, OUTPUT)
pinMode(s3, OUTPUT)
pinMode(out, INPUT)
//----Scaling Frequency 20%-----//
digitalWrite(s0, state2)
digitalWrite(s1, state1)
//-----------------------------//
}
void loop()
')
delay(100)
//------Sensing Blue colour----//
digitalWrite(s2, state1)
digitalWrite(s3, state2)
frequency3 = pulseIn(out, state)
Serial.print(' Blue = ')
Serial.println(frequency3)
delay(100)
Serial.println('---------------------------------------')
delay(400)

//--------------Program Developed by R.GIRISH--------------//

Seri monitör ÇIKIŞI:

En düşük olanı gösteren okuma, sensörün önüne yerleştirilen renktir. Ayrıca sarı gibi herhangi bir rengi tanımak için kod yazabilirsiniz. Sarı, yeşil ve kırmızının harmanlanmasının bir sonucudur, bu nedenle sensörün önüne sarı renk yerleştirilirse, diğer renkler için benzer şekilde kırmızı ve yeşil sensör okumalarını dikkate almanız gerekir.

Arduino makalesini kullanan bu RGB renk sensörü TCS3200 ile ilgili herhangi bir sorunuz varsa, lütfen yorum bölümünde belirtin. Hızlı bir cevap alabilirsiniz.

Yukarıda açıklanan renk sensörü aşağıdakiler için de kullanılabilir: bir aktarıcıdan harici bir aygıtı tetiklemek istenen bir işlemi gerçekleştirmek için.




Önceki: Şifre Kontrollü AC Şebeke AÇMA / KAPAMA Anahtarı Sonraki: TSOP17XX Sensörlerini Özelleştirilmiş Frekanslarla Kullanma