Il TCS34725 è un modulo sensore di colore in grado di rilevare i valori rosso, verde, blu (RGB) e luminosi. È ampiamente utilizzato in applicazioni come il rilevamento della luce ambientale, il rilevamento dei colori e persino i sistemi di smistamento basati su colori. Questa guida spiega come connettersi e utilizzare TCS34725 con il Raspberry Pi.
Cosa avrai bisogno
- Raspberry Pi (Qualsiasi modello con supporto GPIO, ad esempio PI 3, PI 4)
- Modulo del sensore a colori TCS34725
- Breadboard e fili jumper
- Python installato Sul tuo Raspberry Pi
Passaggio 1: cablaggio TCS34725 a Raspberry Pi
Il TCS34725 utilizza il protocollo I2C per la comunicazione.
Connessioni
PIN TCS34725 | Pin di lampone |
---|---|
Vin | 3.3V (pin 1) |
GND | Terra (pin 6) |
SDA | SDA (PIN 3, GPIO2) |
SCL | SCL (PIN 5, GPIO3) |
Passaggio 2: abilita l'interfaccia I2C
- Apri lo strumento di configurazione Raspberry Pi:
sudo raspi-config
- Navigare a Opzioni di interfaccia> i2c e abilitarlo.
- Riavvia il Raspberry Pi:
sudo reboot
Passaggio 3: installa le librerie richieste
- Aggiorna il tuo Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Installa gli strumenti necessari e le librerie Python:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725
- Verificare che il TCS34725 sia rilevato sul bus I2C:
Il sensore dovrebbe apparire all'indirizzosudo i2cdetect -y 1
0x29
.
Passaggio 4: codice Python per leggere i dati dal TCS34725
Ecco uno script Python per leggere RGB e chiarire valori di luce dal TCS34725.
Esempio di codice 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...")
Passaggio 5: applicazioni del TCS34725
- Rilevamento della luce ambientale: Regolare la luminosità o l'illuminazione dello schermo in base ai livelli di luce ambientale.
- Rilevamento del colore: Usa il sensore per l'ordinamento del colore o il riconoscimento in robotica.
- Fotografia: Misurare la temperatura del colore per la correzione del bilanciamento del bianco.
- Progetti IoT: Integrare i dati di colore e luce nei sistemi domestici intelligenti.
Risoluzione dei problemi
-
Sensore non rilevato:
- Verificare le connessioni SDA e SCL.
- Assicurarsi che l'interfaccia I2C sia abilitata su Raspberry Pi.
-
Letture imprecise:
- Evita la luce solare diretta o le superfici riflettenti durante le misurazioni.
- Regola il tempo di guadagno e integrazione nello script per migliorare l'accuratezza.
-
Errori i2c:
- Verificare la presenza di dispositivi contrastanti sul bus I2C o sul cablaggio sciolto.
Conclusione
Il TCS34725 è un sensore di colore versatile che si integra perfettamente con il Raspberry Pi. Seguendo questa guida, puoi usarla per misurare RGB, luce chiara, temperatura del colore e livelli di luminosità, rendendola ideale per varie applicazioni come robotica, IoT e fotografia. Sperimenta le sue impostazioni per soddisfare i requisiti specifici del progetto!