Usar o TCS34725 com Arduino é uma das formas mais simples e eficientes de começar a trabalhar com detecção de cores em projetos eletrônicos. Esse sensor combina boa precisão, facilidade de uso e comunicação via I2C, permitindo que o Arduino interprete diferentes tonalidades com rapidez e estabilidade. Por isso, ele aparece com frequência em projetos de robótica, automação, identificação de objetos e até dispositivos interativos que reagem às cores do ambiente.
Neste tutorial, vamos utilizar o sensor TCS34725 junto com a Placa Uno R3 SMD – Edição Especial de 15 anos da MakerHero para montar um projeto completo: faremos a leitura da cor de um objeto e a reproduziremos em um LED RGB, ao mesmo tempo em que exibimos os valores capturados no Monitor Serial. É um experimento simples, visual e muito útil para quem quer entender na prática como sensores ópticos funcionam.
Ao final, você terá um sistema totalmente funcional que “enxerga” cores e as traduz tanto em luz quanto em dados numéricos. Um ótimo ponto de partida para projetos maiores e mais sofisticados.
O que é o sensor de cor TCS34725?
O TCS34725 é um sensor de cor digital desenvolvido para identificar a intensidade dos componentes vermelho (R), verde (G) e azul (B) presentes na luz refletida por um objeto. Além dos três canais RGB, ele também possui um canal clear (C), responsável por medir a luminosidade total do ambiente. Essa combinação permite leituras muito mais precisas do que sensores RGB mais simples, especialmente quando o objetivo é distinguir tons parecidos ou trabalhar em ambientes com variação de luz.
Um dos grandes diferenciais do TCS34725 é que ele já vem acompanhado de um LED branco integrado, pensado exatamente para iluminar o objeto durante a medição. Isso reduz interferências externas e melhora a consistência das leituras, principalmente quando o sensor é usado próximo ao objeto.

A comunicação com o microcontrolador é feita por I2C, o que simplifica bastante o uso no Arduino: bastam dois pinos (SDA e SCL) para enviar e receber dados. Por conta dessa praticidade, o módulo é muito utilizado em projetos como:
- Robôs que identificam cores de superfícies;
- Selecionadores automáticos de objetos por cor;
- Sistemas de calibração e medição de tonalidade;
- Instalações artísticas e interativas que reagem às cores do ambiente.
No geral, o TCS34725 é uma excelente escolha para quem quer trabalhar com reconhecimento de cor de forma confiável, com boa estabilidade e sem complicação na hora de integrar ao Arduino.
Como o TCS34725 funciona?
O funcionamento do TCS34725 é baseado em um conjunto de fotodiodos sensíveis à luz, divididos em quatro canais independentes: vermelho (R), verde (G), azul (B) e clear (C). Cada canal mede a intensidade da luz refletida pelo objeto dentro de uma faixa específica do espectro. O microcontrolador — no nosso caso, o Arduino — recebe esses valores digitais e pode interpretá-los como uma cor.
Segundo o datasheet do TCS34725, o sensor utiliza um conversor analógico-digital de 16 bits, o que garante boa resolução nas medições. Além disso, ele trabalha via interface I2C, usando o endereço padrão 0x29, o que torna a comunicação simples e confiável mesmo em projetos maiores que utilizam múltiplos dispositivos I2C.

Outro ponto importante é o iluminador integrado (LED branco). Ele foi projetado para fornecer luz consistente e neutra, reduzindo a influência da iluminação ambiente — algo essencial para obter leituras estáveis. Isso permite que o sensor opere de forma mais previsível, mesmo quando a luz do local varia.
Em resumo, o TCS34725 funciona assim:
- O LED ilumina o objeto.
- A luz refletida atinge os fotodiodos RGB e clear.
- O sensor converte essa informação em valores digitais.
- O Arduino lê esses valores via I2C e interpreta a cor correspondente.
Essas características fazem do TCS34725 um sensor versátil, preciso e fácil de usar em aplicações que exigem reconhecimento confiável de cores.
Materiais necessários: Sensor de cor TCS34725 com Arduino
Para montar o projeto em que o TCS34725 identifica a cor de um objeto e a reproduz em um LED RGB, você vai precisar de poucos componentes:

- Sensor de cor TCS34725
- Placa Uno R3 SMD MakerHero
- LED RGB
- Resistores de 330Ω (3 unidades)
- Protoboard
- Jumpers
- Case para o sensor de TCS34725
Como o TCS34725 se comunica? (I2C)
O TCS34725 utiliza o protocolo I2C para enviar os valores de cor ao Arduino. Esse protocolo é bastante comum em sensores e dispositivos digitais, pois permite a comunicação usando apenas dois pinos:
- SDA – linha de dados
- SCL – linha de clock
No Arduino Uno, esses pinos correspondem aos A4 (SDA) e A5 (SCL). Graças a essa simplicidade, o sensor pode ser conectado sem complicação e ainda dividir o mesmo barramento com outros dispositivos I2C, caso necessário.
O TCS34725 possui o endereço I2C padrão 0x29, e a biblioteca da Adafruit — que usaremos no código — já gerencia toda a comunicação interna, como leitura dos canais RGB, tempo de integração e ganho. Isso permite que você trabalhe diretamente com valores prontos para uso, sem precisar lidar com registradores do sensor.
Em resumo, o I2C torna o TCS34725 extremamente fácil de integrar ao Arduino, mesmo para quem está montando seu primeiro projeto com sensores digitais.
Circuito: Sensor de cor TCS34725 com Arduino Uno
A montagem deste projeto é bem direta. Vamos dividir as conexões em duas partes: primeiro o sensor TCS34725, depois o LED RGB de cátodo comum. O esquemático do circuito completo está representado abaixo:

