Introduktion till RGB-färgsensor TCS3200

Prova Vårt Instrument För Att Eliminera Problem





TCS3200 är ett färg-ljus-till-frekvensomvandlarchip som kan programmeras via en mikrokontroller. Modulen kan användas för att upptäcka alla de 7 färgerna av vitt ljus med hjälp av en integrerad mikrokontroller som Arduino.

I det här inlägget kommer vi att ta en titt på RGB-färgsensorn TCS3200, vi kommer att förstå hur färgsensorn fungerar och vi kommer praktiskt taget att testa TCS3200-sensorn med Arduino och extrahera några användbara data.



Betydelsen av färgigenkänning

Vi ser världen varje dag, fylld med rika färger, har du någonsin undrat vad som faktiskt är färger förutom att känna det visuellt. Tja, färger är elektromagnetiska vågor med olika våglängder. Röd, grön, blå har olika våglängder, mänskliga ögon är inställda för att plocka upp dessa RGB-färger, vilket är ett smalt band från elektromagnetiskt spektrum.

Men vi ser mer än rött, blått och grönt, det beror på att vår hjärna kan blanda två eller flera färger och ger ut en ny färg.



Förmågan att se olika färger hjälpte den forntida mänskliga civilisationen att fly från livshotande faror som djur och hjälpte också till att identifiera ätbara föremål som frukter vid rätt tillväxt, vilket kommer att vara trevligt att konsumera.

Kvinnor är bättre på att känna igen olika färgnyanser (bättre färgkänsliga) än man, men män är bättre på att spåra snabba föremål och reagerar därefter.

Många studier tyder på att detta beror på att män under forntida jakter på grund av sin fysiska styrka som var överlägsen kvinnor.

Kvinnor hedras med en mindre riskfylld uppgift som att samla frukt och andra ätbara föremål från växter och träd.

Att samla de ätbara föremålen från växter vid rätt tillväxt (fruktens färg spelar en enorm roll) var mycket viktigt för god matsmältning, vilket hjälpte människor från hälsoproblem i sjön.

Dessa skillnader i synförmåga hos män och kvinnor kvarstår även i modern tid.

Okej, varför ovanstående förklaringar för en elektronisk färgsensor? Tja, för att färgsensorerna är tillverkade baserat på mänskligt ögons färgmodell och inte med ögonfärgsmodell från andra djur.

Till exempel är dubbla kameror i smartphones en av kamerorna speciellt gjorda för att känna igen RGB-färger och andra kameror för att ta normala bilder. Att blanda dessa två bilder / information med en noggrann algoritm kommer att återge exakta färger av verkliga objekt på skärmen bara som människor kan uppfatta.

Obs! Inte alla dubbla kameror fungerar på samma sätt som nämnts ovan, vissa används för optisk zoomning, andra används för att producera djupgående fälteffekt etc.

Låt oss nu se hur TCS3200-färggivare tillverkas.

Illustration av TCS3200-sensor:

TCS3200-sensor

Den har 4 inbyggda vita lysdioder för att belysa objektet. Den har 10 stift två Vcc- och GND-stift (använd två av dessa). Funktionen för S0, S1, S2, S3, S4 och 'out' pin kommer snart att förklaras.

Om du tittar närmare på sensorn kan vi se något som illustreras nedan:

Den har 8 x 8 färgsensorer som totalt är 64. Blocket för fotosensorer har röda, blå, gröna sensorer. De olika färgsensorerna bildas genom att olika färgfilter appliceras på sensorn. Av 64 har den 16 blå, 16 gröna, 16 röda sensorer och det finns 16 fotosensorer utan färgfilter.

Det blå färgfiltret tillåter endast blått färgat ljus att träffa sensorn och avvisa resten av våglängderna (färger). Detta är detsamma för andra två färgsensorer.

Om du lyser ett blått ljus på ett rött filter eller grönt filter kommer mindre intensivt ljus att passera genom de gröna eller röda filtren jämfört med blått filter. Så den blåfiltrerade sensorn får mer ljus jämfört med andra två.

Så vi kan placera färgsensorerna med RGB-filter i ett block och skina vilket färgat ljus som helst, och den relevanta färgsensorn kommer att få mer ljus än andra två.

Genom att mäta intensiteten på det ljus som tas emot av en sensor kan avslöja färgen som ljuset skenade.

För att koppla ihop signalen från sensor till mikrokontroller görs med ljusintensitet till frekvensomvandlare.

Kretsblockdiagram

Ut-stiftet är utgången. Utgångsstiftets frekvens är 50% arbetscykel. S2- och S3-stift är valda linjer för fotosensor.

Du förstår bättre genom att titta på tabellen:

S2- och S3-stift är valda linjer för fotosensor.

Genom att applicera låga signaler på stift S2 och S3 väljer den röda färggivaren och mäter intensiteten på den röda våglängden.

Följ också tabellen ovan för resten av färgerna.

I allmänhet mäts röda, blå och gröna sensorer och lämnar sensorerna en utan filter.

S0 och S1 är frekvensskalningsstift:

S0 och S1 är frekvensskalningsstift

S0 och S1 är frekvensskalningsstift för att skala utfrekvensen. Frekvensskalningen används för att välja den optimala utfrekvensen från givaren till mikrokontrollern. Vid Arduino rekommenderas 20%, S0 'HÖG' och S1 'LÅG'.

Utfrekvensen blir hög om ljusintensiteten för den aktuella sensorn är hög. För att underlätta för programkoden mäts inte frekvensen, men pulslängden mäts, högre frekvens minus pulslängden.

Så, den som på den seriella bildskärmens avläsningar visar minst måste vara färgen som är placerad framför sensorn.

Extrahera data från färgsensorn

Låt oss nu praktiskt taget försöka extrahera data från sensorn:

hur man extraherar data från färgsensorn med hjälp av Arduino-kretsen

Programkod:

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

Seriell bildskärm UTGÅNG:

Den läsning som visar lägst är färgen placerad framför sensorn. Du kan också skriva kod för att känna igen vilken färg som helst, till exempel gul. Gul är resultatet av blandning av grönt och rött, så om gul färg placeras framför sensorn måste du ta hänsyn till de röda och gröna sensoravläsningarna, på samma sätt för alla andra färger.

Om du har några frågor angående denna RGB-färgsensor TCS3200 med hjälp av Arduino-artikeln, vänligen uttryck i kommentarsektionen. Du kan få ett snabbt svar.

Ovanstående förklarade färgsensor kan också användas för utlöser en extern gadget men ett relä för att utföra en önskad operation.




Tidigare: Lösenordsstyrd nätströmbrytare PÅ / AV Nästa: Använda TSOP17XX-sensorer med anpassade frekvenser