Giới thiệu cảm biến màu sắc TCS3200
Cảm biến màu sắc TCS3200 được sử dụng để nhận biết màu sắc bằng cách đo phản xạ 3 màu sắc cơ bản từ vật thể là đỏ, xanh lá và xanh dương từ đó xuất ra tần số xung tương ứng với 3 màu này qua các chân tín hiệu, đo 3 tần số xung này và qua 1 vài bước chuyển đổi nhất định là bạn sẽ có đươc thông tin của màu sắc của vật thể cần đo.
Cảm biến rất thích hợp để làm các đề tài đơn giản, giao tiếp với vi điều khiển để nhận biết các màu.
Cảm biến màu GY-31 sử dụng IC TAOS TCS3200 RGB với 4 led trắng. Cảm biến màu TCS3200 có thể phát hiện và đo lường một phạm vi gần như vô hạn của màu sắc có thể nhìn thấy. Cảm biến màu TCS3200 tích hợp 1 dãy bộ dò ánh sáng quang bên trong, với mỗi cảm biến ứng với các màu đỏ, xanh lá, xanh dương.
Chức năng các chân
- VCC : Cấp nguồn 5V.
- GND : Cấp nguồn 0V.
- S0, S1 : Dùng để lựa chọn tỷ lệ tần số.
- S2, S3 : Dùng lựa chọn kiểu photodiod
- OUT : Đầu ra tín hiệu tần số
- OE : Enable mức thấp
Thông số kỹ thuật cảm biến màu sắc TCS3200
- Điện áp hoạt động : 2.7V – 5.5V
- Dòng điện : 2mA
- Công suất : 10mW
- Chuẩn truyền : Đọc tần số màu
- Nhiệt độ hoạt động : -40°C – 85°C
- Dãy hoạt động : RGB
- Số chân : 10
- Loại : Module
- Kích thước : 75.3mm*12.7mm*12.7mm
Nguyên lý hoạt động
![cam-bien-mau-tcs3200-nhan-dien-mau-rgb-so-do-nguyen-ly-ket-noi](https://dientunhattung.com/wp-content/uploads/2020/02/cam-bien-mau-tcs3200-nhan-dien-mau-rgb-so-do-nguyen-ly-ket-noi.png)
![cam-bien-mau-tcs3200-nhan-dien-mau-rgb-so-do-nguyen-ly-bang-gia-tro](https://dientunhattung.com/wp-content/uploads/2020/02/cam-bien-mau-tcs3200-nhan-dien-mau-rgb-so-do-nguyen-ly-bang-gia-tro.png)
Chương trình Test sản phẩm
Nguyên lý kết nối
Chương trình
/* Color Sensor Arduino ----------- -------- VCC 5V GND GND s0 8 s1 9 s2 12 s3 11 OUT 10 OE GND */ const int s0 = 8; const int s1 = 9; const int s2 = 12; const int s3 = 11; const int out = 10; // LED pins connected to Arduino int redLed = 2; int greenLed = 3; int blueLed = 4; // Variables int red = 0; int green = 0; int blue = 0; void setup() { Serial.begin(9600); pinMode(s0, OUTPUT); pinMode(s1, OUTPUT); pinMode(s2, OUTPUT); pinMode(s3, OUTPUT); pinMode(out, INPUT); pinMode(redLed, OUTPUT); pinMode(greenLed, OUTPUT); pinMode(blueLed, OUTPUT); digitalWrite(s0, HIGH); digitalWrite(s1, HIGH); } void loop() { color(); /* Serial.print("R Intensity:"); Serial.print(red, DEC); Serial.print(" G Intensity: "); Serial.print(green, DEC); Serial.print(" B Intensity : "); Serial.print(blue, DEC); */ //Serial.println(); if (red < blue && red < green && red < 20) { Serial.println(" - (Red Color)"); digitalWrite(redLed, HIGH); // Turn RED LED ON digitalWrite(greenLed, LOW); digitalWrite(blueLed, LOW); } else if (blue < red && blue < green) { Serial.println(" - (Blue Color)"); digitalWrite(redLed, LOW); digitalWrite(greenLed, LOW); digitalWrite(blueLed, HIGH); // Turn BLUE LED ON } else if (green < red && green < blue) { Serial.println(" - (Green Color)"); digitalWrite(redLed, LOW); digitalWrite(greenLed, HIGH); // Turn GREEN LED ON digitalWrite(blueLed, LOW); } else{ Serial.println(); } delay(300); digitalWrite(redLed, LOW); digitalWrite(greenLed, LOW); digitalWrite(blueLed, LOW); } void color() { digitalWrite(s2, LOW); digitalWrite(s3, LOW); //count OUT, pRed, RED red = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s3, HIGH); //count OUT, pBLUE, BLUE blue = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); digitalWrite(s2, HIGH); //count OUT, pGreen, GREEN green = pulseIn(out, digitalRead(out) == HIGH ? LOW : HIGH); }
Video test sản phẩm
Liên hệ làm mạch
- Phone: 0967.551.477
- Zalo: 0967.551.477
- Chi tiết : Nhận làm mạch và hướng dẫn đồ án sinh viên
Tham khảo chương trình mẫu và thông tin linh kiện chi tiết tại:
Đánh giá
Chưa có đánh giá nào.