Cảm Biến Màu Sắc TCS34725

Từ ChipFC Wiki
Bước tới: chuyển hướng, tìm kiếm
Module-cam-bien-mau-sac-tcs34725-1.jpg

Giới thiệu

Module Cảm Biến Màu Sắc TCS34725 trên trang chủ

Thiết bị điện tử của bạn bây giờ có thể nhìn thấy màu sắc rực rỡ với module cảm biến nhỏ xíu đáng yêu này. Bạn sẽ thấy TCS34725 chính là cảm biến màu sắc tốt nhất trên thị trường, nó có thể nhận biết từng màu thành phần màu RGB và cường độ sáng trắng.

Module-cam-bien-mau-sac-tcs34725-top.jpg Module-cam-bien-mau-sac-tcs34725-bot.jpg

Thông số kỹ thuật

  • IC TCS34725
  • Điện áp hoạt động 3.3/5.0 VDC
  • Giao tiếp I2C
  • I2C address 0x29 (7-bit)
  • Khối lượng: 3.23g
  • Kích thước: 20.44mm / 0.8" x 20.28mm / 0.79"

Mô tả các chân kết nối

Module-cam-bien-mau-sac-tcs34725-pinout.jpg

Thứ tự chân Ký hiệu Loại Mô tả
1 VIN Power Nguồn cấp 3.6-5.5V
2 GND Power Điện áp đất 0V
3 3V3 Power Điện áp nguồn 3.3V
4 SCL Input I2C SCL
5 SDA I/O I2C SDA
6 INT Input Chân INT của TCS34725
7 LED Input Bật/Tắt LED

Sử dụng với Arduino

Kết nối module với Arduino

Kết nối cơ bản giữa module TCS34725 và Arduino như hình bên dưới.

Chú ý: nếu điện áp cấp nguồn là 3.3V thì cấp vào chân 3V3 thay vì VIN.

Module-cam-bien-mau-sac-tcs34725-connect-arduino.png

Tải thư viện

Dùng thư viện Adafruit_TCS34725 Arduino library được phát triển bởi Adafruit

Nếu bạn chưa biết cách sử dụng một thư viện Arduino có thể xem hướng dẫn tại Thư viện Arduino

Sử dụng ví dụ mẫu

Sau khi cài đặt thành công thư viện Adafruit_TCS34725, Arduino IDE sẽ xuất hiện mục Adafruit TCS34725.

Với các Example được viết sẵn là:

  • colorview: Đọc giá trị màu sắc và hiển thị ra LED RGB.
  • tcs34725: Đọc giá trị màu sắc và hiển thị ra Serial.
  • tcs34725autorange: Một thử nghiệm thực hiện việc cải thiện độ sáng lux và nhiệt độ màu.

Module-cam-bien-mau-sac-tcs34725-library-1.png

Thử với tcs34725

Nội dung code mẫu:

#include <Wire.h>
#include "Adafruit_TCS34725.h"

/* Example code for the Adafruit TCS34725 breakout library */

/* Connect SCL    to analog 5
   Connect SDA    to analog 4
   Connect VDD    to 3.3V DC
   Connect GROUND to common ground */
   
/* Initialise with default values (int time = 2.4ms, gain = 1x) */
// Adafruit_TCS34725 tcs = Adafruit_TCS34725();

/* Initialise with specific int time and gain values */
Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_700MS, TCS34725_GAIN_1X);

void setup(void) {
  Serial.begin(9600);
  
  if (tcs.begin()) {
    Serial.println("Found sensor");
  } else {
    Serial.println("No TCS34725 found ... check your connections");
    while (1);
  }
  
  // Now we're ready to get readings!
}

void loop(void) {
  uint16_t r, g, b, c, colorTemp, lux;
  
  tcs.getRawData(&r, &g, &b, &c);
  colorTemp = tcs.calculateColorTemperature(r, g, b);
  lux = tcs.calculateLux(r, g, b);
  
  Serial.print("Color Temp: "); Serial.print(colorTemp, DEC); Serial.print(" K - ");
  Serial.print("Lux: "); Serial.print(lux, DEC); Serial.print(" - ");
  Serial.print("R: "); Serial.print(r, DEC); Serial.print(" ");
  Serial.print("G: "); Serial.print(g, DEC); Serial.print(" ");
  Serial.print("B: "); Serial.print(b, DEC); Serial.print(" ");
  Serial.print("C: "); Serial.print(c, DEC); Serial.print(" ");
  Serial.println(" ");
}

Sau khi Upload thành công lên Arduino, hãy thử mở Serial Monitor (trong menu Tools) để xem kết quả.

  • Serial Monitor

x400px

Chú ý

Tham khảo