El TCS34725 es un módulo sensor de color capaz de detectar valores de luz rojo, verde, azul (RGB) y claro. Se usa ampliamente en aplicaciones como detección de luz ambiental, detección de color e incluso sistemas de clasificación basados en colores. Esta guía explica cómo conectarse y usar el TCS34725 con la Raspberry Pi.
Lo que necesitarás
- Frambuesa pi (Cualquier modelo con soporte de GPIO, por ejemplo, PI 3, PI 4)
- Módulo de sensor de color TCS34725
- Cables de placa y jersey
- Python instalado en tu frambuesa pi
Paso 1: Cableado el TCS34725 al Raspberry Pi
El TCS34725 utiliza el protocolo I2C para la comunicación.
Conexión
TCS34725 PIN | Pin de frambuesa Pi |
---|---|
Empuje | 3.3V (pin 1) |
Gnd | Tierra (pin 6) |
SDA | SDA (pin 3, GPIO2) |
SCL | SCL (pin 5, GPIO3) |
Paso 2: Habilite la interfaz I2C
- Abra la herramienta de configuración de Raspberry Pi:
sudo raspi-config
- Navegar por Opciones de interfaz> I2C y habilitarlo.
- Reinicie la Raspberry Pi:
sudo reboot
Paso 3: Instale las bibliotecas requeridas
- Actualice su Raspberry PI:
sudo apt update && sudo apt upgrade -y
- Instale las herramientas necesarias y las bibliotecas de Python:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725
- Verifique que el TCS34725 se detecte en el bus I2C:
El sensor debe aparecer en la direcciónsudo i2cdetect -y 1
0x29
.
Paso 4: Código de Python para leer datos del TCS34725
Aquí hay un script de Python para leer RGB y borrar valores de luz del TCS34725.
Ejemplo de código de python
import time
import board
import adafruit_tcs34725
# Initialize I2C and TCS34725 sensor
i2c = board.I2C()
sensor = adafruit_tcs34725.TCS34725(i2c)
# Set gain and integration time for the sensor
sensor.gain = adafruit_tcs34725.GAIN_4X
sensor.integration_time = 100 # In milliseconds
try:
while True:
# Read color values
r, g, b, c = sensor.color_raw
temperature = sensor.color_temperature # Optional: Estimate color temperature
lux = sensor.lux # Optional: Calculate brightness in lux
print(f"Raw RGB: R={r}, G={g}, B={b}, Clear={c}")
if temperature is not None:
print(f"Color Temperature: {temperature:.2f} K")
print(f"Lux: {lux:.2f} lx")
print("--------------------------")
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
Paso 5: Aplicaciones del TCS34725
- Detección de luz ambiental: Ajuste el brillo o la iluminación de la pantalla en función de los niveles de luz ambiental.
- Detección de color: Use el sensor para la clasificación o el reconocimiento de color en robótica.
- Fotografía: Mida la temperatura de color para la corrección de balance de blancos.
- Proyectos de IoT: Integre los datos de color y luz en sistemas domésticos inteligentes.
Solución de problemas
-
Sensor no detectado:
- Verifique las conexiones SDA y SCL.
- Asegúrese de que la interfaz I2C esté habilitada en Raspberry Pi.
-
Lecturas inexactas:
- Evite la luz solar directa o las superficies reflectantes durante las mediciones.
- Ajuste la ganancia y el tiempo de integración en el script para mejorar la precisión.
-
Errores I2C:
- Verifique los dispositivos conflictivos en el autobús I2C o el cableado suelto.
Conclusión
El TCS34725 es un sensor de color versátil que se integra a la perfección con la Raspberry Pi. Siguiendo esta guía, puede usarla para medir RGB, claro luz, temperatura de color y niveles de brillo, lo que lo hace ideal para diversas aplicaciones como robótica, IoT y fotografía. ¡Experimente con su configuración para adaptarse a sus requisitos específicos del proyecto!