Usando el TCS34725 con la Raspberry Pi

Using the TCS34725 with the Raspberry Pi

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

  1. Frambuesa pi (Cualquier modelo con soporte de GPIO, por ejemplo, PI 3, PI 4)
  2. Módulo de sensor de color TCS34725
  3. Cables de placa y jersey
  4. 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

  1. Abra la herramienta de configuración de Raspberry Pi:
    sudo raspi-config
    
  2. Navegar por Opciones de interfaz> I2C y habilitarlo.
  3. Reinicie la Raspberry Pi:
    sudo reboot
    

Paso 3: Instale las bibliotecas requeridas

  1. Actualice su Raspberry PI:
    sudo apt update && sudo apt upgrade -y
    
  2. Instale las herramientas necesarias y las bibliotecas de Python:
    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tcs34725
    
  3. Verifique que el TCS34725 se detecte en el bus I2C:
    sudo i2cdetect -y 1
    
    El sensor debe aparecer en la dirección 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

  1. Detección de luz ambiental: Ajuste el brillo o la iluminación de la pantalla en función de los niveles de luz ambiental.
  2. Detección de color: Use el sensor para la clasificación o el reconocimiento de color en robótica.
  3. Fotografía: Mida la temperatura de color para la corrección de balance de blancos.
  4. Proyectos de IoT: Integre los datos de color y luz en sistemas domésticos inteligentes.

Solución de problemas

  1. Sensor no detectado:

    • Verifique las conexiones SDA y SCL.
    • Asegúrese de que la interfaz I2C esté habilitada en Raspberry Pi.
  2. 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.
  3. 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!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.