De TCS34725 is een kleursensormodule die in staat is om rood-, groen-, blauw- (RGB) en helderlichtwaarden te detecteren. Hij wordt veel gebruikt in toepassingen zoals omgevingslichtdetectie, kleurherkenning en zelfs sorteersystemen op basis van kleur. Deze handleiding legt uit hoe je de TCS34725 aansluit en gebruikt met de Raspberry Pi.
Wat je nodig hebt
- Raspberry Pi (elk model met GPIO-ondersteuning, bijv. Pi 3, Pi 4)
- TCS34725 kleursensormodule
- Breadboard en jumperkabels
- Python geïnstalleerd op je Raspberry Pi
Stap 1: De TCS34725 aansluiten op de Raspberry Pi
De TCS34725 gebruikt het I2C-protocol voor communicatie.
Aansluitingen
| TCS34725 Pin | Raspberry Pi Pin |
|---|---|
| VIN | 3.3V (Pin 1) |
| GND | Ground (Pin 6) |
| SDA | SDA (Pin 3, GPIO2) |
| SCL | SCL (Pin 5, GPIO3) |
Stap 2: De I2C-interface inschakelen
- Open de configuratietool van de Raspberry Pi:
sudo raspi-config - Navigeer naar Interface Options > I2C en schakel deze in.
- Start de Raspberry Pi opnieuw op:
sudo reboot
Stap 3: Vereiste bibliotheken installeren
- Update je Raspberry Pi:
sudo apt update && sudo apt upgrade -y - Installeer de benodigde tools en Python-bibliotheken:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725 - Controleer of de TCS34725 wordt gedetecteerd op de I2C-bus:
De sensor zou moeten verschijnen op adressudo i2cdetect -y 10x29.
Stap 4: Python-code om gegevens uit te lezen van de TCS34725
Hier is een Python-script om RGB- en helderlichtwaarden uit te lezen van de TCS34725.
Python-codevoorbeeld
import time
import board
import adafruit_tcs34725
# Initialiseer I2C en TCS34725-sensor
i2c = board.I2C()
sensor = adafruit_tcs34725.TCS34725(i2c)
# Stel de versterking (gain) en integratietijd in voor de sensor
sensor.gain = adafruit_tcs34725.GAIN_4X
sensor.integration_time = 100 # In milliseconden
try:
while True:
# Lees kleurwaarden
r, g, b, c = sensor.color_raw
temperature = sensor.color_temperature # Optioneel: Schat kleurtemperatuur
lux = sensor.lux # Optioneel: Bereken helderheid in lux
print(f"Raw RGB: R={r}, G={g}, B={b}, Clear={c}")
if temperature is not None:
print(f"Kleurtemperatuur: {temperature:.2f} K")
print(f"Lux: {lux:.2f} lx")
print("--------------------------")
time.sleep(1)
except KeyboardInterrupt:
print("Afsluiten...")
Stap 5: Toepassingen van de TCS34725
- Omgevingslichtdetectie: Pas schermhelderheid of verlichting aan op basis van omgevingslichtniveaus.
- Kleurdetectie: Gebruik de sensor voor het sorteren of herkennen van kleuren in robotica.
- Fotografie: Meet de kleurtemperatuur voor correctie van de witbalans.
- IoT-projecten: Integreer kleur- en lichtgegevens in smart home-systemen.
Probleemoplossing
-
Sensor niet gedetecteerd:
- Controleer de SDA- en SCL-aansluitingen.
- Zorg ervoor dat de I2C-interface is ingeschakeld op de Raspberry Pi.
-
Onnauwkeurige metingen:
- Vermijd direct zonlicht of reflecterende oppervlakken tijdens metingen.
- Pas de versterking en integratietijd in het script aan om de nauwkeurigheid te verbeteren.
-
I2C-fouten:
- Controleer op conflicterende apparaten op de I2C-bus of losse bedrading.
Conclusie
De TCS34725 is een veelzijdige kleursensor die naadloos integreert met de Raspberry Pi. Door deze handleiding te volgen, kun je hem gebruiken om RGB, helder licht, kleurtemperatuur en helderheidsniveaus te meten, waardoor hij ideaal is voor diverse toepassingen zoals robotica, IoT en fotografie. Experimenteer met de instellingen om aan de specifieke eisen van je project te voldoen!






1 reactie
Spent the day trying to find something that would get this sensor working on one of my old beater Raspberry Pi 3 B boards. Your post did the trick.
Thank you.
Michael A. Dupont