Introducció al sensor de color RGB TCS3200

Proveu El Nostre Instrument Per Eliminar Problemes





TCS3200 és un xip convertidor de llum a freqüència en color que es pot programar mitjançant un microcontrolador. El mòdul es pot utilitzar per detectar els 7 colors de llum blanca amb l'ajut d'un microcontrolador integrat com Arduino.

En aquest post anem a fer una ullada al sensor de color RGB TCS3200, comprendreem com funciona el sensor de color i pràcticament provarem el sensor TCS3200 amb Arduino i extraurem algunes dades útils.



Importància del reconeixement de colors

Veiem el món cada dia, ple de colors rics, mai us heu preguntat què són els colors a part de sentir-lo visualment. Bé, els colors són ones electromagnètiques amb diferents longituds d'ona. El vermell, el verd, el blau tenen diferents longituds d’ona, els ulls humans estan afinats per recollir aquests colors RGB, que és una banda estreta de l’espectre electromagnètic.

Però, veiem més que el vermell, el blau i el verd, perquè el nostre cervell pot barrejar dos o més colors i donar un color nou.



La capacitat de veure diferents colors va ajudar a l’antiga civilització humana a escapar dels perills que posaven en perill la vida, com els animals, i també va ajudar a identificar objectes comestibles com les fruites en el seu creixement adequat, que seran agradables de consumir.

Les dones són millors en reconèixer diferents tonalitats de color (millor sensibilitat al color) que els homes, però els homes són millors en el seguiment d’objectes que es mouen ràpidament i reaccionen en conseqüència.

Molts estudis suggereixen que això es deu a que durant l'època antiga els homes van a caçar per la seva força física superior a la de les dones.

Les dones són honrades amb tasques menys arriscades, com ara recollir fruits i altres articles comestibles de plantes i arbres.

Recollir els elements comestibles de les plantes en el seu bon creixement (el color de la fruita té un paper enorme) va ser molt important per a una bona digestió, cosa que va ajudar els humans a tenir problemes de salut.

Aquestes diferències en la capacitat visual en homes i dones persisteixen fins i tot en els temps moderns.

D’acord, per què les explicacions anteriors per a un sensor de color electrònic? Bé, perquè els sensors de color es fabriquen en funció del model de color dels ulls humans i no amb el model de color dels ulls de cap altre animal.

Per exemple, les càmeres dobles dels telèfons intel·ligents, una de les càmeres està dissenyada específicament per reconèixer els colors RGB i una altra càmera per fer imatges normals. La barreja d’aquestes dues imatges / informació amb un algorisme acurat reproduirà els colors precisos de l’objecte real a la pantalla només que els humans poden percebre.

Nota: No totes les càmeres dobles funcionen de la mateixa manera que es va esmentar anteriorment, algunes s’utilitzen per al zoom òptic, algunes s’utilitzen per produir efectes de camp en profunditat, etc.

Ara vegem com es fabriquen els sensors de color TCS3200.

Il·lustració del sensor TCS3200:

Sensor TCS3200

Té 4 LEDs blancs integrats per il·luminar l'objecte. Té 10 pins dos pins Vcc i GND (utilitzeu-ne dos). La funció del pin S0, S1, S2, S3, S4 i el pin ‘out’ s’explicarà en breu.

Si mireu de prop el sensor, podem veure alguna cosa com es mostra a continuació:

Té un sensor de color de 8 x 8 que suposa un total de 64. El bloc de fotosensors té sensors vermells, blaus i verds. Els diferents sensors de color es formen aplicant diferents filtres de color al sensor. D’entre 64, té 16 sensors blaus, 16 verds, 16 vermells i hi ha 16 sensors fotogràfics sense cap filtre de color.

El filtre de color blau només permetrà que la llum de color blau toqui el sensor i rebutgi la resta de longituds d'ona (colors), això és el mateix per a altres dos sensors de color.

Si brilleu una llum blava sobre un filtre vermell o un filtre verd, passarà una llum menys intensa pels filtres verds o vermells en comparació amb el filtre blau. Així, el sensor filtrat blau rebrà més llum en comparació amb els altres dos.

Per tant, podem col·locar els sensors de color amb filtres RGB en un bloc i brillar qualsevol llum de color, i el sensor de color corresponent rebrà més llum que els altres dos.

Mesurant la intensitat de la llum rebuda en un sensor es pot revelar el color que la llum va brillar.

Per connectar el senyal del sensor al microcontrolador es realitza amb intensitat de llum al convertidor de freqüència.

Diagrama de blocs de circuits

El pin 'out' és la sortida. La freqüència del pin de sortida és del 50% del cicle de treball. Els pins S2 i S3 són línies selectes per al sensor fotogràfic.

Per entendre millor, consulteu la tabulació:

Els pins S2 i S3 són línies selectes per al sensor de fotos.

En aplicar senyals baixos als pins S2 i S3, es seleccionarà el sensor de color vermell i es mesurarà la intensitat de la longitud d’ona vermella.

De la mateixa manera, seguiu la tabulació anterior per a la resta de colors.

En general, es mesuren els sensors vermell, blau i verd deixant els sensors sense filtres.

S0 i S1 són els pins d'escala de freqüència:

S0 i S1 són els pins d’escala de freqüència

S0 i S1 són pins d’escala de freqüència per escalar la freqüència de sortida. L’escala de freqüència s’utilitza per seleccionar la freqüència de sortida òptima del sensor al microcontrolador. En cas d’Arduino es recomana un 20%, S0 ‘HIGH’ i S1 ‘LOW’.

La freqüència de sortida augmenta si la intensitat lumínica del sensor corresponent és alta. Per simplificar el codi del programa, la freqüència no es mesura, però es mesura la durada del pols, major és la freqüència menys la durada del pols.

Per tant, el que mostri menys a les lectures del monitor sèrie ha de ser el color que es col·loca davant del sensor.

Extracció de dades del sensor de color

Ara, pràcticament, intentem extreure dades del sensor:

com extreure dades del sensor de color mitjançant el circuit Arduino

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

SORTIDA del monitor sèrie:

El que mostra la lectura més baixa és el color situat davant del sensor. També podeu escriure codi per reconèixer qualsevol color, com ara el groc. El groc és el resultat de la barreja de verd i vermell, de manera que si es col·loca el color groc davant del sensor, haureu de tenir en compte les lectures del sensor vermell i verd, de manera similar per a qualsevol altre color.

Si teniu cap pregunta sobre aquest sensor de color RGB TCS3200 mitjançant l’article Arduino, expresseu-ho a la secció de comentaris. És possible que rebeu una resposta ràpida.

També es pot utilitzar el sensor de color explicat anteriorment activant un gadget extern mitjançant un relé per executar l'operació desitjada.




Anterior: commutador ON / OFF de xarxa de CA controlat per contrasenya Següent: Ús de sensors TSOP17XX amb freqüències personalitzades