Introdução ao sensor de cores RGB TCS3200

Introdução ao sensor de cores RGB TCS3200

TCS3200 é um chip conversor colorido de luz em frequência que pode ser programado por meio de um microcontrolador. O módulo pode ser usado para detectar todas as 7 cores de luz branca com o auxílio de um microcontrolador integrado como o Arduino.



Neste post vamos dar uma olhada no sensor de cores RGB TCS3200, vamos entender como funciona o sensor de cores e estaremos praticamente testando o sensor TCS3200 com o Arduino e extrairemos alguns dados úteis.

Importância do reconhecimento de cores

Vemos o mundo todos os dias, cheio de cores ricas, você já se perguntou o que realmente são as cores além de senti-las visualmente? Bem, as cores são ondas eletromagnéticas com diferentes comprimentos de onda. Vermelho, verde, azul tem diferentes comprimentos de onda, os olhos humanos são ajustados para captar essas cores RGB, que é uma faixa estreita do espectro eletromagnético.





Mas, vemos mais do que vermelho, azul e verde, porque nosso cérebro pode misturar duas ou mais cores e dar uma nova cor.

A capacidade de ver cores diferentes ajudou a antiga civilização humana a escapar dos perigos que ameaçavam a vida, como os animais, e também ajudou a identificar itens comestíveis, como frutas em seu crescimento correto, que serão agradáveis ​​de consumir.



As mulheres são melhores em reconhecer diferentes tons de cor (melhor sensibilidade à cor) do que os homens, mas os homens são melhores em rastrear objetos em movimento rápido e reagem de acordo.

Muitos estudos sugerem que isso se deve ao fato de que, durante o período antigo, os homens caçavam por causa de sua força física superior à das mulheres.

As mulheres são homenageadas com tarefas menos arriscadas, como coletar frutas e outros itens comestíveis de plantas e árvores.

Coletar os itens comestíveis das plantas em seu crescimento correto (a cor da fruta desempenha um papel importante) foi muito importante para uma boa digestão, o que ajudou os humanos a evitar problemas de saúde.

Essas diferenças na capacidade visual de homens e mulheres persistem até nos tempos modernos.

Ok, por que as explicações acima para um sensor de cores eletrônico? Bem, porque os sensores de cor são fabricados com base no modelo de cor do olho humano e não com o modelo de cor dos olhos de qualquer outro animal.

Por exemplo, câmeras duplas em smartphones, uma das câmeras é feita especificamente para reconhecer cores RGB e outra câmera para tirar imagens normais. Combinar essas duas imagens / informações com algum algoritmo cuidadoso irá reproduzir cores precisas de objetos reais na tela, que somente os humanos podem perceber.

Nota: Nem todas as câmeras duplas funcionam da mesma forma mencionada acima, algumas são usadas para zoom óptico, outras são usadas para produzir efeito de campo em profundidade, etc.

Agora vamos ver como os sensores de cores TCS3200 são fabricados.

Ilustração do sensor TCS3200:

Sensor TCS3200

Possui 4 LEDs brancos integrados para iluminar o objeto. Ele tem 10 pinos, dois pinos Vcc e GND (use qualquer um deles). A função de S0, S1, S2, S3, S4 e pino 'de saída' será explicada em breve.

Se dermos uma olhada no sensor, podemos ver algo conforme ilustrado abaixo:

Ele tem 8 x 8 conjuntos de sensores de cores que totalizam 64. O bloco de fotossensores tem sensores vermelho, azul e verde. Os diferentes sensores de cores são formados pela aplicação de diferentes filtros de cores no sensor. De 64, tem 16 sensores azuis, 16 verdes, 16 vermelhos e 16 fotossensores sem qualquer filtro de cor.

O filtro de cor azul permitirá que apenas a luz de cor azul atinja o sensor e rejeite o resto dos comprimentos de onda (cores), o mesmo para os outros dois sensores de cor.

Se você iluminar um filtro vermelho ou verde com uma luz azul, a luz menos intensa passará pelos filtros verde ou vermelho em comparação com o filtro azul. Portanto, o sensor com filtro azul receberá mais luz em comparação com os outros dois.

Assim, podemos colocar os sensores de cor com filtros RGB em um bloco e iluminar qualquer luz colorida, e o sensor de cor relevante receberá mais luz do que os outros dois.

Medindo a intensidade da luz recebida em um sensor pode revelar a cor que a luz brilhou.

A interface do sinal do sensor para o microcontrolador é feita com intensidade de luz para o conversor de frequência.

Diagrama de Bloco de Circuito

O pino “de saída” é a saída. A frequência do pino de saída é 50% do ciclo de trabalho. Os pinos S2 e S3 são linhas selecionadas para fotossensor.

Você entende melhor olhando a tabulação:

Os pinos S2 e S3 são linhas selecionadas para fotossensor.

Ao aplicar sinais baixos aos pinos S2 e S3, o sensor de cor vermelha será selecionado e medido a intensidade do comprimento de onda vermelho.

Da mesma forma, siga a tabulação acima para o resto das cores.

Em geral, os sensores vermelho, azul e verde são medidos deixando os sensores sem filtros.

O S0 e S1 são os pinos de escala de frequência:

S0 e S1 são os pinos de escala de frequência

S0 e S1 são pinos de escala de frequência para dimensionar a frequência de saída. A escala de frequência é usada para selecionar a frequência de saída ideal do sensor para o microcontrolador. No caso do Arduino, 20% é recomendado, S0 'HIGH' e S1 'LOW'.

A frequência de saída aumenta se a intensidade da luz do sensor relevante for alta. Para simplificar o código do programa, a frequência não é medida, mas a duração do pulso é medida, quanto maior a frequência menos a duração do pulso.

Portanto, aquele que nas leituras do monitor serial menos mostra tem que ser a cor que está colocada na frente do sensor.

Extração de dados do sensor de cores

Agora vamos tentar praticamente extrair os dados do sensor:

como extrair dados do sensor de cor usando o circuito Arduino

Código do 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--------------//

SAÍDA do monitor serial:

A leitura que mostra o mais baixo é a cor colocada na frente do sensor. Você também pode escrever código para reconhecer qualquer cor, por exemplo, amarelo. Amarelo é o resultado da mistura de verde e vermelho, portanto, se a cor amarela for colocada na frente do sensor, você deve levar em consideração as leituras do sensor de vermelho e verde, da mesma forma para quaisquer outras cores.

Se você tiver alguma dúvida sobre este sensor de cor RGB TCS3200 usando o artigo Arduino, por favor, expresse na seção de comentários. Você pode receber uma resposta rápida.

O sensor de cores explicado acima também pode ser usado para acionar um gadget externo por meio de um relé para executar uma operação desejada.




Anterior: Chave liga / desliga principal AC controlada por senha Próximo: Usando Sensores TSOP17XX com Freqüências Customizadas