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.
Sensor | Arduino |
---|---|
LED | - |
INT | - |
SDA | Pin análogo |
SCL | Pin análogo |
3V3 | 3.3V |
GND | GND |
VIN | - |
#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
}