Neste projeto, faremos a interface do sensor de cores TCS3200 com o Arduino UNO. TCS3200 é um sensor de cores que pode detectar qualquer número de cores com a programação correta. TCS3200 contém matrizes RGB (Red Green Blue). Conforme mostrado na figura em nível microscópico, é possível ver as caixas quadradas dentro do olho no sensor. Essas caixas quadradas são matrizes de matriz RGB. Cada uma dessas caixas contém três sensores, um para detectar a intensidade da luz VERMELHA, um para detectar a intensidade da luz VERDE e o último para detectar a intensidade da luz AZUL.
Cada uma das matrizes de sensores nessas três matrizes é selecionada separadamente, dependendo do requisito. Por isso é conhecido como sensor programável. O módulo pode ser caracterizado para detectar uma cor específica e deixar as outras. Ele contém filtros para essa finalidade de seleção. Há um quarto modo que não é um modo de filtro. Sem modo de filtro, o sensor detecta luz branca.
Componentes necessários
Hardware: ARDUINO UNO, fonte de alimentação (5v), LED, JHD_162ALCD (16 * 2LCD), sensor de cores TCS3200.
Software: ARDUINO IDE (ARDUINO noturno).
Diagrama de circuito e explicação de trabalho
No LCD 16x2, existem 16 pinos ao todo, se houver uma luz de fundo, se não houver luz de fundo, haverá 14 pinos. Pode-se ligar ou deixar os pinos da luz de fundo. Agora, nos 14 pinos, há 8 pinos de dados (7-14 ou D0-D7), 2 pinos de fonte de alimentação (1 e 2 ou VSS e VDD ou GND e + 5v), 3º pino para controle de contraste (VEE-controla a espessura dos caracteres mostrado), e 3 pinos de controle (RS & RW & E)
No circuito, você pode observar que tirei apenas dois pinos de controle. O bit de contraste e READ / WRITE não são usados com frequência, portanto, podem entrar em curto com o aterramento. Isso coloca o LCD em maior contraste e modo de leitura. Precisamos apenas controlar os pinos ENABLE e RS para enviar caracteres e dados de acordo.
As conexões que são feitas para LCD são fornecidas abaixo:
PIN1 ou VSS para aterrar
PIN2 ou VDD ou VCC para alimentação de + 5v
PIN3 ou VEE para aterrar (oferece contraste máximo, melhor para um iniciante)
PIN4 ou RS (Registrar Seleção) para PIN8 de ARDUINO UNO
PIN5 ou RW (leitura / gravação) para aterrar (coloca o LCD no modo de leitura facilita a comunicação para o usuário)
PIN6 ou E (habilitar) para PIN9 de ARDUINO UNO
PIN11 ou D4 a PIN7 de ARDUINO UNO
PIN12 ou D5 a PIN11 de ARDUINO UNO
PIN13 ou D6 a PIN12 de ARDUINO UNO
PIN14 ou D7 a PIN13 de ARDUINO UNO
As conexões que são feitas para o sensor de cores são fornecidas abaixo:
VDD para + 5V
GND para GROUND
OE (habilitação de saída) para GND
S0 para UNO pino 2
S1 para UNO pino 3
S2 para UNO pino 4
S3 para UNO pino 5
OUT para UNO pino 10
A cor que precisa ser detectada pelo sensor de cores é selecionada por dois pinos S2 e S3. Com esses dois pinos de controle lógico, podemos dizer ao sensor qual cor a intensidade da luz deve ser medida.
Digamos que precisamos sentir a intensidade da cor VERMELHA de que precisamos para definir os dois pinos como BAIXO. Feito isso, o sensor detecta a intensidade e envia o valor para o sistema de controle dentro do módulo.
S2 |
S3 |
Tipo de fotodiodo |
eu |
eu |
Vermelho |
eu |
H |
Azul |
H |
eu |
Limpar (sem filtro) |
H |
H |
Verde |
O sistema de controle dentro do módulo é mostrado na figura. A intensidade da luz medida pela matriz é enviada à corrente para o conversor de frequência. O que ele faz é, ele emite uma onda quadrada cuja frequência é em relação à corrente enviada por ARRAY.
Portanto, temos um sistema que envia uma onda quadrada cuja frequência depende da intensidade da luz da cor que é selecionada por S2 e S3.
A frequência do sinal enviada pelo módulo pode ser modulada dependendo do uso. Podemos alterar a largura de banda da frequência do sinal de saída.
S0 |
S1 |
Escala de frequência de saída (f 0) |
eu |
eu |
Desligar |
eu |
H |
2% |
H |
eu |
20% |
H |
H |
100% |
A escala de frequência é feita por dois bits S0 e S1. Por conveniência, vamos limitar a escala de frequência a 20%. Isso é feito configurando S0 para alto e S1 para BAIXO. Este recurso é útil quando estamos usando o módulo em um sistema com clock baixo.
A sensibilidade da matriz à cor é mostrada na figura abaixo.
Embora cores diferentes tenham sensibilidade diferente, para um uso normal não fará muita diferença.
O UNO aqui envia sinal ao módulo para detectar cores e os dados recebidos pelo módulo são mostrados no LCD 16 * 2 conectado a ele.
O UNO detecta três intensidades de cor separadamente e as mostra no LCD.
O Uno pode detectar a duração do pulso do sinal pelo qual podemos obter a frequência da onda quadrada enviada pelo módulo. Com a frequência disponível, podemos combiná-la com a cor do sensor.
|
Como por condição acima da ONU lê duração do impulso em 10 th pino de ONU e armazena-o em valor inteiro “frequência”.
Faremos isso para todas as três cores para reconhecimento de cores. Todas as três intensidades de cor são mostradas por frequências no LCD 16x2.