TCS34725 este un modul de senzor de culoare capabil să detecteze valori roșii, verde, albastru (RGB) și valorile clare de lumină. Este utilizat pe scară largă în aplicații precum senzor de lumină ambientală, detectarea culorilor și chiar sisteme de sortare bazate pe culori. Acest ghid explică modul de conectare și utilizare a TCS34725 cu Raspberry Pi.
Ce vei avea nevoie
- Zmeură pi (Orice model cu suport GPIO, de exemplu, PI 3, PI 4)
- TCS34725 Modul senzor de culoare
- Tablă de pâine și jumper
- Python instalat Pe zmeura ta PI
Pasul 1: Cablarea TCS34725 către Raspberry Pi
TCS34725 folosește protocolul I2C pentru comunicare.
Conexiuni
TCS34725 PIN | Pinul de zmeură pi |
---|---|
Vin | 3.3V (pinul 1) |
GND | Sol (pinul 6) |
SDA | SDA (pinul 3, GPIO2) |
SCL | SCL (PIN 5, GPIO3) |
Pasul 2: Activați interfața I2C
- Deschideți instrumentul de configurare Raspberry PI:
sudo raspi-config
- Navigați la Opțiuni de interfață> I2C și activează -l.
- Reporniți zmeura PI:
sudo reboot
Pasul 3: Instalați bibliotecile necesare
- Actualizați -vă Raspberry PI:
sudo apt update && sudo apt upgrade -y
- Instalați instrumentele necesare și bibliotecile Python:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725
- Verificați dacă TCS34725 este detectat în autobuzul I2C:
Senzorul ar trebui să apară la adresasudo i2cdetect -y 1
0x29
.
Pasul 4: Cod Python pentru a citi date din TCS34725
Iată un script Python pentru a citi RGB și valorile de lumină clare din TCS34725.
Exemplu de cod 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...")
Pasul 5: Aplicațiile TCS34725
- Senzație de lumină ambientală: Reglați luminozitatea ecranului sau iluminarea pe baza nivelurilor de lumină ambientală.
- Detectarea culorilor: Folosiți senzorul pentru sortarea culorilor sau recunoașterea în robotică.
- Fotografie: Măsurați temperatura culorii pentru corectarea echilibrului alb.
- Proiecte IoT: Integrați datele de culoare și lumină în sisteme inteligente de casă.
Depanare
-
Senzor nu este detectat:
- Verificați conexiunile SDA și SCL.
- Asigurați -vă că interfața I2C este activată pe Raspberry Pi.
-
Lecturi inexacte:
- Evitați lumina directă a soarelui sau a suprafețelor reflectoare în timpul măsurătorilor.
- Reglați timpul de câștig și de integrare în script pentru a îmbunătăți precizia.
-
Erori I2C:
- Verificați dacă există dispozitive conflictuale pe autobuzul I2C sau cablarea liberă.
Concluzie
TCS34725 este un senzor de culoare versatil care se integrează perfect cu Raspberry Pi. Urmărind acest ghid, îl puteți utiliza pentru a măsura RGB, lumina limpede, temperatura culorii și nivelurile de luminozitate, ceea ce îl face ideal pentru diverse aplicații precum robotică, IoT și fotografie. Experimentați cu setările sale pentru a se potrivi cerințelor dvs. specifice ale proiectului!