V tem projektu bomo povezali barvni senzor TCS3200 z Arduino UNO. TCS3200 je barvni senzor, ki lahko s pravim programiranjem zazna poljubno število barv. TCS3200 vsebuje matrike RGB (rdeče zeleno modra). Kot je prikazano na sliki na mikroskopski ravni, lahko na senzorju vidimo kvadratne škatle v očesu. Ta kvadratna polja so nizi matrike RGB. Vsako od teh polj vsebuje tri senzorje, eden je za zaznavanje RDEČE intenzitete svetlobe, eden za zaznavanje ZELENE intenzivnosti svetlobe in zadnji za zaznavanje MODRE moči svetlobe.
Vsak od senzorskih nizov v teh treh nizih je izbran posebej glede na potrebe. Zato je znan kot programabilni senzor. Modul je lahko opremljen tako, da zazna določeno barvo in zapusti ostale. Vsebuje filtre za ta izbirni namen. Obstaja četrti način, ki ni način filtriranja. Brez načina filtriranja senzor zazna belo svetlobo.
Potrebne komponente
Strojna oprema: ARDUINO UNO, napajalnik (5v), LED, JHD_162ALCD (16 * 2LCD), barvni senzor TCS3200.
Programska oprema: ARDUINO IDE (ARDUINO ponoči).
Shema vezja in delovna razlaga
Na 16x2 LCD-ju je 16 zatičev, če obstaja osvetlitev ozadja, če ni osvetlitve ozadja, bo 14 zatičev. Lahko napajate ali pustite zatiče zadnje luči. Sedaj v 14 zatiči obstaja 8 podatkovnih zatiči (7-14 ali D0-D7), 2 Mrežni zatiči (1 & 2 ali VSS in VDD ali GND in + 5v), 3 rd pin za nadzor kontrasta (vee-kontrole kako debel znake morajo biti prikazano) in 3 krmilne nožice (RS & RW & E)
V vezju lahko opazite, da sem vzel samo dva kontrolna zatiča. Kontrastni bit in READ / WRITE se ne uporabljata pogosto, zato jih je mogoče kratko skleniti na tla. To LCD zaslon postavi v najvišji kontrast in način branja. Samo nadzorovati moramo ENABLE in RS pin, da ustrezno pošljemo znake in podatke.
Povezave za LCD so podane spodaj:
PIN1 ali VSS na ozemljitev
PIN2 ali VDD ali VCC do + 5v moči
PIN3 ali VEE na tla (za začetnike daje največji kontrast)
PIN4 ali RS (Registracija izbire) do PIN8 ARDUINO UNO
PIN5 ali RW (branje / pisanje) na ozemljitev (LCD v načinu branja olajša komunikacijo za uporabnika)
PIN6 ali E (Omogoči) do PIN9 ARDUINO UNO
PIN11 ali D4 do PIN7 ARDUINO UNO
PIN12 ali D5 do PIN11 ARDUINO UNO
PIN13 ali D6 do PIN12 ARDUINO UNO
PIN14 ali D7 do PIN13 ARDUINO UNO
Povezave, ki so narejene za barvni senzor, so podane spodaj:
VDD do + 5V
GND do TLA
OE (izhod omogočen) na GND
S0 do zatiča UNO 2
S1 do zatiča 3 UNO
S2 do zatiča 4 UNO
S3 do zatiča UNO 5
OUT na UNO pin 10
Barvo, ki jo mora zaznati barvni senzor, izbereta dva zatiča S2 in S3. S pomočjo teh dveh zatičev logičnega nadzora lahko senzorju sporočimo, katero barvno intenzivnost svetlobe je treba izmeriti.
Recimo, da moramo zaznati RDEČO intenzivnost barve, da moramo oba zatiča nastaviti na LOW. Ko to konča, senzor zazna jakost in vrednost pošlje krmilnemu sistemu znotraj modula.
S2 |
S3 |
Tip fotodiode |
L |
L |
rdeča |
L |
H |
Modra |
H |
L |
Počisti (brez filtra) |
H |
H |
Zelena |
Krmilni sistem znotraj modula je prikazan na sliki. Intenzivnost svetlobe, izmerjena z matriko, se pošlje v pretvornik toka v frekvenco. Kar naredi, odda kvadratni val, katerega frekvenca je glede na tok, ki ga pošilja ARRAY.
Torej imamo sistem, ki oddaja kvadratni val, katerega frekvenca je odvisna od jakosti svetlobe barve, ki jo izbereta S2 in S3.
Frekvenco signala, ki jo pošilja modul, je mogoče modulirati glede na uporabo. Spremenimo lahko pasovno širino frekvence izhodnega signala.
S0 |
S1 |
Skaliranje izhodne frekvence (f 0) |
L |
L |
Izklop |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Frekvenčno skaliranje se izvede z dvema bitoma S0 in S1. Zaradi lažjega spreminjanja frekvence bomo omejili na 20%. To naredimo tako, da S0 nastavimo na visoko in S1 na LOW. Ta funkcija je priročna, ko uporabljamo modul v sistemu z nizko uro.
Občutljivost polja na barvo je prikazana na spodnji sliki.
Čeprav imajo različne barve različno občutljivost, pri običajni uporabi to ne bo veliko spremenilo.
UNO tukaj pošilja signal modulu za zaznavanje barv, podatki, ki jih prejema modul, pa so prikazani na 16 * 2 LCD-ju, priključenem nanj.
UNO ločeno zazna tri intenzivnosti barv in jih prikaže na LCD-prikazovalniku.
Uno lahko zazna trajanje impulza signala, s katerim lahko dobimo frekvenco kvadratnega vala, ki ga pošilja modul. S frekvenco, ki je na voljo, jo lahko prilagodimo barvi na senzorju.
|
Kot je zgoraj pogojem UNO bere trajanjem impulza 10. th zatič ZN in shrani vrednosti v "Frequency" celo število.
To bomo storili za vse tri barve za prepoznavanje barv. Vse tri intenzivnosti barv so prikazane s frekvencami na LCD 16x2.