Trong dự án này, chúng tôi sẽ giao diện cảm biến màu TCS3200 với Arduino UNO. TCS3200 là cảm biến màu có thể phát hiện bất kỳ số lượng màu nào với lập trình phù hợp. TCS3200 chứa các mảng RGB (Đỏ xanh lục). Như trong hình ở cấp độ hiển vi, người ta có thể nhìn thấy các hộp vuông bên trong mắt trên cảm biến. Các hộp vuông này là các mảng của ma trận RGB. Mỗi hộp này chứa Ba cảm biến, Một để cảm nhận cường độ ánh sáng ĐỎ, Một để cảm nhận cường độ ánh sáng XANH và cảm biến cuối cùng để cảm nhận cường độ sáng XANH.
Mỗi mảng cảm biến trong ba mảng này được chọn riêng biệt tùy thuộc vào yêu cầu. Do đó nó được gọi là cảm biến có thể lập trình. Mô-đun có thể được đặc trưng để cảm nhận màu cụ thể và để lại các màu khác. Nó chứa các bộ lọc cho mục đích lựa chọn đó. Có chế độ thứ tư không phải là chế độ lọc. Không có chế độ lọc, cảm biến phát hiện ánh sáng trắng.
Thành phần bắt buộc
Phần cứng: ARDUINO UNO, bộ nguồn (5v), LED, JHD_162ALCD (16 * 2LCD), cảm biến màu TCS3200.
Phần mềm: ARDUINO IDE (ARDUINO hàng đêm).
Sơ đồ mạch và giải thích hoạt động
Trong LCD 16x2 có 16 chân trên tất cả nếu có đèn nền, nếu không có đèn nền sẽ có 14 chân. Người ta có thể cấp nguồn hoặc để lại các chân đèn sau. Bây giờ trong 14 chân có 8 dữ liệu ghim (7-14 hoặc D0-D7), 2 chân cung cấp điện (1 & 2 hoặc VSS & VDD hoặc GND & + 5V), 3 thứ pin cho điều khiển độ tương phản (VEE-điều khiển như thế nào dày các nhân vật nên được hiển thị), và 3 chân điều khiển (RS & RW & E)
Trong mạch, bạn có thể quan sát tôi chỉ lấy hai chân điều khiển. Bit tương phản và READ / WRITE không thường xuyên được sử dụng để chúng có thể được nối đất. Điều này đặt LCD ở chế độ đọc và độ tương phản cao nhất. Chúng ta chỉ cần điều khiển các chân ENABLE và RS để gửi các ký tự và dữ liệu cho phù hợp.
Các kết nối được thực hiện cho LCD được đưa ra dưới đây:
PIN1 hoặc VSS để nối đất
PIN2 hoặc VDD hoặc VCC đến nguồn + 5v
PIN3 hoặc VEE nối đất (mang lại độ tương phản tối đa tốt nhất cho người mới bắt đầu)
PIN4 hoặc RS (Lựa chọn đăng ký) thành PIN8 của ARDUINO UNO
PIN5 hoặc RW (Đọc / Ghi) nối đất (đặt màn hình LCD ở chế độ đọc giúp giảm bớt giao tiếp cho người dùng)
PIN6 hoặc E (Bật) tớiPIN9 của ARDUINO UNO
PIN11 hoặc D4 đến PIN7 của ARDUINO UNO
PIN12 hoặc D5 đến PIN11 của ARDUINO UNO
PIN13 hoặc D6 đến PIN12 của ARDUINO UNO
PIN14 hoặc D7 đến PIN13 của ARDUINO UNO
Các kết nối được thực hiện cho cảm biến màu được đưa ra dưới đây:
VDD đến + 5V
GND thành GROUND
OE (kích hoạt đầu ra) thành GND
S0 đến UNO chân 2
S1 đến UNO chân 3
S2 đến chân UNO 4
S3 đến chân 5 UNO
OUT đến UNO pin 10
Màu cần được cảm biến bằng cảm biến màu được chọn bởi hai chân S2 và S3. Với điều khiển logic hai chân này, chúng ta có thể cho cảm biến biết cường độ ánh sáng màu nào được đo.
Giả sử chúng ta cần cảm nhận cường độ màu ĐỎ, chúng ta cần đặt cả hai chân thành LOW. Khi điều đó được thực hiện, cảm biến sẽ phát hiện cường độ và gửi giá trị đến hệ thống điều khiển bên trong mô-đun.
S2 |
S3 |
Loại điốt quang |
L |
L |
Đỏ |
L |
H |
Màu xanh da trời |
H |
L |
Xóa (không có bộ lọc) |
H |
H |
màu xanh lá |
Hệ thống điều khiển bên trong mô-đun được thể hiện trong hình. Cường độ ánh sáng được đo bằng mảng được gửi đến bộ biến đổi tần số hiện tại. Những gì nó làm là, nó tạo ra một sóng vuông có tần số liên quan đến dòng điện được gửi bởi ARRAY.
Vì vậy, chúng ta có một hệ thống phát ra một sóng vuông có tần số phụ thuộc vào cường độ ánh sáng của màu được chọn bởi S2 và S3.
Tần số tín hiệu được gửi bởi mô-đun có thể được điều chế tùy thuộc vào việc sử dụng. Chúng ta có thể thay đổi băng thông tần số tín hiệu đầu ra.
S0 |
S1 |
Tỷ lệ tần số đầu ra (f 0) |
L |
L |
Tắt nguồn |
L |
H |
2% |
H |
L |
20% |
H |
H |
100% |
Việc chia tỷ lệ tần số được thực hiện bởi hai bit S0 và S1. Để thuận tiện, chúng tôi sẽ giới hạn tỷ lệ tần số xuống 20%. Điều này được thực hiện bằng cách đặt S0 thành cao và S1 thành THẤP. Tính năng này rất hữu ích khi chúng ta đang sử dụng mô-đun trên hệ thống có xung nhịp thấp.
Độ nhạy của mảng đối với màu được thể hiện trong hình bên dưới.
Mặc dù các màu khác nhau có độ nhạy khác nhau, nhưng đối với mục đích sử dụng bình thường, nó sẽ không tạo ra nhiều khác biệt.
UNO ở đây gửi tín hiệu đến mô-đun để phát hiện màu sắc và dữ liệu mà mô-đun nhận được được hiển thị trên màn hình LCD 16 * 2 được kết nối với nó.
UNO phát hiện ba cường độ màu riêng biệt và hiển thị chúng trên màn hình LCD.
Uno có thể phát hiện thời lượng xung tín hiệu mà chúng ta có thể nhận được tần số của sóng vuông được gửi bởi mô-đun. Với tần số trong tầm tay, chúng ta có thể khớp nó với màu sắc trên cảm biến.
|
Như điều kiện trên, UNO đọc thời lượng xung trên chân thứ 10 của UNO và lưu giá trị của nó ở dạng số nguyên "tần số".
Chúng tôi sẽ làm điều này cho cả ba màu để nhận dạng màu sắc. Cả ba cường độ màu đều được hiển thị bằng tần số trên màn hình LCD 16x2.