V tomto projektu budeme propojovat barevný senzor TCS3200 s Arduino UNO. TCS3200 je barevný senzor, který dokáže správně programovat detekovat libovolný počet barev. TCS3200 obsahuje pole RGB (červená zelená modrá). Jak je znázorněno na obrázku na mikroskopické úrovni, je možné vidět čtvercové rámečky uvnitř oka na senzoru. Tato čtvercová pole jsou pole matice RGB. Každý z těchto boxů obsahuje tři senzory, jeden pro snímání ČERVENÉ intenzity světla, jeden pro snímání ZELENÉ intenzity světla a poslední pro snímání intenzity MODRÉHO světla.
Každé ze senzorových polí v těchto třech polích je vybráno samostatně v závislosti na požadavku. Proto je známý jako programovatelný senzor. Modul může být vybaven pro snímání konkrétní barvy a pro opuštění ostatních. Obsahuje filtry pro tento účel výběru. Existuje čtvrtý režim, který není režimem filtru. Bez režimu filtru senzor detekuje bílé světlo.
Požadované komponenty
Hardware: ARDUINO UNO, napájecí zdroj (5 V), LED, JHD_162ALCD (16 * 2LCD), barevný snímač TCS3200.
Software: ARDUINO IDE (ARDUINO každou noc).
Schéma zapojení a pracovní vysvětlení
V 16x2 LCD je 16 kolíků, pokud je podsvícení, pokud není podsvícení, bude 14 kolíků. Jeden může napájet nebo nechat kolíky podsvícení. Nyní ve 14 kolíky jsou 8 datových kolíky (7-14 nebo D0-D7), 2 napájecí kolíky elektrárny (1 & 2 nebo VSS a VDD nebo GND a + 5 V), 3 rd pin pro řízení kontrastu (VEE-určuje, jak silná znaky musí být a 3 ovládací piny (RS & RW & E)
V okruhu můžete pozorovat, že jsem vzal jen dva kontrolní piny. Kontrastní bit a READ / WRITE se často nepoužívají, aby mohly být zkratovány na zem. LCD se tak dostane do režimu nejvyššího kontrastu a čtení. Abychom mohli odpovídajícím způsobem odesílat znaky a data, musíme pouze ovládat piny ENABLE a RS.
Připojení, která se provádí pro LCD, jsou uvedena níže:
PIN1 nebo VSS k zemi
PIN2 nebo VDD nebo VCC na + 5V napájení
PIN3 nebo VEE k zemi (poskytuje maximální kontrast nejlepší pro začátečníky)
PIN4 nebo RS (výběr registru) na PIN8 ARDUINO UNO
PIN5 nebo RW (čtení / zápis) na zem (přepnutí LCD do režimu čtení usnadňuje uživateli komunikaci)
PIN6 nebo E (povolit) na PIN9 ARDUINO UNO
PIN11 nebo D4 až PIN7 společnosti ARDUINO UNO
PIN12 nebo D5 až PIN11 společnosti ARDUINO UNO
PIN13 nebo D6 až PIN12 společnosti ARDUINO UNO
PIN14 nebo D7 až PIN13 společnosti ARDUINO UNO
Níže jsou uvedena připojení, která jsou provedena pro barevný senzor:
VDD až + 5 V.
GND k zemi
OE (výstup povolen) na GND
S0 na UNO pin 2
S1 na UNO pin 3
S2 na UNO pin 4
S3 na UNO pin 5
OUT na UNO pin 10
Barva, kterou je třeba snímat barevným senzorem, se volí dvěma piny S2 a S3. S těmito dvěma kolíky logické řízení můžeme říci senzoru, která intenzita barevného světla se má měřit.
Řekněme, že musíme cítit ČERVENOU intenzitu barev, kterou potřebujeme pro nastavení obou pinů na LOW. Jakmile je to hotové, senzor detekuje intenzitu a odešle hodnotu do řídicího systému uvnitř modulu.
S2 |
S3 |
Typ fotodiody |
L |
L |
Červené |
L |
H |
Modrý |
H |
L |
Vymazat (bez filtru) |
H |
H |
Zelená |
Řídicí systém uvnitř modulu je znázorněn na obrázku. Intenzita světla měřená polem je odeslána na měnič proudu na frekvenci. Co dělá, je, že vydá obdélníkovou vlnu, jejíž frekvence je ve vztahu k proudu odeslanému ARRAY.
Takže máme systém, který vysílá čtvercovou vlnu, jejíž frekvence závisí na intenzitě světla barvy, která je vybrána pomocí S2 a S3.
Frekvenci signálu odesílanou modulem lze modulovat v závislosti na použití. Můžeme změnit šířku pásma výstupního signálu.
S0 |
S1 |
Škálování výstupní frekvence (f 0) |
L |
L |
Vypnout |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Škálování frekvence se provádí dvěma bity S0 a S1. Pro větší pohodlí omezíme škálování frekvence na 20%. To se provádí nastavením S0 na vysokou a S1 na LOW. Tato funkce se hodí, když modul používáme v systému s nízkými hodinami.
Citlivost pole na barvu je uvedena na následujícím obrázku.
Ačkoli různé barvy mají odlišnou citlivost, pro běžné použití to moc nezmění.
UNO zde odesílá signál do modulu k detekci barev a data přijatá modulem se zobrazují na 16 * 2 LCD připojeném k němu.
UNO detekuje samostatně tři intenzity barev a zobrazuje je na LCD.
Uno dokáže detekovat trvání signálního impulzu, kterým můžeme získat frekvenci obdélníkové vlny odeslané modulem. S frekvencí, kterou máme k dispozici, ji můžeme sladit s barvou na senzoru.
|
Jak je podle výše uvedené podmínky UNO čte trvání impulsu na 10 th kolík OSN a uloží se hodnota v „Frekvence“ celé číslo.
Uděláme to pro všechny tři barvy pro rozpoznávání barev. Všechny tři barevné intenzity jsou zobrazeny frekvencemi na 16x2 LCD.