Arduino

tecnoloxia.org

Sensor de cor TCS34725 RGB

Descrición

É  un sensor de cor dixital capaz de medir os valores RGB da cor dun obxecto ou luz incidente, polo que será moito máis preciso ca o sensor TC3200.

Proporciona valores RGB e Clear (medición sen filtrar)

Funcionamento

O TCS34725 incorpora unha matriz de fotodíodos filtrados para vermello (R), verde (G) , azul (B) e sen filtro (clear), proporcionando unha medición de cor relativamente precisa, aínda que non perfecta.

[TCS34725 no microscopio. luisllamas.es]

O código de cores RGB, vermello-verde-azul, baséase na mestura destas tres cores para acadar toda a gama completa.

Se a cor RGB vai representada en código decimal, cada unha das tres cores vermella, verde e azul toma un valor entre 0 e 255 (256 valores en total), co que se consegue un total de 256 x 256 x 256 = 16.777.216 cores distintas.

Cando o valor RGB  represéntase en código hexadecimal o rango das cores RGB vai de 00 a FF para cada unha delas. O código da cor resultante da mestura exprésase así: #RRGGBB.

Cor RGB dec RGB hex
vermello 255,0,0 FF0000
verde 0,255,0 00FF00
azul 0,0,255 0000FF
maxenta 255,0,255 FF00FF
amarelo 255,255,0 FFFF00
ciano 0,255,255 00FFFF
branco 255,255,255 FFFFFF
negro 0,0,0 000000

Montaxe

A comunicación co sensor realízase por I2C, polo que chega con conectar os pins SDA (A4) e SCL (A5) e os pins de alimentación Vin (5V) e GND.

O pin LED controla o acendido do LED de luz neutra integrado no módulo. Pódese:

  • Deixalo sen conectar para mantelo sempre acendido.
  • Conectalo a GND para telo sempre apagado.
  • Conectar a un pin dixital e controlar o seu acendido e apagado con digitalWrite(pinLED, HIGH); e digitalWrite(pinLED, LOW);

Nós ímolo deixar desconectado.

Programa

Necesitamos a librería Adafruit_TCS34725 e a librería Wire para a comunicación I2C. Para a segunda práctica necesitamos a librería ColorConverterLib.

Podes descargalas directamente aquí: Adafruit_TCS34725.zip | Arduino-ColorConverter-master.zip

1. Ver RGB

Imos ver os valores dun sensor e mostralos na consola serie. Conectamos un pulsador para que a lectura se realice cando prememos nel.

2. Detectar Cor

No seguinte programa imos ver na consola que cor está a detectar o sensor.

Propostas

  • Mostra agora na consola se a peza é vermella, amarela ou verde. Segundo sexa a cor fai que se acenda un LED da cor correspondente.
  • Proba o sensor con pezas de varias cores (vermello, azul, verde, …) e mostra na consola o valor RGB. Fai que un LED RGB imite a cor desas pezas.