Cảm thay đổi màu TCS3200 hoàn toàn có thể phát hiện tại nhiều một số loại màu dựa trên bước sóng. Cảm biến này đặc trưng hữu ích cho các dự án nhận dạng màu sắc như phát hiện màu sắc, sắp xếp phụ thuộc màu sắc, phát âm mã màu sắc ..Cảm biến hóa màu TCS3200 - hiển thị vào hình dưới - thực hiện chip cảm biến TAOS TCS3200 RGB nhằm phát hiện tại màu. Bao gồm bốn đèn led chiếu sáng trắng làm sáng đối tượng người tiêu dùng cần phát hiện màu.

Bạn đang xem: Cảm biến màu sắc tcs3200

Thông số kỹ thuật

Điện áp: 2.7V mang lại 5.5VKích thước: 28,4 × 28,4mm (1,12 × 1,12)Giao diện: TTLĐộ phân giải cao cùng đo toàn dải màu.

Cảm thay đổi TCS3200 vận động như cụ nào?

TCS3200 tất cả một loạt các photodiode cùng với 4 bộ lọc không giống nhau. Một photodiode chỉ dễ dàng là một thiết bị phân phối dẫn chuyển đổi ánh sáng sủa thành cái điện. Cảm biến có:

16 photodiode với bộ lọc red color - nhạy bén với cách sóng đỏ16 photodiode với cỗ lọc greed color lá cây - nhạy bén với bước sóng xanh16 photodiode với cỗ lọc blue color - nhạy bén với cách sóng color xanh16 photodiode ko lọc

Nếu chúng ta nhìn kỹ rộng vào chip TCS3200, bạn có thể thấy những bộ lọc khác nhau.

Bằng cách tinh lọc chọn lọc bộ lọc photodiode, bạn cũng có thể phát hiện ra cường độ của những màu khác nhau. Cảm biến có bộ chuyển đổi tần số hiện tại tại chuyển đổi các lần phát âm photodiodes thành sóng vuông với tần số làtỷ lệ với cường độ ánh sáng của màu sắc được chọn. Tần số này là sau đó, đọc do Arduino - điều này được mô tả trong hình bên dưới đây.

Cách nối chân

Chân cảm biến
Input/Output
Mô tả
GNDChân GND
OE(3)ICho phép đầu ra (Output Enable)
OUT(6)OChân tần số đầu ra
S0, S1 (7,8)IChọn Thang đo (scale) cho tần số ra
S2, S3 (7,8)IChọn loại Photo
Diode đầu vào
VDD (5)Nguồn cấp

Thang đo tần số (Scale)

Các chân S0 và S1 được áp dụng để điều chỉnh tần số đầu ra. Nó hoàn toàn có thể được sút lại với mức giá trị đặt trước sau: 100%, 20% hoặc 2%. Chia phần trăm tần số đầu ra rất bổ ích để hoàn toàn có thể đọc được bởi các loại MCU khác nhau, bởi vì có một vài loại có thể không đáp ứng được với các tần số thừa cao. áp dụng bảng dưới đây:

Thang đo tần số đầu ra
S1S0
Không bao gồm nguồn cấpLL
2%LH
20%HL
100%HH

Đối cùng với Arduino nút scale hay là 20% thì Arduino có thể đáp ứng được.

Cảm thay đổi màu với Arduino với TCSP3200

Sơ đồ gia dụng mạchCách nối chân

Chân cảm biến
Chân Arduino
S0Digital pin sạc 4
S1Digital sạc pin 5
VCC5V
S3Digital sạc 6
S4Digital sạc 7
OUTDigital pin 8

Chương trình

Có 2 ví dụ như cho cảm ứng màu

Đọc với hiển thị tần số áp sạc ra trên Serial Monitor. Các bạn cần đánh dấu các cực hiếm tần số khi bạn đặt các color khác nhau phía đằng trước cảm biến.Phân biệt giữa các màu khác nhau. Trong phần này, bạn sẽ chèn quý hiếm tần số được chọn trước kia (ví dụ 1) trên mã của bạn, để cảm biến của bạn cũng có thể phân biệt giữa các màu khác nhau. Họ sẽ phát hiện nay màu đỏ, xanh lá cây cùng xanh dương.