Código: Sensor de cor TCS34725 com Arduino Uno
Antes de começar, instale a biblioteca Adafruit TCS34725:
Arduino IDE → Ferramentas → Gerenciar Bibliotecas → “Adafruit TCS34725”
Depois, copie o código abaixo para a IDE:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
// Projeto: Sensor de Cor TCS34725 com Arduino // Autor: MakerHero #include <Wire.h> #include "Adafruit_TCS34725.h" // ----------------------------------------------------------------------------- // Configuração dos pinos PWM conectados ao LED RGB de ânodo comum. // Em LEDs de ânodo comum, o valor 0 significa brilho máximo e 255 desligado. // ----------------------------------------------------------------------------- #define LED_R 9 #define LED_G 10 #define LED_B 11 // Criação do objeto para o sensor TCS34725 com: // - Tempo de integração de 300ms (melhor sensibilidade) // - Ganho de 1x (evita saturação em ambientes muito iluminados) Adafruit_TCS34725 tcs = Adafruit_TCS34725( TCS34725_INTEGRATIONTIME_300MS, TCS34725_GAIN_1X ); void setup() { Serial.begin(9600); // Define os pinos como saída para controlar as cores do LED RGB pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); // Inicializa o sensor TCS34725 if (!tcs.begin()) { Serial.println("Não foi possível encontrar o TCS34725. Verifique as conexões!"); while (1); // Travamento caso o sensor não seja encontrado } Serial.println("Sensor TCS34725 inicializado.\n"); } void loop() { uint16_t r, g, b, c; // Lê os valores brutos do sensor (canal vermelho, verde, azul e claro) tcs.getRawData(&r, &g, &b, &c); // Exibe os valores lidos no Serial Monitor Serial.print("R: "); Serial.print(r); Serial.print(" | G: "); Serial.print(g); Serial.print(" | B: "); Serial.print(b); Serial.print(" | Clear: "); Serial.println(c); // --------------------------------------------------------------------------- // Normalização: // Os valores lidos variam dependendo da iluminação. Para usá-los no LED, // normalizamos para a faixa de 0 a 255. // --------------------------------------------------------------------------- float maxVal = max(r, max(g, b)); if (maxVal < 1) maxVal = 1; // Evita divisão por zero int R = (r / maxVal) * 255; int G = (g / maxVal) * 255; int B = (b / maxVal) * 255; // --------------------------------------------------------------------------- // Inversão dos valores: // Como o LED é de ânodo comum, um valor menor resulta em mais brilho. // Por isso, invertemos as intensidades. // --------------------------------------------------------------------------- R = 255 - R; G = 255 - G; B = 255 - B; // Atualiza o LED RGB com as cores normalizadas analogWrite(LED_R, R); analogWrite(LED_G, G); analogWrite(LED_B, B); delay(200); // Pequeno atraso para estabilidade da leitura } |
Teste do sensor e interpretação das cores
Com tudo montado e o código carregado no Arduino, o teste do sistema é simples:
- Abra o Monitor Serial na Arduino IDE: Os valores de R, G, B e Clear começarão a aparecer a cada leitura do sensor.
- Aproxime um objeto colorido do TCS34725: Uma distância de 1 a 2 cm costuma funcionar muito bem.
- Observe a mudança no LED RGB: Ele deve reproduzir a cor do objeto de forma aproximada, usando os valores capturados pelo sensor.
- Compare com os dados exibidos no Serial: Assim, você confirma se o sensor está respondendo corretamente e se o LED está acompanhando as leituras.

Com isso, o funcionamento do projeto já pode ser visualizado de forma imediata: você mostra uma cor ao sensor, e o LED tenta reproduzir essa mesma tonalidade.
Conclusão
Neste tutorial, você aprendeu como utilizar o TCS34725 com Arduino para identificar a cor de um objeto e reproduzi-la em um LED RGB, criando uma interação simples, visual e eficiente. Esse tipo de projeto é uma ótima porta de entrada para quem deseja explorar sensores ópticos, entender melhor o funcionamento do protocolo I2C e começar a trabalhar com controle de cores no Arduino.
O TCS34725 se destaca pela precisão, pelo LED branco integrado e pela facilidade de uso — e quando combinado com a Arduino Uno R3 SMD – Edição Especial 15 anos MakerHero, oferece um conjunto perfeito para experimentação e aprendizado. A partir do que você construiu aqui, é possível evoluir para sistemas mais avançados, como robôs que diferenciam superfícies, leitores de etiquetas coloridas, dispositivos interativos ou qualquer aplicação que dependa de análise de cor.
Agora que você tem a base pronta, vale explorar novos desafios e adaptar o código para as suas ideias. Para ficar por dentro de todas as novidades aqui da MakerHero, nos siga Instagram!