Arduino UNO R4 - Sensor de Cor TCS3200D/TCS230
Este guia vai mostrar como usar o Arduino UNO R4 e o módulo sensor de reconhecimento de cor TCS3200D/TCS230 para calibrar e ler valores RGB de objetos e detectar cores.
- Como conectar o sensor de cor TCS3200D/TCS230 ao Arduino UNO R4
- Como calibrar o sensor para o seu ambiente
- Como escrever um código para o Arduino UNO R4 ler os valores RGB do sensor

Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables STEM V4 IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables STEM V4B IoT Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Cor TCS3200D/TCS230
O TCS3200D/TCS230 é um módulo sensor de reconhecimento de cor que usa uma matriz 8x8 de fotodiodos. Dezesseis fotodiodos têm filtros vermelhos, 16 têm filtros verdes, 16 têm filtros azuis e 16 são transparentes (sem filtro). O módulo converte a intensidade da luz em um sinal de frequência de onda quadrada. Ao alternar os filtros de cor e medir a frequência de saída (ou a largura de pulso), podemos estimar os valores RGB de um objeto.
Muitos módulos incluem LEDs brancos para iluminar o alvo. Isso deixa as leituras mais consistentes e ajuda o sensor a detectar cores de forma confiável, mesmo com pouca luz.
Pinagem
O módulo do sensor de cor TCS3200D/TCS230 normalmente tem estes pinos:
- Pino VCC: Conecte este pino ao VCC (5V).
- Pino GND: Conecte este pino ao GND (0V).
- Pinos S0, S1: Seleção da escala da frequência de saída.
- Pinos S2, S3: Seleção do filtro de cor.
- Pino OUT: Saída de frequência de onda quadrada.
- Pino OE: Habilitação da saída (ativo em LOW). A maioria dos módulos já conecta este pino ao GND internamente, então você não precisa ligá-lo. Se o seu não faz isso, conecte-o ao GND.

Como Funciona
É preciso dizer duas coisas ao sensor: qual canal de cor medir e qual intensidade dar ao sinal de saída. Dois pares de pinos de controle cuidam disso:
- S0 e S1 controlam a escala da frequência de saída:
- S0 = LOW, S1 = LOW: Desligado
- S0 = LOW, S1 = HIGH: escala de 2%
- S0 = HIGH, S1 = LOW: escala de 20%
- S0 = HIGH, S1 = HIGH: escala de 100%
- S2 e S3 selecionam o filtro de cor:
- S2 = LOW, S3 = LOW: Filtro vermelho
- S2 = LOW, S3 = HIGH: Filtro azul
- S2 = HIGH, S3 = LOW: Transparente (sem filtro)
- S2 = HIGH, S3 = HIGH: Filtro verde
O pino OUT emite uma onda quadrada (normalmente de 2 Hz a 500 kHz). A frequência é proporcional à intensidade da cor selecionada, enquanto a largura de pulso é inversamente proporcional. Podemos medir a largura de pulso usando pulseIn() e depois convertê-la em valores RGB após a calibração.
Dicas para Leituras Estáveis
- Coloque o sensor a 1-3 cm do objeto e mantenha o ângulo constante.
- Use os LEDs brancos embutidos para fornecer uma iluminação estável.
- Proteja o sensor das mudanças de luz ambiente para obter resultados mais precisos.
Diagrama de Ligação
Esta imagem mostra como conectar o sensor de cor TCS3200 ao Arduino UNO R4:
| Sensor de Cor TCS3200 | Arduino UNO R4 |
|---|---|
| VCC | 5V |
| GND | GND |
| S0 | Pino 4 |
| S1 | Pino 3 |
| S2 | Pino 6 |
| S3 | Pino 5 |
| OUT | Pino 7 |

This image is created using Fritzing. Click to enlarge image
Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.
Código Arduino UNO R4 - Calibração (Largura de Pulso)
A calibração é necessária porque as leituras brutas do sensor são afetadas pelo ambiente. Fatores como o brilho do LED, a distância, a refletividade da superfície e a luz ambiente mudam os valores medidos. Você pode pensar nesses efeitos como “ruído”. O primeiro passo da calibração ajuda você a medir a faixa desse ruído (mínimo e máximo de cada cor) para que você possa subtrair a influência dele e mapear as leituras para valores RGB corretos de 0–255 para a sua montagem.
Passos Rápidos
Siga estas instruções passo a passo:
- Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
- Conecte a placa Arduino Uno R4 ao sensor de cor conforme o diagrama fornecido.
- Conecte a placa Arduino Uno R4 ao seu computador usando um cabo USB.
- Abra a Arduino IDE no seu computador.
- Selecione a placa Arduino Uno R4 apropriada (por exemplo, Arduino Uno R4 WiFi) e a porta COM.
- Copie o código acima e abra-o na Arduino IDE.
- Clique no botão Upload na Arduino IDE para fazer o upload do código para o Arduino UNO R4.
- Abra o Serial Monitor. Você verá leituras contínuas junto com os valores Min e Max.
- Passe o sensor sobre objetos diferentes: um objeto branco (como papel), um objeto preto e, se quiser, alguns objetos coloridos.
- Veja as linhas Min e Max serem atualizadas automaticamente enquanto o sensor acompanha os extremos.
- Quando os valores Min e Max pararem de mudar (normalmente depois de 10-20 segundos), esses são os seus valores de calibração - anote-os.
Por exemplo, a partir da saída acima, os seus valores de calibração seriam:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Código Arduino UNO R4 - Ler os valores RGB
Passos Rápidos
- No código acima, encontre estas linhas perto do início:
- Substitua TODOS os seis valores 0 pelos seus números de calibração do passo anterior. Por exemplo, se a sua calibração deu redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172, mude as linhas para:
- Faça o upload do código para o Arduino UNO R4.
- Coloque um objeto colorido na frente do sensor.
- Confira o resultado no Serial Monitor.
Os valores RGB agora estão mapeados para a faixa padrão de 0-255. Larguras de pulso menores (mais luz) produzem valores RGB maiores, e larguras de pulso maiores (menos luz) produzem valores RGB menores.
Aplicações
Agora que você consegue ler valores RGB, você pode criar projetos como:
- Separador de cores: Separe objetos por cor (vermelho, verde, azul)
- Jogo de combinação de cores: Verifique se dois objetos têm a mesma cor
- Robô seguidor de linha: Siga linhas coloridas no chão
- Controle de qualidade: Detecte produtos defeituosos pela cor
- Alarme ativado por cor: Acione um buzzer ou um LED quando uma cor específica for detectada