TCS34725 เป็นโมดูลเซ็นเซอร์สีที่สามารถตรวจจับสีแดง, เขียว, สีน้ำเงิน (RGB) และค่าแสงที่ชัดเจน มีการใช้กันอย่างแพร่หลายในแอพพลิเคชั่นเช่นการตรวจจับแสงโดยรอบการตรวจจับสีและแม้แต่ระบบการเรียงลำดับสี คู่มือนี้อธิบายวิธีการเชื่อมต่อและใช้ TCS34725 กับ Raspberry Pi
สิ่งที่คุณต้องการ
- Raspberry Pi (รุ่นใด ๆ ที่มีการสนับสนุน GPIO เช่น PI 3, PI 4)
- โมดูลเซ็นเซอร์สี TCS34725
- เครื่องหั่นขนมปังและสายจัมเปอร์
- ติดตั้ง 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
- เปิดเครื่องมือกำหนดค่า Raspberry Pi:
sudo raspi-config
- นำทางไปยัง ตัวเลือกอินเตอร์เฟส> i2c และเปิดใช้งาน
- รีบูตราสเบอร์รี่ pi:
sudo reboot
ขั้นตอนที่ 3: ติดตั้งไลบรารีที่ต้องการ
- อัปเดต Raspberry Pi ของคุณ:
sudo apt update && sudo apt upgrade -y
- ติดตั้งเครื่องมือที่จำเป็นและไลบรารี Python:
sudo apt install -y i2c-tools python3-pip pip3 install adafruit-circuitpython-tcs34725
- ตรวจสอบว่าตรวจพบ 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
- การตรวจจับแสงโดยรอบ: ปรับความสว่างของหน้าจอหรือแสงตามระดับแสงโดยรอบ
- การตรวจจับสี: ใช้เซ็นเซอร์สำหรับการเรียงลำดับสีหรือการจดจำในหุ่นยนต์
- การถ่ายภาพ: วัดอุณหภูมิสีสำหรับการแก้ไขสมดุลสีขาว
- โครงการ IoT: รวมข้อมูลสีและแสงเข้ากับระบบสมาร์ทโฮม
การแก้ไขปัญหา
-
ไม่พบเซ็นเซอร์:
- ตรวจสอบการเชื่อมต่อ SDA และ SCL
- ตรวจสอบให้แน่ใจว่าอินเทอร์เฟซ I2C เปิดใช้งานบน Raspberry Pi
-
การอ่านที่ไม่ถูกต้อง:
- หลีกเลี่ยงแสงแดดโดยตรงหรือพื้นผิวสะท้อนแสงในระหว่างการวัด
- ปรับเวลารับและการรวมในสคริปต์เพื่อปรับปรุงความแม่นยำ
-
ข้อผิดพลาด i2c:
- ตรวจสอบอุปกรณ์ที่ขัดแย้งกันบนรถบัส I2C หรือสายไฟหลวม
บทสรุป
TCS34725 เป็นเซ็นเซอร์สีอเนกประสงค์ที่รวมเข้ากับ Raspberry Pi ได้อย่างราบรื่น โดยทำตามคำแนะนำนี้คุณสามารถใช้เพื่อวัด RGB แสงใสอุณหภูมิสีและระดับความสว่างทำให้เหมาะสำหรับการใช้งานที่หลากหลายเช่นหุ่นยนต์ IoT และการถ่ายภาพ ทดลองกับการตั้งค่าเพื่อให้เหมาะกับข้อกำหนดของโครงการเฉพาะของคุณ!