Uvod v RGB barvni senzor TCS3200

Preizkusite Naš Instrument Za Odpravo Težav





TCS3200 je barvni čip pretvornika svetlobe v frekvenco, ki ga je mogoče programirati prek mikrokrmilnika. Modul je mogoče uporabiti za zaznavanje vseh 7 barv bele svetlobe s pomočjo integriranega mikrokrmilnika, kot je Arduino.

V tem prispevku si bomo ogledali RGB barvni senzor TCS3200, razumeli bomo, kako deluje barvni senzor, in praktično bomo preizkusili senzor TCS3200 z Arduinom in izvlekli nekaj koristnih podatkov.



Pomen prepoznavanja barv

Vsak dan vidimo svet, napolnjen z bogatimi barvami, ali ste se kdaj vprašali, kaj pravzaprav so barve razen tega, da ga vizualno občutite. No, barve so elektromagnetno valovanje z različnimi valovnimi dolžinami. Rdeča, zelena, modra imajo različne valovne dolžine, človeške oči so uglašene, da poberejo te RGB barve, kar je ozek pas od elektromagnetnega spektra.

Toda vidimo več kot rdečo, modro in zeleno, saj naši možgani lahko mešajo dve ali več barv in dajo novo barvo.



Sposobnost videti različne barve je starodavni človeški civilizaciji pomagala pobegniti pred življenjsko nevarnimi nevarnostmi, kot so živali, prav tako pa je pomagala prepoznati užitne predmete, kot so sadje ob pravilni rasti, ki jih bo prijetno uživati.

Ženske bolje prepoznavajo različne barvne odtenke (bolj občutljive na barve) kot moški, moški pa bolje spremljajo hitro premikajoče se predmete in se ustrezno odzivajo.

Številne študije kažejo, da je to zaradi tega, ker so se moški v antičnem obdobju lovili zaradi svoje fizične moči, ki je bila boljša od žensk.

Ženske so počaščene z manj tveganimi nalogami, kot je zbiranje sadja in drugih užitnih predmetov z rastlin in dreves.

Zbiranje užitnih izdelkov iz rastlin ob njihovi pravi rasti (barva plodov igra veliko vlogo) je bilo zelo pomembno za dobro prebavo, kar je ljudem pomagalo pri zdravstvenih težavah.

Te razlike v vizualnih sposobnostih pri moških in ženskah obstajajo tudi v današnjem času.

V redu, zakaj zgornja pojasnila za elektronski barvni senzor? No, ker so barvni senzorji izdelani na podlagi barvnega modela človeškega očesa in ne na podlagi barvnega modela drugih živali.

Na primer, dvojna kamera v pametnih telefonih je ena od kamer posebej narejena za prepoznavanje barv RGB in druga kamera za fotografiranje običajnih slik. Mešanje teh dveh slik / informacij z nekaj previdnega algoritma bo na zaslonu reproduciralo natančne barve resničnih predmetov, ki jih lahko zaznajo ljudje.

Opomba: Vse dvojne kamere ne delujejo na enak način, kot je omenjeno zgoraj, nekatere se uporabljajo za optično povečavo, druge uporabljajo za poglobljen učinek polja itd.

Zdaj pa poglejmo, kako so izdelani barvni senzorji TCS3200.

Prikaz senzorja TCS3200:

Senzor TCS3200

Ima 4 vgrajene bele LED za osvetlitev predmeta. Ima 10 zatičev, dva zatiča Vcc in GND (uporabite katera koli dva od teh). V kratkem bo razložena funkcija S0, S1, S2, S3, S4 in 'out' zatiča.

Če si senzor natančno ogledate, lahko vidimo nekaj, kot je prikazano spodaj:

Ima 8 x 8 barvnih senzorjev, kar je skupaj 64. V bloku fotosenzorjev so rdeči, modri in zeleni senzorji. Različni barvni senzorji se oblikujejo z uporabo različnih barvnih filtrov na senzorju. Od 64 jih ima 16 modrih, 16 zelenih, 16 rdečih senzorjev in 16 foto senzorjev brez kakršnega koli barvnega filtra.

Modri ​​barvni filter bo dopustil, da samo modro obarvana svetloba zadene senzor in zavrne preostale valovne dolžine (Barve), to je enako za druga dva barvna senzorja.

