Tot el que cal saber sobre el sensor de color TCS34725

  • El sensor TCS34725 ofereix precisió en la detecció de colors gràcies al filtre IR i ADC de 16 bits.
  • És compatible amb plataformes com Arduino i Raspberry Pi mitjançant comunicació I2C.
  • El LED integrat permet la il·luminació neutra de l'objecte a mesurar, millorant la precisió.

TCS34725

El món dels sensors de color ha anat evolucionant i creixent en popularitat, especialment en projectes DIY i amb plataformes com Arduino. Un dels sensors més avançats i assequibles és el TCS34725, que destaca per la facilitat d'ús i precisió. Si esteu treballant en un projecte que requereix una detecció precisa de color, aquest sensor és una opció molt recomanable.

En aquest article, explorarem en profunditat les característiques i aplicacions del TCS34725, a més de proporcionar-te alguns exemples de codi que et permetran integrar-lo ràpidament als teus projectes basats en Arduino o altres microcontroladors.

Què és el sensor de color TCS34725?

El TCS34725 és un sensor òptic digital que mesura colors RGB i Clear, és a dir, la intensitat de llum vermella, verda, blava i clara. A diferència d'altres sensors més bàsics, aquest ofereix una major precisió i facilitat d'ús a causa de la sortida digital i la capacitat de comunicar-se mitjançant I2C.

Aquest sensor també integra un filtre d'infrarojos (IR), cosa que millora la qualitat del mesurament sota condicions de llum ambiental, eliminant part del soroll que podria distorsionar els resultats. Gràcies a la seva ADC (convertidor analògic-digital) de 16 bits, el mesurament resulta molt precís.

A més de ser compatible amb Arduino, el TCS34725 es pot utilitzar juntament amb plataformes com Raspberry Pi o qualsevol altre dispositiu que permeti comunicació I2C. Això ho converteix en un component versàtil per a diferents aplicacions en projectes d'electrònica i robòtica.

Característiques principals del sensor TCS34725

Pin-out tcs34725

El TCS34725 compta amb diverses característiques que el fan destacar davant d'altres sensors de color:

  • Filtre IR integrat: En bloquejar la radiació ultraviolada i de l'espectre infraroig, el sensor aconsegueix una precisió superior en el mesurament de color.
  • Rang dinàmic de 3.800.000:1: Això li atorga una gran flexibilitat a lhora de treballar en condicions de poca llum.
  • Tensió de funcionament entre 3.3V i 5V: Aquest rang us permet funcionar tant amb lògica de 3.3V com de 5V, per la qual cosa és ideal tant per a projectes amb Arduino com amb altres microcontroladors.
  • Comunicació I2C senzilla: De gran simplicitat per integrar-lo en plaques de desenvolupament populars com Arduino i Raspberry.
  • LED de llum blanca neutra incorporat: El sensor inclou un LED que proporciona una il·luminació neutra (4150ºK), cosa que facilita el mesurament precís del color d'objectes que no tenen il·luminació externa.

Esquema de connexió i muntatge

Arduino i TCS34725

El TCS34725 es pot adquirir en mòduls que ja estan preparats per al seu ús en protoboards o sistemes de proves. L'alimentació del sensor pot ser de 3.3V o 5V, i la comunicació es realitza a través del bus I2C, cosa que simplifica molt el procés de connexió.

Per connectar-lo a una placa Arduino, els pins més importants seran:

  • GND: Connectar a terra.
  • VCC o VIN: Alimentació de 3.3V o 5V.
  • SDA: Pin de dades I2C (pots connectar-lo al pin A4 a Arduino Uno).
  • SCL: Pin de rellotge I2C (connectar al pin A5 a Arduino Uno).

El pin addicional anomenat LED permet controlar l'encesa del LED integrat del sensor. Pots deixar-lo sense connectar per mantenir-lo encès tot el temps, o bé pots connectar-lo a un pin digital i controlar-lo des del codi, apagant-lo o encenent-lo segons calgui.

Funcionament del sensor TCS34725

