Home Âm nhạc Cảm biến nhận dạng màu sắc | Học Điện Tử

Cảm biến nhận dạng màu sắc | Học Điện Tử

0
Cảm biến nhận dạng màu sắc | Học Điện Tử

Moudule Cảm biến mầu TCS3200 có 2 hàng jum để giao tiếp +S0,S1 : Đầu vào chọn tỉ lệ tần số đầu ra . +S2,S3 : Đầu vào chọn kiểu photodiode. +OE : Đầu vào cho phép xuất tần số ở chân OUT. +OUT : Đầu ra là tần số thay đổi phụ thuộc cường độ và màu sắc. Tính năng : +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. +Dễ dàng giao tiếp với vi điều khiển. +Điện áp đầu vào 2.7-5.5V. Nguyên lý hoạt động cảm biến mầu TCS3200 : -Cấu tạo cảm biến TCS3200 gồm 2 khối như hình vẽ phía dưới: [​IMG] +Khối đầu tiên là mảng ma trận 8×8 gồm các mobitool.net gồm 16 photodiode có thể lọc màu sắc xanh dương (Blue),16 photodiode có thể lọc màu đỏ (Red),16 photodiode có thể lọc màu xanh lá(Green) và 16 photodiode trắng không lọc (Clear).Tất cả photodiode cùng màu được kết nối song song với nhau ,và được đặt xen kẽ nhau nhằm mục đích chống nhiễu. 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 .Có nghĩa nó chỉ tiếp nhận các ánh sáng có cùng màu với loại photodiode tương ứng và không tiếp nhận các ánh sáng có màu sắc khác. [​IMG] Việc lựa chọn 4 loại photodiode này thông qua 2 chân đầu vào S2,S3 : [​IMG] +Khối thứ 2 là bộ chuyển đổi dòng điện từ đầu ra khối thứ nhất thành tần số : [​IMG] Tần số đầu ra có độ rộng xung 50% và tỉ lệ với ánh sáng có cường độ và mầu sắc khác nhau . Tần số đầu ra nằm trong khoảng 2Hz-500Khz . Ta có thể lựa chọn tỉ lệ tần số đầu ra ở các mức khác nhau như bảng trên cho phù hợp với phần cứng đo tần số . Ví dụ : Tần số khi S0=H,S1=H -Fout=500Khz thì: S0=H,S1=L -Fout=100Khz S0=L,S1=H -Fout=10Khz S0=L,S1=L -Fout=0 -Nguyên lý hoạt động : Ánh sáng trắng là hỗn hợp rất nhiều ánh sáng có bước sóng màu sắc khác nhau . Khi ta chiếu ánh sáng trắng vào một vật thể bất kì .Tại bề mặt vật thể sẽ xảy ra hiện tượng hấp thụ và phản xạ ánh sáng . Ví dụ : Một vật thể có màu sắc đỏ khi được chiếu ánh sáng trắng thì những ánh sáng không nằm trong dải bước sóng màu đỏ sẽ bị vật thể hấp thụ .Còn ánh sáng có bước sóng nằm trong dải màu đỏ sẽ bị phản xạ ngược trở lại .Và khiến mắt ta nhận biết vật thể đó là màu đỏ. Màu sắc bất kì được tổng hợp từ 3 mầu cơ bản Blue,Green,Red : [​IMG] Dựa trên nguyên lý sự phản xạ , hấp thụ ánh sáng trắng của vật thể và sự phối chộn màu sắc bởi 3 màu cơ bản Blue,Green,Red thì TCS3200 có cấu tạo là 4 bộ lọc photodiode Blue,Green,Red và clear để nhận biết màu sắc vật thể. Hình bên dưới là bảng test quá trình chuyển đổi từ ánh sáng mà 4 loại photodiode nhận được thành tần số: [​IMG] Với điều kiện test là ánh sáng có bước sóng λp = 470 nm(Dải màu Blue),λp = 524 nm(dải màu Green),λp = 640 nm(dải màu Red) thì 4 bộ lọc photodiode sẽ cho ra tần số khác nhau.Tần số ra lớn nhất khi ánh sáng chiếu vào cảm biến cùng loại photodiode được chọn vì khi đó photodiode sẽ hấp thụ nhiều nhất. Giao tiếp module cảm biến mầu TCS3200 với vi điều khiển : -Sơ đồ kết nối Module cảm biến với vi điều khiển ATmega8 [​IMG] -Code ví dụ giao tiếp với module cảm biến để nhận biết 3 màu cơ bản Blue,Green,Red: Code gồm 2 phần chính : +Phần thứ nhất là đo tần số từ chân out của cảm biến Do tần số ra là tần số cao nên mình chọn phương pháp đếm số xung trong 1 khoảng thời gian để tính ra tần số . Ở đây mình đếm số xung trong khoảng thời gian là 50ms nên mình sử dụng bộ timer0 để tạo khoảng thời gian 50ms và sử dụng bộ timer1 để đếm số xung trong khoảng thời gian 50ms:

Mã:

//Tao 50ms va tinh toan tan so interrupt[TIM0_OVF]void Time_Sample(void) { //Reset lai bien dem TCNT0=255-250+5; Counter_Timer0++; if(Counter_Timer0==200) { //Dung timer0,Timer1 TCCR0=0b00000000; TCCR1B=0b00000000; //Sau 50ms tinh toan tan so F=(TCNT1+(unsigned long)Counter_Timer1*65536)*20/1000; Counter_Timer0=0; Counter_Timer1=0; //Reset lai bien dem Timer0,Timer1 TCNT0=255-250+5; TCNT1=0; //Bat timer0,Timer1 TCCR0=0b00000010; TCCR1B=0b00000110; } } //Dem so xung trong khoang thoi gian 50ms interrupt[TIM1_OVF] void Counter_Pulse(void) { Counter_Timer1++; }

+Phần thứ hai là so sánh tần số nhận được ứng với mỗi bộ lọc photodiode khác nhau để xác định 3 màu sắc cơ bản Blue,Green,Red.

Mã:

void Check_Color(void ) { F_Red=TCS3200_Read(FILTER_RED); F_Green=TCS3200_Read(FILTER_GREEN); F_Blue=TCS3200_Read(FILTER_BLUE); if((F_Red>F_Green)&&(F_Red>F_Blue)) { LED_RED=ON; LED_GREEN=OFF; LED_BLUE=OFF; } if((F_Green>F_Red)&&(F_Green>F_Blue)) { LED_RED=OFF; LED_GREEN=ON; LED_BLUE=OFF; } if((F_Blue>F_Red)&&(F_Blue>F_Green)) { LED_RED=OFF; LED_GREEN=OFF; LED_BLUE=ON; } }

Liên hệ:

  • Website:https://giaiphapchung.vn
  • Đ/c: 18/655 Nguyễn Văn Linh-P.Vĩnh Niệm-Lê Chân-Hải Phòng
  • Email: [email protected]
  • Hotline: 0936824969
Rate this post