Manual

do

Maker

.

com

Sensor de cores TCS34725

Sensor de cores TCS34725

Sempre dou preferência a dispositivos I2C pela simplicidade de uso. Ainda mais se for com Arduino; ainda mais se for com UNO. E esse sensor de cores TCS32725 é realmente interessante, uma plaquinha com driver da Adafruit, extremamente simples de usar, com sketches prontinhos.

Instalando a biblioteca

Seguindo pelo menu Sketch > Incluir biblioteca > Gerenciar bibliotecas bastará digitar TCS34725 e lá estará a biblioteca da Adafruit. Depois é só reiniciar a IDE do Arduino e seguir para File > Exemplos > Adafruit TCS32725 > Colorview.

Wiring

LED RGB

Devemos utilizar pinos que tenham PWM. O sketch usa por padrão os pinos e resistores descritos na tabela abaixo:

CORPINORESISTOR
Red3560 ohms
Green51K ohms
Blue6560 ohms

TCS32725

Vou deixar a tabela de wiring do I2C para o caso de você escolher outro Arduino para a tarefa.

BoardI2C/TWI
Uno, ethernetA4 (SDA), A5 (SCL)
Mega256020 (SDA), 21 (SCL)
Leonardo2 (SDA), 3 (SCL), SDA, SCL
Due20 (SDA), 21 (SCL), SDA1, SCL1

Pinout

Não tem segredo, está escrito sobre a board VCC, GND, SDA, SCL. Tudo o que precisamos fazer é conectá-los os respectivos pontos, conforme a tabela acima.

Sobre o sketch

Não vou colar o código aqui porque esse primeiro artigo estou utilizando o padrão de exemplo. Mas tem algo que gostaria de citar.

Existem LEDs RGB que possuem anodo comum e LEDs RGB que possuem cathodo comum. Isto é, quando o anodo for comum, significa que cada um dos pinos de cores acendem a respectiva cor quando forem a GND. O PWM ora fará isso, é como uma lógica invertida. Para 1 LED, não tem problema que ele seja cathodo comum, uma vez que cada pino do Arduino suporta até 40mA de drenagem de corrente e o LED consumirá no máximo 25mA. Atente-se a isso, conforme o comportamento do seu LED RGB, mude a variável:

#define commonAnode true

Caso contrário o reconhecimento de cores ocorrerá normalmente, mas a representação no LED não corresponderá.

Com esse sketch você já conseguirá fazer seu teste inicial e é fundamental que o faça para não ter dúvidas do funcionamento do dispositivo em sua implementação. Eu farei em breve uma implementação bacana, vou ver se consigo fazê-la com LEDs RGB endereçáveis, é só aguardar!

A saída do monitor serial nesse print exibe a variação na cor vermelha, que utilizei para esse propósito:

tcs34725.webp

Na coluna da direita os valores são exibidos em hexadecimal, 2 Bytes para cada cor (que representam valores entre 0 e 255). Vou aproveitar alguns parâmetros desse sketch para minha implementação e esse é um deles, pois podemos criar uma representação gráfica da cor que está sendo capturada. Será divertido, acompanhe!

Dica

Acho que nem é necessário citar, mas cometi a estupidez de soldar o slot para cima, como você vê na imagem de destaque. O LED do sensor também está desse lado e o slot está atrapalhando a aproximação, então, quando for soldar, coloque o slot do lado debaixo da placa.

Onde comprar?

Minha recomendação é que pegue essa placa da Adafruit no Baú da eletrônica (clique). É um hardware de excelente qualidade, vale cada centavo! E já deixe-a pronta para brincarmos juntos no próximo artigo relacionado!

Espero que tenha sido uma leitura agradável.

Inscreva-se no nosso canal Manual do Maker no YouTube.

Também estamos no Instagram.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.