TCS3200 Sensör Modülünü Kullanarak RGB Renk Dedektörü Yapımı
Bu, Arduino Uno R3 ve TCS3200 renk sensörü modülünü kullanan basit bir renk sensörüdür . Gıda işleme üniteleri, renkli yazıcı uygulamaları, boya karıştırma uygulamaları ve robotik de dahil olmak üzere diğer endüstriyel uygulamalar için renk tanımlama ve algılama için yararlı olabilir.
Bu proje, tek bir pakette LED’lerde fiziksel olarak bulunan birincil renkleri (kırmızı, yeşil ve mavi veya RGB) tespit etmek için kullanılır; örneğin, ortak katot veya ortak katot RGB LED. Arduino kodunu değiştirerek birincil renkleri görüntüleyebilir ve belirli renkler oluşturabiliriz. Proje, TCS3200 sensörü, Arduino Uno ve ortak katot RGB LED’in temel arayüzünü göstermektedir.
Şekil 1: TCS3200 renk sensörü modülü
TCS3200 renk sensörü modülü (SEN0101) Şekil 1’de ve RGB dizilerinin mikroskobik görünümü Şekil 2’de gösterilmektedir. Mikroskobik düzeyde, sensör üzerindeki gözün içindeki kare kutuları görebilirsiniz. Bu kare kutular RGB matrisinin dizileridir. Bu kutuların her biri üç sensör içerir: her biri kırmızı ışığı, yeşil ışığı ve mavi ışık yoğunluğunu algılamak için. TCS230 renk sensörü modülünden daha iyidir. Bu sensör, doğru programlama koduyla istediğiniz sayıda rengi tanımlamak için kullanılabilir.
Şekil 2: TCS3200 yongasının mikroskobik görünümü
Devre ve çalışma
Şekil 3, TCS3200 kullanan RGB renk detektörünün devre şemasını gösterir. CON1 konnektörüne bağlı 9V güç kaynağında çalışır. Ancak, bir Arduino Uno kartı sadece 5V gerektirir. Bu nedenle, 9V’yi 5V mantığına dönüştüren bir regülatörlü bir köprü doğrultucuya sahiptir, bu da LM1117 voltaj regülatörü yardımıyla 3.3V’a dönüştürülebilir.
Şekil 3: TCS3200 kullanan RGB renk dedektörünün devre şeması
Devrenin beyni, ATmega328 veya ATmega328P mikrodenetleyicisine (MCU) sahip Arduino Uno R3 kartıdır . 14 dijital giriş / çıkış (I / O) pimi ve altı analog giriş pimi, 32k flash bellek, 16MHz kristal osilatör, USB bağlantısı, güç girişi, ICSP başlığı ve sıfırlama düğmesi vardır.
TCS3200 modülü, Şekil 4’te gösterildiği gibi sekiz pime sahiptir. Bu modül, yapılandırılabilir silikon fotodiyotları ve akım-frekans dönüştürücüyü tek bir monolitik CMOS entegre devresinde birleştiren programlanabilir renkli ışık-frekans dönüştürücülerden oluşur. Çıktı kare frekanstır (yüzde 50 görev döngüsü) ve frekans ışık yoğunluğu (ışınım) ile doğru orantılıdır.
4: TCS3200 renk sensörü modülünün pim diyagramı
Dijital girişler ve çıkışlar, MCU veya diğer mantık devrelerine doğrudan arabirim sağlar. Output enable (OE), bir MCU giriş hattını paylaşan birden fazla ünite için çıkışı yüksek empedans durumuna getirir. TCS3200’de, ışık-frekans dönüştürücü 8 × 8 dizi fotodiyot okur. On altı fotodiyotun mavi filtresi var, bir diğer on altısı yeşil, yine bir diğer on altısı kırmızı ve kalan on altısı filtre olmadan net.
Aynı renkteki tüm fotodiyotlar paralel bağlanır. TCS3200’ün S2 ve S3 pinleri, aktif olan fotodiyotlar grubunu (kırmızı, yeşil, mavi ve berrak) seçmek için kullanılır. Ayrıntılı pim açıklaması sırasıyla Tablo I, II ve III’te gösterilmiştir.
Bu üç dizideki her sensör dizisi, gereksinime bağlı olarak ayrı ayrı seçilir. Bu nedenle, programlanabilir bir sensör olarak bilinir.
Modül yalnızca belirli bir rengi algılamak için kullanılabilir. Seçim amaçlı filtreler içerir. Filtresiz dördüncü bir mod var. Filtre olmadan sensör beyaz ışığı algılar.
İnşaat ve test
TCS3200 kullanan RGB renk detektörünün tek taraflı bir PCB düzeni Şekil 5’te ve bileşen Şekil 6’da gösterilmiştir.
Şekil 5: TCS3200 kullanan RGB renk dedektörünün gerçek boyutlu PCB düzeni6: PCB’nin bileşen yerleşimi
PCB ve bileşen yerleşim PDF’lerini indirin: buraya tıklayın
Projenin çalışması basittir, çünkü bu bir TCS3200 sensörünü bağlamak için temel bir devredir. Kırmızı renk sensörün yakınında tutulduğunda, fotodiyot dizileri yardımıyla rengi otomatik olarak algılar ve ardından RGB renk yoğunluğu değeri Arduino seri monitör penceresinde renk adıyla birlikte görüntülenir. Aynı zamanda, RGB LED’de kırmızı bir LED yanar. Benzer şekilde, kalan iki renk (yeşil ve mavi) Arduino seri monitör penceresinde gösterilir ve ilgili renk LED’i RGB LED’de yanar.
Yazılım
Yazılım Arduino programlama dilinde yazılmıştır . Arduino Uno Board1, Arduino IDE yazılımı kullanılarak programlanır. Arduino Uno kartındaki ATmega328P, harici bir donanım programcısı kullanmadan yeni kod yüklemenizi sağlayan önceden programlanmış bir önyükleyici ile birlikte gelir.
Arduino kartını PC’ye bağlayın ve Arduino IDE’de doğru COM portunu seçin. Programı / çizimi derleyin (TCS3200.ino). Arduino IDE’deki Araçlar → Pano menüsünden doğru kartı seçin ve çizimi yükleyin.
Programı MCU’nun dahili belleğine yükleyin. Eskiz, sistemin kalbinde yer alır ve tüm önemli işlevleri yerine getirir. Arduino IDE 1.6.4 kullanılarak derlenir ve yüklenir.
Kaynak kodu indir
Bu projede, programlama için harici başlık dosyaları gerekli değildir. Seri porttaki RGB renk yoğunluklarını tespit etmenin basit bir yoludur. Yazarın prototipi Şekil 7’de gösterilmiştir.
7: Yazarın prototipi