El sensor TCS34725 està compost per una matriu de fotodíodes filtrats, cadascun dels quals detecta una llum específica: vermella, verda, blava, o clara (sense filtre específic). Aquesta informació es converteix en un senyal digital mitjançant l'ADC de 16 bits integrat i es comunica amb la placa controladora mitjançant I2C.

El sensor inclou un filtre d'infrarojos que millora la precisió de les lectures eliminant la interferència de llum infraroja de lentorn. També incorpora funcionalitats avançades que permeten ajustar el guany i temps d'integració segons les necessitats del projecte.

Això és especialment útil quan es treballa en entorns amb diferents condicions de llum, ja que es pot adaptar el sensor perquè funcioni de manera òptima a cada situació. El seu rang dinàmic tan alt fa que pugui funcionar fins i tot quan es mesura a través d'un vidre fosc, cosa que afegeix versatilitat en aplicacions industrials o situacions on el sensor no estigui exposat directament a la llum.

Codis i exemples pràctics per a Arduino

Per fer ús d'aquest sensor amb Arduino, hi ha diverses biblioteques dissenyades específicament per a aquest propòsit. Entre les més recomanades hi ha la llibreria d'Adafruit, la qual ofereix una àmplia varietat d'exemples per començar.

A continuació, us mostrem dos exemples d'ús pràctic:

Llegir valors RGB

Aquest exemple és el més essencial: consisteix a llegir els valors dels canals vermell, verd, blau i clar del sensor i mostrar-los a través del monitor sèrie d'Arduino. Aquestes dades mostrades són molt útils per analitzar la intensitat de color i fer càlculs bàsics.

// Configuración básica para leer valores RGB 
#include <Wire.h>
#include "Adafruit_TCS34725.h" 
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X); 
void setup(void) { 
 Serial.begin(9600); 
 if (!tcs.begin()) { 
  Serial.println("No se pudo iniciar el sensor"); 
  while (1); 
 } 
} 
void loop(void) { 
 uint16_t r, g, b, c; 
 tcs.getRawData(&r, &g, &b, &c); 
 Serial.print("Rojo: "); Serial.println(r); 
 Serial.print("Verde: "); Serial.println(g); 
 Serial.print("Azul: "); Serial.println(b); 
 delay(1000); 
}

Aquest codi senzill obtindrà els valors directament des del sensor i els imprimirà al port sèrie per a la seva anàlisi. A partir d'aquestes dades podreu experimentar i obtenir la informació necessària per als vostres projectes.

Classificar colors

Un pas més avançat és crear un algorisme que classifiqui els colors que el sensor detecta. Per aquest exemple, convertim els valors RGB obtinguts a format HSV (matís, saturació i valor), que ens permetrà fer una classificació més precisa del color.

Per a aquest exemple, és ideal utilitzar alguna llibreria de conversió RGB a HSV com a 'ColorConverter', encara que pots programar la conversió manualment.

Aplicacions pràctiques del TCS34725

El sensor TCS34725 es pot fer servir en una gran varietat d'aplicacions. A causa de la seva precisió i facilitat d'integració en projectes electrònics, és ideal per a àrees com:

  • Classificació automàtica d'objectes per color: Sistemes robòtics que requereixen identificar i separar objectes pel seu color.
  • Efectes d'il·luminació interactiva: Monitorització i ajustament de llums en sistemes de domòtica o instal·lacions artístiques.
  • Control de qualitat en processos industrials: Monitorització i anàlisi de la qualitat del color en productes manufacturats.

La seva versatilitat el converteix en una eina valuosa en qualsevol projecte on sigui important la detecció del color. Des de l'automatització fins a l'art digital, el TCS34725 és un aliat perfecte per obtenir dades de color fiables.

Si cerques un sensor de color precís, accessible i versàtil, el TCS34725 és una opció que no hauries de descartar. Tant si ja tens experiència treballant amb sensors com si és el teu primer projecte, aquest component et proporcionarà resultats excel·lents en el mesurament de color.