1. Đọc tần số đầu ra

/********* Rui Santos Complete project details at http://randomnerdtutorials.com *********/// Định nghĩa những chân nối#define S0 4#define S1 5#define S2 6#define S3 7#define sensor
Out 8// các tần số được hiểu bởi các màuint red
Frequency = 0;int green
Frequency = 0;int blue
Frequency = 0;void setup() // thông số kỹ thuật chân pin
Mode(S0, OUTPUT); pin
Mode(S1, OUTPUT); pin
Mode(S2, OUTPUT); pin
Mode(S3, OUTPUT); // sensor
Out là đầu vào pin
Mode(sensor
Out, INPUT); // Thang đo tần số là 20% digital
Write(S0,HIGH); digital
Write(S1,LOW); // Begins serial communication Serial.begin(9600);void loop() // lựa chọn đọc photodiodes đỏ (RED) digital
Write(S2,LOW); digital
Write(S3,LOW); // Đọc tần số red
Frequency = pulse
In(sensor
Out, LOW); // Ghi ra Serial Serial.print("R = "); Serial.print(red
Frequency); delay(100); // lựa chọn đọc photodiodes xanh (GREEN) digital
Write(S2,HIGH); digital
Write(S3,HIGH); // Đọc tần số green
Frequency = pulse
In(sensor
Out, LOW); // in ra GREEN (G) Serial.print(" G = "); Serial.print(green
Frequency); delay(100); // lựa chọn đọc photodiodes blue digital
Write(S2,LOW); digital
Write(S3,HIGH); // Đọc tần số blue
Frequency = pulse
In(sensor
Out, LOW); // In ra giá trị blue (B) Serial.print(" B = "); Serial.println(blue
Frequency); delay(100);Đầu ra bên trên Serial MonitorKhi bọn họ đặt đối tượng greed color trước cảm biến, những giá trị tần số màu xanh lá cây (B) dao động trong vòng từ 59 mang lại 223 (xem những giá trị được tô sáng).

Xem thêm: Lotte cinema nha trang tp. nha trang, khánh hòa, lotte cinema nha trang trần phú


Lưu ý: bạn cũng có thể sử dụng các giá trị tần số này (59 cùng 223) vào mã của mình, bạn nên đo màu sắc cho đối tượng ví dụ của các bạn với cảm ứng màu của riêng biệt bạn. Sau đó, lưu lại giới hạn tần số trên và dưới của bạn cho blue color lam, vì bạn sẽ cần bọn chúng sau đó. Lặp lại quá trình này với các đối tượng màu xanh da trời lá cây và màu đỏ và viết xuống số lượng giới hạn tần số trên với dưới cùng cho mỗi màu.


2. Riêng biệt giữa các màu không giống nhau

Ví dụ này ánh xạ những giá trị tần số thành các giá trị RGB (nằm trong khoảng từ 0 đến 255).Ở cách trước, tần số về tối đa cho blue color là 233 cùng mức về tối thiểu là 59. Bởi vì vậy, 59 trong tần số tương xứng với 255 (trong RGB) và 223 ở tần số là 0 (trong RGB). Công ty chúng tôi sẽ làm điều này với tính năng Arduino map (). Vào hàm bản đồ () bạn cần để sửa chữa các thông số XX bằng những giá trị của riêng bạn.

