Nhận biết màu sắc dùng cảm biến màu TCS3200 | Học Điện Tử

Trong bài viết này, tôi sẽ hướng dẫn các bạn thiết kế một ứng dụng nhận biết màu sắc đơn giản dùng module cảm biến màu TCS3200 kết hợp với Arduino. 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 màu sắc của vật thể.

Giới thiệu module cảm biến màu TCS3200

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

Hình dạng của cảm biến màu TCS3200

Sơ đồ chân

Sơ đồ chân cảm biến màu TCS3200

Tên chân Mô tả S1,S0 (1,2) Ngõ vào chọn tỉ lệ tần số ngõ ra OE (3) Ngõ vào cho phép xuất tần số ở chân OUT (tích cực mức thấp) GND (4) Chân nối đất VDD (5) Chân cấp nguồn (2,7 – 5,5V) OUT (6) Ngõ ra là tần số thay đổi phụ thuộc cường độ và màu sắc. S2, S3 (7,8) Ngõ vào chọn loại photodiode

Thông số kỹ thuật

  • Chuyển đổi cường độ ánh sáng thành tần số có độ phân giải cao.
  • Lập trình lựa chọn bộ lọc màu sắc khác nhau và dạng tần số xuất ra.
  • Giao tiếp trực tiếp với vi điều khiển.
  • Điện áp 2.7 – 5.5V.
  • Kích thước: 28.4 x 28.4mm.
  • Tần số ngõ ra có độ rộng xung 50%
  • Tần số tỉ lệ với ánh sáng có cường độ và màu sắc khác nhau.
  • Tần số ngõ ra nằm trong khoảng 2 Hz- 500KHz.

Nguyên lý hoạt động

Cảm biến màu TCS3200 gồm 2 khối như hình vẽ phía dưới:

Sơ đồ khối cảm biến màu TCS3200

  • 16 photodiode có thể lọc màu đỏ (red)
  • 16 photodiode có thể lọc màu xanh lá (green)
  • 16 photodiode có thể lọc màu xanh dương (blue)
  • 16 photodiode trắng không lọc (clear)

Bản chất của 4 loại photodiode trên như là các bộ lọc ánh sáng có màu sắc khác nhau. Khi lựa chọn một bộ lọc màu nào nó sẽ cho phép chỉ nhận biết 1 màu và các màu khác sẽ bị chặn. Ví dụ, khi lựa chọn bộ lọc màu xanh lá (green) thì chỉ có ánh sáng tới màu xanh lá mới có thể được thông qua, màu đỏ và màu xanh dương sẽ bị chặn lại như hình minh họa bên dưới. Vì vậy, chúng ta có thể nhận được cường độ ánh sáng màu xanh lá. Tương tự như vậy, khi lựa chọn các bộ lọc màu khác thì chúng ta có thể nhận được ánh sáng màu đỏ (red) hoặc màu xanh dương (blue).

Lọc màu

Tại một thời điểm chỉ có 1 bộ lọc màu được chọn. Việc chọn bộ lọc màu được thực hiện thông qua 2 chân S2 và S3 như bảng dưới đây.

  • Khi S0 = L, S1 = L thì fout = 0
  • Khi S0 = L, S1 = H thì fout = 10Khz
  • Khi S0 = H, S1 = L thì fout = 100Khz
  • Khi S0 = H, S1 = H thì fout = 500Khz

Download datasheet cảm biến màu TCS3200 tại đây.

Mạch ứng dụng nhận biết màu sắc dùng Arduino và cảm biến màu TCS3200

Trong ví dụ này, bạn sẽ thấy cách thực hiện để phát hiện màu sắc dùng Arduino và module cảm biến màu TCS3200. Mặc dù cảm biến này không chính xác lắm, nhưng hoạt động tốt để phát hiện màu sắc trong các ứng dụng đơn giản.

Linh kiện cần thiết

Số TT Tên linh kiện Số lượng 1 ARDUINO UNO R3 1 2 Module cảm biến màu TCS3200 1 3 LCD 16×2 1 4 Testboard 1 5 Dây cắm tesboard

Sơ đồ mạch

Nếu bạn muốn hiển thị tần số của các màu trên LCD thì bạn có thể tham khảo sơ đồ kết nối và chương trình dưới đây.

Xem thêm bài viết: Giao tiếp LCD 16×2 với Arduino

Nhận biết màu sắc dùng cảm biến màu TCS3200

Rate this post