Arduino

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:

COR PINO RESISTOR
Red 3 560 ohms
Green 5 1K ohms
Blue 6 560 ohms

TCS32725

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

Board I2C/TWI
Uno, ethernet A4 (SDA), A5 (SCL)
Mega2560 20 (SDA), 21 (SCL)
Leonardo 2 (SDA), 3 (SCL), SDA, SCL
Due 20 (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:

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:

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.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Nossos grupos:

Arduino BR – https://www.facebook.com/groups/microcontroladorarduinobr/
Raspberry Pi BR – https://www.facebook.com/groups/raspberrybr/
Orange Pi BR – https://www.facebook.com/groups/OrangePiBR/
Odroid BR – https://www.facebook.com/groups/odroidBR/
Sistemas Embarcados BR – https://www.facebook.com/groups/SistemasEmbarcadosBR/
MIPS BR – https://www.facebook.com/groups/MIPSBR/
Do Bit ao Byte – https://www.facebook.com/groups/dobitaobyte/

Próximo post a caminho!