Za pomocą TCS34725 z Raspberry Pi

Using the TCS34725 with the Raspberry Pi

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ć

  1. Raspberry Pi (Każdy model z obsługą GPIO, np. PI 3, PI 4)
  2. Moduł czujnika kolorów TCS34725
  3. Druty chleba i skoczków
  4. 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

  1. Otwórz narzędzie konfiguracyjne Raspberry Pi:
    sudo raspi-config
    
  2. Przejść do Opcje interfejsu> i2c i włącz to.
  3. Uruchom ponownie Raspberry Pi:
    sudo reboot
    

Krok 3: Zainstaluj wymagane biblioteki

  1. Zaktualizuj swoje Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. Zainstaluj niezbędne narzędzia i biblioteki Python:
    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tcs34725
    
  3. Sprawdź, czy TCS34725 jest wykrywany w autobusie I2C:
    sudo i2cdetect -y 1
    
    Czujnik powinien pojawić się pod adresem 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

  1. Wyczuwanie światła otoczenia: Dostosuj jasność ekranu lub oświetlenie oparte na poziomach światła otoczenia.
  2. Wykrywanie kolorów: Użyj czujnika do sortowania kolorów lub rozpoznawania w robotyce.
  3. Fotografia: Zmierz temperaturę kolorów dla korekcji bilansu białego.
  4. Projekty IoT: Zintegruj dane kolorów i światła z inteligentnymi systemami domowymi.

Rozwiązywanie problemów

  1. Czujnik nie wykryty:

    • Sprawdź połączenia SDA i SCL.
    • Upewnij się, że interfejs I2C jest włączony na Raspberry Pi.
  2. 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ść.
  3. 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!

Zostaw komentarz

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.