Arduino založený detektor barev pomocí barevného senzoru TCS230
v tomto projektu se chystáme propojit barevný senzor TCS3200 s Arduino Uno. TCS3200 je barevný senzor, který dokáže detekovat libovolný počet barev se správným programováním. Tcs3200 obsahuje RGB (červená zelená modrá) pole. Jak je znázorněno na obrázku na mikroskopické úrovni, lze vidět čtvercové krabice uvnitř oka na senzoru. Tyto čtvercové krabice jsou pole matice RGB. Každý z těchto boxů obsahuje tři senzory, jeden je pro snímání intenzity červeného světla, jeden je pro snímání intenzity zeleného 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 uváděn, aby vycítil konkrétní barvu a nechal ostatní. Obsahuje filtry pro tento účel výběru. Existuje režim forth, který není režimem filtru. Bez režimu filtru senzor detekuje bílé světlo.
požadované komponenty
Hardware: ARDUINO Uno, napájení (5v), LED, JHD_162ALCD (16 * 2LCD), barevný senzor TCS3200.
Software: ARDUINO IDE (ARDUINO nightly).
Schéma zapojení a pracovní vysvětlení
v 16×2 LCD je 16 pinů přes všechny pokud je zadní světlo, pokud není zadní světlo, bude 14 pinů. Jeden může napájet nebo nechat kolíky zadního světla. Teď ve 14 kolíky tam jsou 8 datových pinů (7-14 nebo D0-D7), 2 napájecí piny (1&2 nebo VSS&VDD nebo GND&+5v), 3 pin pro ovládání kontrastu (VEE-určuje, jak silná znaky by měly být uvedeny), a 3 kontroly kolíky (RS&RW&E)
V obvodu, můžete pozorovat pouze jsem vzal dva kontrolní piny. Kontrastní bit a čtení/zápis se často nepoužívají, takže mohou být zkratovány k zemi. To dává LCD v nejvyšším kontrastu a režimu čtení. Potřebujeme pouze ovládat ENABLE a RS piny, abychom mohli odpovídajícím způsobem odesílat znaky a data.
připojení, která se provádějí pro LCD, jsou uvedena níže:
PIN1 nebo VSS k zemi
PIN2 nebo VDD nebo VCC +5v napájení
PIN3 nebo VEE k zemi (poskytuje maximální kontrast nejlepší pro začátečníky)
PIN4 nebo RS (Register Výběr) PIN8 ARDUINO UNO
PIN5 nebo RW (Read/Write) na zem (vloží LCD v režimu čtení usnadňuje komunikaci pro uživatele)
PIN6 nebo E (Enable) toPIN9 ARDUINO UNO
PIN11 nebo D4 na PIN7 ARDUINO UNO
PIN12 nebo D5 na PIN11 ARDUINO UNO
PIN13 nebo D6 PIN12 ARDUINO UNO
PIN14 nebo D7 na PIN13 ARDUINO UNO
připojení které se provádí pro barevné snímače jsou uvedeny níže:
VDD +5V
GND na ZEM,
OE (output Enable) GND
S0 UNO pin 2
S1 UNO pin 3
S2 UNO pin 4
S3 UNO pin 5
UNO pin 10
barva, která musí být snímána snímačem barev je vybrán pomocí dvou čepů S2 a S3. S těmito dvěma piny logického řízení můžeme říci senzor, který barevný intenzita světla se má měřit.
Řekněme, že musíme cítit intenzitu červené barvy, kterou potřebujeme, abychom oba kolíky nastavili na nízkou. Jakmile je to hotovo, senzor detekuje intenzitu a odešle hodnotu řídicímu systému uvnitř modulu.
S2 |
S3 |
Fotodioda Typu |
L |
L |
Červená |
L |
H |
Modrá |
H |
L |
Jasné (žádný filtr) |
H |
H |
Zelená |
kontrolní systém uvnitř modulu je znázorněno na obrázku. Intenzita světla měřená polem je odeslána na proud do frekvenčního měniče. To, co dělá, je, že vydává čtvercovou vlnu, jejíž frekvence je ve vztahu k proudu odeslanému polem.
Takže máme systém, který vysílá náměstí vlna, jejíž frekvence závisí na intenzitě světla barvy, který je vybrán tím, S2 a S3.
frekvence signálu odeslaná modulem může být modulována v závislosti na použití. Můžeme změnit frekvenční šířku pásma výstupního signálu.
S0 |
S1 |
Škálování Výstupní Frekvence (f0) |
L |
L |
Power Dolů |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
frekvence škálování se provádí pomocí dvou bitů S0 a S1. Pro větší pohodlí omezíme frekvenční škálování na 20%. To se provádí nastavením S0 na vysokou a S1 na nízkou. Tato funkce se hodí, když používáme modul v systému s nízkými hodinami.
citlivost pole na barvu je znázorněna na obrázku níže.
ačkoli různé barvy mají různou citlivost, pro běžné použití to nebude mít velký rozdíl.
UNO sem poslat signál do modulu pro detekci barev a údaje získané v modulu je zobrazen v 16*2 LCD připojen.
Uno detekuje tři intenzity barev samostatně a zobrazuje je na LCD displeji.
Uno dokáže detekovat dobu trvání impulsu signálu, pomocí které můžeme získat frekvenci čtvercové vlny odeslané modulem. S frekvencí po ruce ji můžeme porovnat s barvou na senzoru.
- frekvence Int = pulseIn (10, nízká);