/********* Rui Santos Complete project details at http://randomnerdtutorials.com *********/// TCS230 or TCS3200 pins wiring to Arduino#define S0 4#define S1 5#define S2 6#define S3 7#define sensor
Out 8// Stores frequency read by the photodiodesint red
Frequency = 0;int green
Frequency = 0;int blue
Frequency = 0;// Stores the red. Green và blue colorsint red
Color = 0;int green
Color = 0;int blue
Color = 0;void setup() // Setting the outputs pin
Mode(S0, OUTPUT); pin
Mode(S1, OUTPUT); pin
Mode(S2, OUTPUT); pin
Mode(S3, OUTPUT); // Setting the sensor
Out as an input đầu vào pin
Mode(sensor
Out, INPUT); // Setting frequency scaling khổng lồ 20% digital
Write(S0,HIGH); digital
Write(S1,LOW); // Begins serial communication Serial.begin(9600);void loop() // Setting RED (R) filtered photodiodes to be read digital
Write(S2,LOW); digital
Write(S3,LOW); // Đọc tần số đầu ra red
Frequency = pulse
In(sensor
Out, LOW); // maps lại các giá trị sao cho xấp xỉ từ 0, 255. // thay thế XX, XX thành các giá trị của bạn, red color là từ 70 mang lại 120 // red
Color = map(red
Frequency, 70, 120, 255,0); red
Color = map(red
Frequency, XX, XX, 255,0); // long map(long x, long in_min, long in_max, long out_min, long out_max) // return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; // // Printing the RED (R) value Serial.print("R = "); Serial.print(red
Color); delay(100); // Setting GREEN (G) filtered photodiodes lớn be read digital
Write(S2,HIGH); digital
Write(S3,HIGH); // Reading the đầu ra frequency green
Frequency = pulse
In(sensor
Out, LOW); // Remaping the value of the GREEN (G) frequency from 0 khổng lồ 255 // You must replace with your own values. Here"s an example: // green
Color = map(green
Frequency, 100, 199, 255, 0); green
Color = map(green
Frequency, XX, XX, 255, 0); // Printing the GREEN (G) value Serial.print(" G = "); Serial.print(green
Color); delay(100); // Setting xanh (B) filtered photodiodes lớn be read digital
Write(S2,LOW); digital
Write(S3,HIGH); // Reading the output đầu ra frequency blue
Frequency = pulse
In(sensor
Out, LOW); // Remaping the value of the blue (B) frequency from 0 lớn 255 // You must replace with your own values. Here"s an example: // blue
Color = map(blue
Frequency, 38, 84, 255, 0); blue
Color = map(blue
Frequency, XX, XX, 255, 0); // Printing the xanh (B) value Serial.print(" B = "); Serial.print(blue
Color); delay(100); // chất vấn mã màu // if(red
Color > green
Color && red
Color > blue
Color) Serial.println(" - RED detected!"); if(green
Color > red
Color && green
Color > blue
Color) Serial.println(" - GREEN detected!"); if(blue
Color > red
Color && blue
Color > green
Color) Serial.println(" - xanh detected!");
Để phân biệt những màu khác nhau, bọn họ có bố điều kiện:Khi R là giá trị tối đa (trong các tham số RGB), chúng tôi biết rằng cửa hàng chúng tôi có một trang bị màu đỏ
Khi G là giá bán trị về tối đa, họ biết rằng chúng ta có một đối tượng blue color lá cây
Khi B là giá bán trị về tối đa, họ biết rằng chúng ta có một đối tượng người tiêu dùng màu xanh
Bây giờ, đặt một cái gì đó ở phía đằng trước của cảm biến. Nó vẫn in trong màn hình nối tiếp của bạn color được vạc hiện: đỏ, xanh lá cây hoặc xanh dương. Cảm biến của chúng ta cũng có thể phát hiện các màu khác với nhiều hơn thế nếu bao gồm các thông số để đối sánh.

Trong bài viết này, tôi sẽ hướng dẫn chúng ta thiết kế một áp dụng nhận biết màu sắc đơn giản dùng module cảm ứng màu TCS3200 kết phù hợp với Arduino. TCS3200 được áp dụng để phân biệt màu sắc bằng phương pháp đo bức xạ 3 màu sắc cơ bản từ đồ gia dụng thể là đỏ, xanh lá cùng xanh dương từ kia xuất ra tần số xung tương xứng với 3 màu sắc này qua những chân tín hiệu, đo 3 tần số xung này và qua 1 vài bước đổi khác nhất định là các bạn sẽ có được thông tin màu sắc của vật dụng thể.