Če na rdeči filter ali zeleni filter prižgete modro luč, bo skozi zeleni ali rdeči filter v primerjavi z modrim filtrom prešla manj intenzivna svetloba. Tako bo modro filtriran senzor prejel več svetlobe v primerjavi z dvema drugima.

Tako lahko barvne senzorje z RGB filtri postavimo v blok in zasijemo poljubno obarvano svetlobo, ustrezen barvni senzor pa bo prejel več svetlobe kot druga dva.

Z merjenjem jakosti svetlobe, ki jo prejema senzor, lahko razkrijemo barvo, ki jo je sijala svetloba.

Za povezavo signala s senzorja na mikrokrmilnik se izvede pretvornik jakosti svetlobe v frekvenčni pretvornik.

Block Diagram

Zatič 'out' je izhod. Frekvenca izhodnega zatiča je 50% delovnega cikla. Zatiča S2 in S3 sta izbrani liniji za fotosenzor.

Če pogledate tabelo, bolje razumete:

Zatiča S2 in S3 sta izbrani liniji za fotosenzor.

Z uporabo nizkih signalov na nožici S2 in S3 izberete rdeči barvni senzor in izmerite intenzivnost rdeče valovne dolžine.

Podobno sledite zgornji tabeli za ostale barve.

Na splošno se merijo rdeči, modri in zeleni senzorji, tako da senzor ostane brez filtrov.

S0 in S1 sta zatiča za frekvenčno skaliranje:

S0 in S1 sta zatiča frekvenčnega skaliranja

S0 in S1 sta zatiča za frekvenčno skaliranje za skaliranje izhodne frekvence. Frekvenčno skaliranje se uporablja za izbiro optimalne izhodne frekvence od senzorja do mikrokrmilnika. V primeru Arduina je priporočljivo 20%, S0 ‘HIGH’ in S1 ‘LOW’.

Izhodna frekvenca se poveča, če je jakost svetlobe ustreznega senzorja velika. Zaradi enostavnosti programske kode se frekvenca ne meri, ampak se meri trajanje impulza, večja je frekvenca, zmanjšana za trajanje impulza.

Torej, tista, ki na odčitkih serijskega monitorja kaže najmanj, mora biti barva, ki je postavljena pred senzor.

Pridobivanje podatkov iz barvnega senzorja

Zdaj pa poskusimo praktično izvleči podatke iz senzorja:

kako izvleči podatke iz barvnega senzorja z uporabo Arduino vezja

Koda programa:

//--------------Program Developed by R.GIRISH--------------//
const int s0 = 4
const int s1 = 5
const int s2 = 6
const int s3 = 7
const int out = 8
int frequency1 = 0
int frequency2 = 0
int frequency3 = 0
int state = LOW
int state1 = LOW
int state2 = HIGH
void setup()
{
Serial.begin(9600)
pinMode(s0, OUTPUT)
pinMode(s1, OUTPUT)
pinMode(s2, OUTPUT)
pinMode(s3, OUTPUT)
pinMode(out, INPUT)
//----Scaling Frequency 20%-----//
digitalWrite(s0, state2)
digitalWrite(s1, state1)
//-----------------------------//
}
void loop()
')
delay(100)
//------Sensing Blue colour----//
digitalWrite(s2, state1)
digitalWrite(s3, state2)
frequency3 = pulseIn(out, state)
Serial.print(' Blue = ')
Serial.println(frequency3)
delay(100)
Serial.println('---------------------------------------')
delay(400)

//--------------Program Developed by R.GIRISH--------------//

IZHOD serijskega monitorja:

Barva, ki kaže najnižjo vrednost, je barva pred senzorjem. Lahko tudi napišete kodo za prepoznavanje katere koli barve, na primer rumene. Rumena je rezultat mešanja zelene in rdeče, tako da če je pred senzorjem postavljena rumena barva, morate upoštevati odčitke rdeče in zelene senzorje, podobno kot pri drugih barvah.

Če imate kakršna koli vprašanja glede tega RGB barvnega senzorja TCS3200 z uporabo članka Arduino, prosimo, izrazite v oddelku za komentarje. Lahko prejmete hiter odgovor.

Zgoraj razloženi barvni senzor lahko uporabimo tudi za sproži zunanji pripomoček prek releja za izvajanje želene operacije.




Prejšnje: Stikalo za vklop / izklop omrežja z nadzorovanim geslom Naprej: Uporaba senzorjev TSOP17XX s prilagojenimi frekvencami