ESP8266 - Sensor de Cor TCS3200D/TCS230
Este tutorial guia você no uso do ESP8266 com o sensor de cor TCS3200D/TCS230 para detecção de cor precisa e medição RGB.
Em detalhes, vamos aprender:
- Como conectar o sensor TCS3200D/TCS230 ao ESP8266
- Como calibrar o sensor para obter leituras precisas
- Como programar o ESP8266 para ler e exibir valores RGB
Hardware Necessário
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Sobre o Sensor de Cor TCS3200D/TCS230
O sensor de cor TCS3200D/TCS230 utiliza uma grade de 64 fotodiodos dispostos em uma matriz 8×8 para detectar cores por meio de filtragem específica de comprimento de onda. Dentro desse arranjo, 16 fotodiodos incorporam filtros de comprimento de onda vermelho, 16 usam filtros de comprimento de onda verde, 16 empregam filtros de comprimento de onda azul e 16 operam sem filtragem (resposta clara). A medição de cor ocorre selecionando conjuntos de filtros específicos e avaliando a frequência do sinal de saída.
Os módulos TCS3200D comuns possuem arranjos de iluminação LED branca integrados, que fornecem iluminação consistente do alvo, garantindo estabilidade da medição independentemente das flutuações da luz externa e aumentando a sensibilidade em condições de pouca luz.
Pinagem
Configuração dos pinos do módulo sensor TCS3200D/TCS230:
- Pino VCC: Entrada da tensão de alimentação (+5V).
- Pino GND: Referência de terra (0V).
- Pinos S0, S1: Seletores de escala da frequência de saída.
- Pinos S2, S3: Seletores de filtro do canal de cor.
- Pino OUT: Saída de onda quadrada modulada em frequência.
- Pino OE: Entrada de habilitação da saída (habilita quando LOW). Os módulos padrão normalmente ligam isto internamente ao GND. Se não estiver conectado, ligue manualmente ao GND.

Como Funciona
O funcionamento do sensor depende de dois controles principais: qual grupo de filtros de fotodiodos ativar e qual faixa de frequência de saída gerar. Dois pares de pinos de controle gerenciam essas funções:
Controle de escala de frequência (pinos S0 e S1):
- S0=LOW, S1=LOW: Estado desligado
- S0=LOW, S1=HIGH: Fator de escala de 2%
- S0=HIGH, S1=LOW: Fator de escala de 20%
- S0=HIGH, S1=HIGH: Fator de escala de 100% (velocidade máxima)
Seleção do canal de cor (pinos S2 e S3):
- S2=LOW, S3=LOW: Fotodiodos vermelhos ativos
- S2=LOW, S3=HIGH: Fotodiodos azuis ativos
- S2=HIGH, S3=LOW: Fotodiodos claros ativos (sem filtragem)
- S2=HIGH, S3=HIGH: Fotodiodos verdes ativos
O pino OUT entrega frequências de onda quadrada que vão de aproximadamente 2 Hz a 500 kHz. Maior intensidade de luz produz saída de frequência maior. A função pulseIn() do ESP8266 mede a duração do pulso, que se correlaciona de forma inversa — iluminação mais forte produz durações mais curtas. As medições calibradas são traduzidas para o formato RGB convencional de 0-255.
Alcançando a Precisão Ideal
- Mantenha o sensor posicionado a 1-3 cm do alvo de medição, com alinhamento angular estável.
- Utilize a iluminação LED branca integrada para uma iluminação repetível.
- Proteja o sensor da luz ambiente variável para melhorar a consistência da medição.
Diagrama de Ligação
Conecte o sensor de cor TCS3200 ao ESP8266 da seguinte forma:
| Sensor de Cor TCS3200 | ESP8266 |
|---|---|
| VCC | 3V3 |
| GND | GND |
| S0 | D6 (GPIO12) |
| S1 | D7 (GPIO13) |
| S2 | D2 (GPIO4) |
| S3 | D5 (GPIO14) |
| OUT | D1 (GPIO5) |

This image is created using Fritzing. Click to enlarge image
Para mais informações, veja Pinagem do ESP8266 e como alimentar o ESP8266 e outros componentes.
Código ESP8266 - Calibração do Sensor
A calibração elimina a interferência do ambiente nas medições brutas. Variáveis como a intensidade da saída do LED, o espaçamento do alvo, a refletividade do material e a iluminação da sala afetam as leituras. A rotina de calibração identifica as larguras de pulso mínima e máxima em todos os canais de cor, estabelecendo limites de referência para converter os dados brutos em valores RGB precisos de 0–255, ajustados ao seu ambiente de uso.
Passos Rápidos
Para começar com o ESP8266 no Arduino IDE, siga estes passos:
- Confira o tutorial como configurar o ambiente para o ESP8266 no Arduino IDE se esta for sua primeira vez usando o ESP8266.
- Faça a ligação dos componentes como mostrado no diagrama.
- Conecte a placa ESP8266 ao seu computador usando um cabo USB.
- Abra o Arduino IDE no seu computador.
- Escolha a placa ESP8266 correta, como (por exemplo, NodeMCU 1.0 (ESP-12E Module)), e a respectiva porta COM.
- Copie o código de calibração e abra-o no Arduino IDE.
- Clique no botão Upload para compilar e fazer o upload para o ESP8266.
- Abra o Serial Monitor.
- Aponte o sensor para superfícies diferentes: branca (papel), preta e várias cores.
- Observe os valores Min/Max serem atualizados automaticamente.
- Quando os valores se estabilizarem (normalmente 10-20 segundos), anote os seis parâmetros de calibração.
Parâmetros de calibração de exemplo extraídos da saída acima:
- RedMin = 42, redMax = 210
- GreenMin = 55, greenMax = 185
- BlueMin = 60, blueMax = 172
Código ESP8266 - Lendo Valores RGB
Passos Rápidos
- Localize as variáveis de calibração no início do código:
- Substitua os seis valores zero de exemplo pelos dados de calibração medidos. Exemplo usando os valores redMin = 42, redMax = 210, greenMin = 55, greenMax = 185, blueMin = 60, blueMax = 172:
- Faça o upload do código atualizado para o ESP8266.
- Posicione um objeto colorido na frente do sensor.
- Abra o Serial Monitor para ver as medições RGB.
Os valores RGB exibidos seguem a escala padrão de 0-255. Larguras de pulso menores (indicando reflexos mais brilhantes) geram saídas RGB mais altas; larguras de pulso maiores (reflexos mais fracos) resultam em valores mais baixos.
A partir dos valores RGB, você pode:
- Identificar cores específicas comparando as proporções RGB
- Separar objetos pela detecção de cor
- Combinar cores entre amostras diferentes
- Disparar ações com base nas cores detectadas
Aplicações do Projeto
Com a capacidade de medição RGB em funcionamento, você pode desenvolver:
- Sistema de separação cromática: Categorize objetos por cor (diferenciação vermelho/verde/azul)
- Dispositivo de verificação de cor: Confirme a consistência de cor entre amostras
- Seguidor de trajeto colorido: Robôs que navegam seguindo marcadores cromáticos
- Inspeção visual de qualidade: Detecte defeitos de produção por meio da análise de cor
- Automação acionada por cor: Execute ações quando tons específicos forem detectados