Nội dung bài viết

Giới thiệu module cảm ứng màu TCS3200Mạch áp dụng nhận biết màu sắc dùng Arduino và cảm ứng màu TCS3200

Giới thiệu module cảm ứng màu TCS3200

Module cảm ứng màu TCS3200 là một module cảm ứng phát hiện không thiếu màu sắc, bao hàm cả cảm ứng TCS3200 với khả năng nhận biết 3 màu cơ bản RGB cùng 4 led màu sắc trắng. Các TCS3200 có thể phát hiện nay và đo lường gần như toàn bộ màu sắc có thể nhìn thấy. Các bộ thanh lọc màu phía bên trong TCS3200 được phân bổ đều khắp các mảng để vứt bỏ sai lệch địa điểm giữa các điểm màu. Phía bên trong là một cỗ dao động tạo thành sóng vuông nghỉ ngơi ngõ ra tỉ lệ thành phần với độ mạnh màu sắc.

*
*


// Chân 10 của Arduino liên kết với TCS3200


int Out
Put= 10;

unsigned int frequency = 0;

#include

// Khởi tạo ra thư viện LCD với những số của những chân giao tiếp

Liquid
Crystal lcd(8, 9, 7, 11, 12, 13); //RS,EN,D4,D5,D6,D7

void setup()

// thiết lập số cột với hàng của LCD

lcd.begin(16, 2);

// Chân 2, 3, 4, 5 là các chân ngõ ra

pin
Mode(2, OUTPUT);

pin
Mode(3, OUTPUT);

pin
Mode(4, OUTPUT);

pin
Mode(5, OUTPUT);

// Chân 10 là chân ngõ vào

pin
Mode(10, INPUT);

// tùy chỉnh tỷ lệ tần số là 20%

digital
Write(2,HIGH);

digital
Write(3,LOW);

void loop()

//In ký tự R(red) – color đỏ

lcd.print(“R=”);

//Thiết lập photodiode thanh lọc màu đỏ

digital
Write(4,LOW);

digital
Write(5,LOW);

//Đọc tần số

frequency = pulse
In(Out
Put, LOW);

//Hiển thị tần số màu đỏ trên LCD

lcd.print(frequency);

lcd.print(” “);

//Di chuyển con trỏ mang đến vị trí 7

lcd.set
Cursor(7, 0);

delay(500);

//In cam kết tự B(blue) – greed color dương

lcd.print(“B=”);

//Thiết lập photodiode lọc màu xanh da trời dương

digital
Write(4,LOW);

digital
Write(5,HIGH);

//Đọc tần số

frequency = pulse
In(Out
Put, LOW);

//Hiển thị tần số màu xanh da trời dương lên LCD

lcd.print(frequency);

lcd.print(” “);

lcd.set
Cursor(0, 1);

delay(500);

//In ký kết tự G(green) – màu xanh lá

lcd.print(“G=”);

//Thiết lập photodiode lọc greed color lá

digital
Write(4,HIGH);

digital
Write(5,HIGH);

//Đọc tần số

frequency = pulse
In(Out
Put, LOW);

//Hiển thị tần số màu xanh lá lên LCD

lcd.print(frequency);

lcd.print(” “);

lcd.set
Cursor(0, 0);

delay(500);

Nếu bạn muốn dùng module cảm biến màu TCS3200 để thừa nhận biết được không ít màu hơn thay vì chỉ là 3 màu: đỏ, xanh lá, xanh dương thì bạn có thể bài viết liên quan bài viết này nhé.

Ứng dụng

Cảm trở thành màu có không ít ứng dụng trong các nghành nghề xử lý hình ảnh, xử lý bộc lộ kỹ thuật số, phát hiện đối tượng, nhận dạng color sắc, v.v.

Trong các ngành công nghiệp, cảm ứng màu thường xuyên được sử dụng để phân một số loại các đối tượng người tiêu dùng dựa vào màu sắc sắc.