Introduktion til RGB-farvesensor TCS3200

Prøv Vores Instrument Til At Fjerne Problemer





TCS3200 er en farve-til-frekvensomformerchip, der kan programmeres via en mikrocontroller. Modulet kan bruges til at detektere alle de 7 farver af hvidt lys ved hjælp af en integreret mikrocontroller som Arduino.

I dette indlæg skal vi se på RGB-farvesensor TCS3200, vi vil forstå, hvordan farvesensoren fungerer, og vi vil praktisk teste TCS3200-sensoren med Arduino og udtrække nogle nyttige data.



Betydningen af ​​farvegenkendelse

Vi ser verden hver dag, fyldt med rige farver, har du nogensinde spekuleret på, hvad der faktisk er farver bortset fra at føle det visuelt. Nå, farver er elektromagnetiske bølger med forskellige bølgelængder. Rød, grøn, blå har forskellige bølgelængder, menneskelige øjne er indstillet til at opfange disse RGB-farver, som er et smalt bånd fra det elektromagnetiske spektrum.

Men vi ser mere end rød, blå og grøn, det er fordi vores hjerne kan blande to eller flere farver og giver en ny farve.



Evnen til at se forskellige farver hjalp den gamle menneskelige civilisation med at flygte fra livstruende farer som dyr og hjalp også med at identificere spiselige genstande såsom frugt ved sin rette vækst, hvilket vil være behageligt at indtage.

Kvinder er bedre til at genkende forskellige nuancer af farve (bedre farvefølsom) end mand, men mænd er bedre til at spore objekter i hurtig bevægelse og reagere i overensstemmelse hermed.

Mange undersøgelser antyder, at dette skyldes, at mænd i løbet af den gamle periode går på jagt på grund af deres fysiske styrke, som var bedre end kvinder.

Kvinder hædres med en mindre risikabel opgave som at samle frugt og andre spiselige genstande fra planter og træer.

At samle de spiselige genstande fra planter med den rigtige vækst (frugtfarven spiller en enorm rolle) var meget vigtigt for god fordøjelse, hvilket hjalp mennesker fra sundhedsmæssige problemer i skak.

Disse forskelle i synsevne hos mænd og kvinder vedvarer selv i moderne tid.

Okay, hvorfor ovenstående forklaringer på en elektronisk farvesensor? Fordi farvesensorerne er fremstillet baseret på menneskets øjenfarvemodel og ikke med øjenfarvemodel fra andre dyr.

For eksempel er dobbeltkameraer i smartphones et af kameraerne specielt lavet til at genkende RGB-farver og andet kamera til at tage normale billeder. Blanding af disse to billeder / information med en omhyggelig algoritme gengiver kun nøjagtige farver af ægte objekter på skærmen, som mennesker kan opfatte.

Bemærk: Ikke alle dobbeltkameraer fungerer på samme måde som nævnt ovenfor, nogle bruges til optisk zoom, andre bruges til at producere dybdegående felteffekt osv.

Lad os nu se, hvordan TCS3200-farvesensorer er fremstillet.

Illustration af TCS3200 sensor:

TCS3200 sensor

Den har 4 indbyggede hvide lysdioder til belysning af objektet. Den har 10 ben to Vcc og GND ben (brug to af disse). Funktionen af ​​S0, S1, S2, S3, S4 og 'out' pin vil snart blive forklaret.

Hvis sensoren ser nærmere på, kan vi se noget som illustreret nedenfor:

Den har 8 x 8 række farvesensorer, der er i alt 64. Blokken til fotosensorer har røde, blå, grønne sensorer. De forskellige farvesensorer dannes ved at anvende forskellige farvefiltre på sensoren. Ud af 64 har den 16 blå, 16 grønne, 16 røde sensorer, og der er 16 fotosensorer uden farvefilter.

Det blå farvefilter tillader kun blåt farvet lys at ramme sensoren og afvise resten af ​​bølgelængderne (farver). Dette er det samme for andre to farvesensorer.

Hvis du skinner et blåt lys på et rødt filter eller et grønt filter, passerer mindre intens lys gennem de grønne eller røde filtre sammenlignet med det blå filter. Så den blå filtrerede sensor modtager mere lys sammenlignet med andre to.

Så vi kan sætte farvesensorerne med RGB-filtre i en blok og skinne ethvert farvet lys, og den relevante farvesensor modtager mere lys end andre to.

Ved at måle intensiteten af ​​det lys, der modtages ved en sensor, kan den afsløre den farve, det lys skinner.

For at interface signalet fra sensor til mikrokontroller sker med lysintensitet til frekvensomformer.

Circuit Block Diagram

Ud-stiften er output. Udgangsstiftets frekvens er 50% driftscyklus. S2- og S3-ben er udvalgte linjer til fotosensor.

Du forstår bedre ved at se tabellen:

S2- og S3-ben er udvalgte linjer til fotosensor.

Ved at anvende lave signaler til pin S2 og S3 vælges den røde farvesensor og måle intensiteten af ​​rød bølgelængde.

Følg ligeledes ovenstående tabel for resten af ​​farverne.

Generelt måles røde, blå og grønne sensorer, så sensorerne er en uden filtre.

S0 og S1 er frekvensskalerestifterne:

S0 og S1 er frekvensskalerestifterne

S0 og S1 er frekvensskalerestifter til skalering af udgangsfrekvensen. Frekvensskalering bruges til at vælge den optimale udgangsfrekvens fra sensor til mikrokontroller. I tilfælde af Arduino anbefales 20%, S0 'HIGH' og S1 'LOW'.

Udgangsfrekvensen bliver høj, hvis lysintensiteten for den relevante sensor er høj. For at gøre det enkelt for programkoden måles ikke frekvensen, men pulsvarigheden måles, jo højere frekvens minus pulsvarigheden.

Så den, der på den serielle skærmaflæsning viser mindst, skal være den farve, der er placeret foran sensoren.

Uddrag af data fra farvesensoren

Lad os nu praktisk talt prøve at udtrække data fra sensoren:

hvordan man udtrækker data fra farvesensoren ved hjælp af Arduino-kredsløbet

Programkode:

//--------------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--------------//

Seriel skærm OUTPUT:

Den aflæsning, der viser lavest, er farven placeret foran sensoren. Du kan også skrive kode til genkendelse af enhver farve, f.eks. Gul. Gul er resultatet af blanding af grønt og rødt, så hvis gul farve placeres foran sensoren, skal du tage de røde og grønne sensoraflæsninger i betragtning, ligesom for alle andre farver.

Hvis du har spørgsmål vedrørende denne RGB-farvesensor TCS3200 ved hjælp af Arduino-artiklen, bedes du udtrykke det i kommentarsektionen. Du modtager muligvis et hurtigt svar.

Ovenstående forklarede farvesensor kan også bruges til udløser en ekstern gadget gennem et relæ til udførelse af en ønsket operation.




Forrige: Adgangskodestyret AC-tænd / sluk-switch Næste: Brug af TSOP17XX-sensorer med tilpassede frekvenser