Sensor de Color TCS34725

El sensor de color TCS34725 es un módulo avanzado diseñado para detectar colores en el entorno con alta precisión. Este sensor integra un fotodiodo RGB y un filtro infrarrojo que permiten medir los componentes rojo, verde, azul y la luz clara (RGB+Clear), proporcionando datos precisos sobre el color de los objetos o la luz ambiental. Además, incluye un amplificador programable y comunicación I2C, lo que facilita su integración con Arduino.

Es ideal para proyectos como clasificación de objetos por color, detección de luz ambiental, calibración de pantallas y dispositivos interactivos. Su alta sensibilidad y rango dinámico lo convierten en una opción excelente para aplicaciones donde la precisión del color es esencial.

Pinout:

Sensor Arduino
LED -
INT -
SDA Pin análogo
SCL Pin análogo
3V3 3.3V
GND GND
VIN -

Código de ejemplo


#include <Wire.h>
#include <Adafruit_TCS34725.h>

// Crear un objeto del sensor
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_614MS, TCS34725_GAIN_1X);

void setup() {
  Serial.begin(9600);

  if (tcs.begin()) {
    Serial.println("Sensor TCS34725 encontrado");
  } else {
    Serial.println("Sensor TCS34725 no encontrado. Revisa las conexiones.");
    while (1); // Detener el programa si no se encuentra el sensor
  }
}

void loop() {
  uint16_t r, g, b, c; // Variables para los valores de color y claridad
  float red, green, blue; // Valores normalizados

  // Leer los valores RGB y claridad
  tcs.getRawData(&r, &g, &b, &c);

  // Normalizar los valores de color
  red = r / (float)c;
  green = g / (float)c;
  blue = b / (float)c;

  // Imprimir los valores
  Serial.print("R: "); Serial.print(r);
  Serial.print(" G: "); Serial.print(g);
  Serial.print(" B: "); Serial.print(b);
  Serial.print(" C: "); Serial.print(c);
  Serial.print(" | Normalizados - R: "); Serial.print(red, 2);
  Serial.print(" G: "); Serial.print(green, 2);
  Serial.print(" B: "); Serial.println(blue, 2);

  delay(1000); // Esperar 1 segundo
}