ใช้ TCS34725 กับ Raspberry Pi

Using the TCS34725 with the Raspberry Pi

TCS34725 เป็นโมดูลเซ็นเซอร์สีที่สามารถตรวจจับสีแดง, เขียว, สีน้ำเงิน (RGB) และค่าแสงที่ชัดเจน มีการใช้กันอย่างแพร่หลายในแอพพลิเคชั่นเช่นการตรวจจับแสงโดยรอบการตรวจจับสีและแม้แต่ระบบการเรียงลำดับสี คู่มือนี้อธิบายวิธีการเชื่อมต่อและใช้ TCS34725 กับ Raspberry Pi


สิ่งที่คุณต้องการ

  1. Raspberry Pi (รุ่นใด ๆ ที่มีการสนับสนุน GPIO เช่น PI 3, PI 4)
  2. โมดูลเซ็นเซอร์สี TCS34725
  3. เครื่องหั่นขนมปังและสายจัมเปอร์
  4. ติดตั้ง Python บนราสเบอร์รี่ pi ของคุณ

ขั้นตอนที่ 1: การเดินสาย TCS34725 ไปยังราสเบอร์รี่ pi

TCS34725 ใช้โปรโตคอล I2C สำหรับการสื่อสาร

การเชื่อมต่อ

TCS34725 PIN Raspberry Pi Pin
vin 3.3V (พิน 1)
gnd พื้นดิน (พิน 6)
SDA SDA (พิน 3, GPIO2)
SCL SCL (PIN 5, GPIO3)

ขั้นตอนที่ 2: เปิดใช้งานอินเตอร์เฟส I2C

  1. เปิดเครื่องมือกำหนดค่า Raspberry Pi:
    sudo raspi-config
    
  2. นำทางไปยัง ตัวเลือกอินเตอร์เฟส> i2c และเปิดใช้งาน
  3. รีบูตราสเบอร์รี่ pi:
    sudo reboot
    

ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ

  1. อัปเดต Raspberry Pi ของคุณ:
    sudo apt update && sudo apt upgrade -y
    
  2. ติดตั้งเครื่องมือที่จำเป็นและไลบรารี Python:
    sudo apt install -y i2c-tools python3-pip
    pip3 install adafruit-circuitpython-tcs34725
    
  3. ตรวจสอบว่าตรวจพบ TCS34725 บนรถบัส I2C:
    sudo i2cdetect -y 1
    
    เซ็นเซอร์ควรปรากฏตามที่อยู่ 0x29.

ขั้นตอนที่ 4: รหัส Python เพื่ออ่านข้อมูลจาก TCS34725

นี่คือสคริปต์ Python ในการอ่าน RGB และค่าแสงที่ชัดเจนจาก TCS34725

ตัวอย่างรหัส 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...")

ขั้นตอนที่ 5: แอปพลิเคชันของ TCS34725

  1. การตรวจจับแสงโดยรอบ: ปรับความสว่างของหน้าจอหรือแสงตามระดับแสงโดยรอบ
  2. การตรวจจับสี: ใช้เซ็นเซอร์สำหรับการเรียงลำดับสีหรือการจดจำในหุ่นยนต์
  3. การถ่ายภาพ: วัดอุณหภูมิสีสำหรับการแก้ไขสมดุลสีขาว
  4. โครงการ IoT: รวมข้อมูลสีและแสงเข้ากับระบบสมาร์ทโฮม

การแก้ไขปัญหา

  1. ไม่พบเซ็นเซอร์:

    • ตรวจสอบการเชื่อมต่อ SDA และ SCL
    • ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ I2C เปิดใช้งานบน Raspberry Pi
  2. การอ่านที่ไม่ถูกต้อง:

    • หลีกเลี่ยงแสงแดดโดยตรงหรือพื้นผิวสะท้อนแสงในระหว่างการวัด
    • ปรับเวลารับและการรวมในสคริปต์เพื่อปรับปรุงความแม่นยำ
  3. ข้อผิดพลาด i2c:

    • ตรวจสอบอุปกรณ์ที่ขัดแย้งกันบนรถบัส I2C หรือสายไฟหลวม

บทสรุป

TCS34725 เป็นเซ็นเซอร์สีอเนกประสงค์ที่รวมเข้ากับ Raspberry Pi ได้อย่างราบรื่น โดยทำตามคำแนะนำนี้คุณสามารถใช้เพื่อวัด RGB แสงใสอุณหภูมิสีและระดับความสว่างทำให้เหมาะสำหรับการใช้งานที่หลากหลายเช่นหุ่นยนต์ IoT และการถ่ายภาพ ทดลองกับการตั้งค่าเพื่อให้เหมาะกับข้อกำหนดของโครงการเฉพาะของคุณ!

แสดงความคิดเห็น

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.