TCS34725 to moduł czujnika kolorów zdolny do wykrywania wartości czerwonego, zielonego, niebieskiego (RGB) i czystego światła. Jest szeroko stosowany w aplikacjach takich jak czujność światła otoczenia, wykrywanie kolorów, a nawet systemy sortowania oparte na kolorach. Ten przewodnik wyjaśnia, jak połączyć i używać TCS34725 z Raspberry Pi.
Czego będziesz potrzebować
- Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
- Moduł czujnika kolorów TCS34725
- Druty chleba i skoczków
- Zainstalowany Python na twoim malinowym pi
Krok 1: Okablowanie TCS34725 do Raspberry Pi
TCS34725 wykorzystuje protokół I2C do komunikacji.
Znajomości
Pin TCS34725 | Pin Raspberry Pi |
---|---|
Vin | 3,3 V (pin 1) |
GND | Uziemienie (pin 6) |
SDA | SDA (pin 3, GPIO2) |
Scl | SCL (pin 5, GPIO3) |
Krok 2: Włącz interfejs I2C
- Otwórz narzędzie konfiguracyjne Raspberry Pi:
sudo raspi-config
- Przejść do Opcje interfejsu> i2c i włącz to.
- Uruchom ponownie Raspberry Pi:
sudo reboot
Krok 3: Zainstaluj wymagane biblioteki
- Zaktualizuj swoje Raspberry Pi:
sudo apt update && sudo apt upgrade -y
- Zainstaluj niezbędne narzędzia i biblioteki Python:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725
- Sprawdź, czy TCS34725 jest wykrywany w autobusie I2C:
Czujnik powinien pojawić się pod adresemsudo i2cdetect -y 1
0x29
.
Krok 4: Kod Pythona do odczytu danych z TCS34725
Oto skrypt Python do odczytania RGB i jasnych wartości światła z TCS34725.
Przykład kodu Pythona
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...")
Krok 5: Zastosowania TCS34725
- Wyczuwanie światła otoczenia: Dostosuj jasność ekranu lub oświetlenie oparte na poziomach światła otoczenia.
- Wykrywanie kolorów: Użyj czujnika do sortowania kolorów lub rozpoznawania w robotyce.
- Fotografia: Zmierz temperaturę kolorów dla korekcji bilansu białego.
- Projekty IoT: Zintegruj dane kolorów i światła z inteligentnymi systemami domowymi.
Rozwiązywanie problemów
-
Czujnik nie wykryty:
- Sprawdź połączenia SDA i SCL.
- Upewnij się, że interfejs I2C jest włączony na Raspberry Pi.
-
Niedokładne odczyty:
- Unikaj bezpośredniego światła słonecznego lub powierzchni odblaskowych podczas pomiarów.
- Dostosuj czas wzmocnienia i integracji w skrypcie, aby poprawić dokładność.
-
Błędy I2C:
- Sprawdź sprzeczne urządzenia w magistrali I2C lub luźne okablowanie.
Wniosek
TCS34725 to wszechstronny czujnik kolorów, który bezproblemowo integruje się z Raspberry Pi. Postępując zgodnie z tym przewodnikiem, możesz go użyć do pomiaru RGB, czystego światła, temperatury kolorów i poziomów jasności, dzięki czemu jest idealny do różnych aplikacji, takich jak robotyka, IoT i fotografia. Eksperymentuj z jego ustawieniami, aby odpowiadały konkretnym wymaganiom projektu!