Bu projede TCS3200 renk sensörü ile Arduino UNO arasında arayüz oluşturacağız. TCS3200, doğru programlama ile herhangi bir sayıda rengi algılayabilen bir renk sensörüdür. TCS3200, RGB (Kırmızı Yeşil Mavi) dizileri içerir. Mikroskobik seviyede şekilde gösterildiği gibi, sensör üzerinde gözün içindeki kare kutular görülebilir. Bu kare kutular, RGB matris dizileridir. Bu kutuların her biri Üç sensör içerir, Biri KIRMIZI ışık yoğunluğunu algılamak içindir, Biri YEŞİL ışık yoğunluğunu algılamak için ve sonuncusu MAVİ ışık yoğunluğunu algılamak içindir.
Bu üç dizideki sensör dizilerinin her biri, ihtiyaca göre ayrı ayrı seçilir. Bu nedenle programlanabilir sensör olarak bilinir. Modül, belirli rengi algılamak ve diğerlerini terk etmek için öne çıkarılabilir. Bu seçim amacı için filtreler içerir. Filtre modu olmayan dördüncü mod vardır. Filtre modu olmadığında sensör beyaz ışığı algılar.
Gerekli Bileşenler
Donanım: ARDUINO UNO, güç kaynağı (5v), LED, JHD_162ALCD (16 * 2LCD), TCS3200 renk sensörü.
Yazılım: ARDUINO IDE (ARDUINO her gece).
Devre Şeması ve Çalışma Açıklaması
16x2 LCD'de arka ışık varsa 16 pim vardır, arka ışık yoksa 14 pim olacaktır. Arka ışık pimlerine güç verebilir veya bırakabilirsiniz. Şimdi 14 pimde 8 veri pini (7-14 veya D0-D7), 2 güç kaynağı pini (1 ve 2 veya VSS ve VDD veya GND ve + 5v), kontrast kontrolü için 3. pim (karakterlerin ne kadar kalın olması gerektiğini VEE kontrol eder) gösterilen) ve 3 kontrol pini (RS & RW & E)
Devrede, sadece iki kontrol pini aldığımı gözlemleyebilirsiniz. Kontrast biti ve READ / WRITE sık kullanılmadığından toprağa kısa devre yapılabilir. Bu, LCD'yi en yüksek kontrast ve okuma moduna getirir. Karakterleri ve verileri buna göre göndermek için sadece ENABLE ve RS pinlerini kontrol etmemiz gerekiyor.
LCD için yapılan bağlantılar aşağıda verilmiştir:
PIN1 veya VSS toprağa
PIN2 veya VDD veya VCC ila + 5v güç
Zemine PIN3 veya VEE (yeni başlayanlar için en iyi maksimum kontrastı verir)
ARDUINO UNO'nun PIN8'ine PIN4 veya RS (Kayıt Seçimi)
PIN5 veya RW (Okuma / Yazma) zemine (LCD'yi okuma moduna geçirerek kullanıcı için iletişimi kolaylaştırır)
ARDUINO UNO'nun PIN6'sına PIN6 veya E (Etkinleştir)
ARDUINO UNO'nun PIN11 veya D4'ü
ARDUINO UNO'nun PIN12 veya D5'ten PIN11'e
ARDUINO UNO'nun PIN13 veya D6'sı
ARDUINO UNO'nun PIN13'üne PIN14 veya D7
Renk sensörü için yapılan bağlantılar aşağıda verilmiştir:
VDD ila + 5V
GND'den ZEMİNE
OE'den (çıktı Etkinleştir) GND'ye
S0 - UNO pin 2
S1'den UNO'ya pin 3
S2'den UNO pin 4'e
S3 - UNO pin 5
OUT'dan UNO pin 10'a
Renk sensörü tarafından algılanması gereken renk, iki pin S2 ve S3 tarafından seçilir. Bu iki pimli mantık kontrolü ile sensöre hangi renk ışık yoğunluğunun ölçüleceğini söyleyebiliriz.
Diyelim ki her iki iğneyi de DÜŞÜK olarak ayarlamamız gereken KIRMIZI renk yoğunluğunu algılamamız gerekiyor. Bu yapıldıktan sonra sensör yoğunluğu algılar ve değeri modül içindeki kontrol sistemine gönderir.
S2 |
S3 |
Fotodiyot Tipi |
L |
L |
Kırmızı |
L |
H |
Mavi |
H |
L |
Temizle (filtre yok) |
H |
H |
Yeşil |
Modül içindeki kontrol sistemi şekilde gösterilmiştir. Dizi tarafından ölçülen ışık yoğunluğu, akıma frekans dönüştürücüye gönderilir. Yaptığı şey, frekansı ARRAY tarafından gönderilen akımla ilişkili olan bir kare dalga ortaya çıkarmaktır.
Dolayısıyla, S2 ve S3 tarafından seçilen, frekansı rengin ışık yoğunluğuna bağlı olan bir kare dalga gönderen bir sistemimiz var.
Modül tarafından gönderilen sinyal frekansı kullanıma bağlı olarak modüle edilebilir. Çıkış sinyali frekans bant genişliğini değiştirebiliriz.
S0 |
S1 |
Çıkış Frekansı Ölçeklendirmesi (f 0) |
L |
L |
Gücü kesmek |
L |
H |
% 2 |
H |
L |
% 20 |
H |
H |
100% |
Frekans ölçeklendirmesi iki bit S0 ve S1 ile yapılır. Kolaylık sağlamak için frekans ölçeklendirmesini% 20 ile sınırlayacağız. Bu, S0'ı yüksek ve S1'i DÜŞÜK olarak ayarlayarak yapılır. Bu özellik, modülü düşük saatli sistemde kullandığımızda işe yarar.
Array'in renge duyarlılığı aşağıdaki şekilde gösterilmiştir.
Farklı renklerin farklı hassasiyetleri olmasına rağmen, normal bir kullanım için pek bir fark yaratmayacaktır.
Burada UNO, renkleri algılamak için modüle sinyal gönderir ve modül tarafından alınan veriler ona bağlı 16 * 2 LCD'de gösterilir.
UNO, üç renk yoğunluğunu ayrı ayrı algılar ve bunları LCD'de gösterir.
Uno, modül tarafından gönderilen kare dalganın frekansını alabileceğimiz sinyal darbe süresini tespit edebilir. Eldeki frekansla onu sensördeki renkle eşleştirebiliriz.
|
Yukarıdaki koşulda olduğu gibi, UNO, UNO'nun 10. pinindeki darbe süresini okur ve değerini "frekans" tamsayısında saklar.
Bunu renk tanıma için her üç renk için de yapacağız. Üç renk yoğunluğunun tümü 16x2 LCD'de frekanslarla gösterilir.