Khác biệt giữa các bản “Cảm Biến Màu Sắc TCS34725”
(→Thử với tcs34725) |
|||
(Không hiển thị 9 phiên bản của cùng người dùng ở giữa) | |||
Dòng 14: | Dòng 14: | ||
=== Thông số kỹ thuật === | === Thông số kỹ thuật === | ||
− | * IC | + | * IC TCS34725 |
− | * Điện áp hoạt động | + | * Điện áp hoạt động 3.3/5.0 VDC |
− | * Giao tiếp I2C | + | * Giao tiếp I2C |
* I2C address 0x29 (7-bit) | * I2C address 0x29 (7-bit) | ||
* Khối lượng: 3.23g | * Khối lượng: 3.23g | ||
Dòng 23: | Dòng 23: | ||
== Mô tả các chân kết nối == | == Mô tả các chân kết nối == | ||
− | [[Hình:module-cam-bien-mau-sac-tcs34725-pinout. | + | [[Hình:module-cam-bien-mau-sac-tcs34725-pinout.jpg|x200px]] |
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Dòng 29: | Dòng 29: | ||
! Thứ tự chân !! Ký hiệu !! Loại !! Mô tả | ! Thứ tự chân !! Ký hiệu !! Loại !! Mô tả | ||
|- | |- | ||
− | | 1 || VIN || Power || Nguồn cấp | + | | 1 || VIN || Power || Nguồn cấp 3.6-5.5V |
|- | |- | ||
− | | 2 || | + | | 2 || GND || Power || Điện áp đất 0V |
|- | |- | ||
− | | 3 || | + | | 3 || 3V3 || Power || Điện áp nguồn 3.3V |
|- | |- | ||
− | | 4 || | + | | 4 || SCL || Input || I2C SCL |
|- | |- | ||
− | | 5 || | + | | 5 || SDA || I/O || I2C SDA |
|- | |- | ||
− | | 6 || | + | | 6 || INT || Input || Chân INT của TCS34725 |
|- | |- | ||
− | | 7 || | + | | 7 || LED || Input || Bật/Tắt LED |
|} | |} | ||
Dòng 48: | Dòng 48: | ||
=== Kết nối module với Arduino === | === Kết nối module với Arduino === | ||
− | Kết nối cơ bản giữa module | + | Kết nối cơ bản giữa module TCS34725 và Arduino như hình bên dưới. |
− | [[Hình: | + | Chú ý: nếu điện áp cấp nguồn là 3.3V thì cấp vào chân 3V3 thay vì VIN. |
+ | |||
+ | [[Hình:module-cam-bien-mau-sac-tcs34725-connect-arduino.png|x300px]] | ||
=== Tải thư viện === | === Tải thư viện === | ||
− | Dùng thư viện [http://download.chipfc.com/download.php?id= | + | Dùng thư viện [http://download.chipfc.com/download.php?id=20&token=PdkJoV2a9ZHmJePAM97AQbMiuthMs7W8 Adafruit_TCS34725 Arduino library] được phát triển bởi [https://github.com/adafruit/Adafruit_TCS34725 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]] | 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]] | ||
Dòng 60: | Dòng 62: | ||
=== Sử dụng ví dụ mẫu === | === Sử dụng ví dụ mẫu === | ||
− | Sau khi cài đặt thành công thư viện | + | 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à: | Với các Example được viết sẵn là: | ||
− | |||
− | |||
− | |||
− | |||
− | [[Hình:module-cam-bien- | + | * '''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. | ||
+ | |||
+ | [[Hình:module-cam-bien-mau-sac-tcs34725-library-1.png|600px]] | ||
− | ==== Thử với | + | ==== Thử với tcs34725 ==== |
− | Nội dung code mẫu | + | Nội dung code mẫu: |
− | <syntaxhighlight lang="cpp | + | <syntaxhighlight lang="cpp"> |
#include <Wire.h> | #include <Wire.h> | ||
− | #include " | + | #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 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(" "); | |
− | |||
− | |||
− | |||
− | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Sau khi Upload thành công lên Arduino, hãy thử mở '''Serial Monitor''' (menu Tools) để xem kết quả. | + | 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 | * Serial Monitor | ||
− | [[Hình:module-cam-bien | + | [[Hình:module-cam-bien-mau-sac-tcs34725-library-2.png|x400px]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Chú ý === | === Chú ý === | ||
− | |||
− | |||
− | |||
== Tham khảo == | == Tham khảo == | ||
− | * [https://github.com/ | + | * [https://learn.adafruit.com/adafruit-color-sensors?view=all Adafruit Color Sensors] |
+ | * [https://github.com/adafruit/Adafruit_TCS34725 Arduino Library] | ||
+ | * [http://download.chipfc.com/download.php?id=19&token=xBSVW1moRTAscPYIpFyKkgf2f5SZ1kYo TCS34725 Data Sheet] |
Bản hiện tại lúc 11:58, ngày 2 tháng 3 năm 2018
Mục lục
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.
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
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.
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.
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