Hướng dẫn sử dụng Moudule cảm biến màu sắc TCS3200

Giỏ hàng của bạn đang trống !

Hướng dẫn sử dụng Moudule cảm biến màu sắc TCS3200

Ứng dụng:Áp dụng để phân loại màu sắc, cảm ứng và hiệu chuẩn ánh sang mặt trời, kiểm tra dải đọc, kiểm tra màu sắc phù hợp.

Thông số kỹ thuật:

+ Điện áp cung ứng : ( 2.7 V đến 5.5 V )
+ Chuyển đổi từ cường độ ánh sáng sang tần số với độ 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 .
+ Điện năng tiêu thụ thấp. Giao tiếp trực tiếp với vi điều khiển và tinh chỉnh

Chức năng chân:

+ 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 được cho phép xuất tần số ở chân OUT .
+ OUT : Đầu ra là tần số đổi khác phụ thuộc vào cường độ và màu sắc .
+ Linh kiện điện tử Module cảm biến màu TCS3200 với năng lực phân biệt 3 mầu cơ bản RGB và 4 đèn LED trắng. Các TCS3200 hoàn toàn có thể phát hiện và đo lường và thống kê gần như toàn bộ màu sắc hoàn toàn có thể nhìn thấy. Ứng dụng gồm có kiểm tra đọc dải, phân loại theo màu sắc, cảm biến ánh sáng xung quanh và hiệu chuẩn, và tích hợp màu sắc, đó chỉ là một vài ứng dụng. TCS3200 có những bộ tách sóng quang, có 2 bộ lọc màu sắc là bộ lọc màu đỏ, xanh dương, hoặc màu xanh lá, hoặc không có bộ lọc ( rõ ràng ). Các bộ lọc của mỗi màu được phân bổ đều khắp những mảng để vô hiệu rơi lệch vị trí giữa những điểm màu. Bên trong là một bộ giao động tạo ra đầu ra sóng vuông có tần số là tỷ suất thuận với cường độ của màu sắc lựa chọn .

Nguyên lý hoạt động cảm biến mầu của linh kiện điện tử TCS3200 :

+ Cấu tạo cảm biến TCS3200 gồm 2 khối như hình vẽ phía dưới :


+ Khối tiên phong là mảng ma trận 8×8 gồm những photodiode. Bao gồm 16 photodiode hoàn toàn có thể lọc màu sắc xanh dương ( Blue ), 16 photodiode hoàn toàn có thể lọc màu đỏ ( Red ), 16 photodiode hoàn toàn 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 liên kết song song với nhau, và được đặt xen kẽ nhau nhằm mục đích mục tiêu chống nhiễu .
+ Bản chất của 4 loại photodiode trên như thể những bộ lọc ánh sáng có mầu sắc khác nhau. Có nghĩa nó chỉ tiếp đón những ánh sáng có cùng màu với loại photodiode tương ứng và không đảm nhiệm những ánh sáng có màu sắc khác .


Việc lựa chọn 4 loại photodiode này trải qua 2 chân đầu vào S2, S3 :


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ố :


Tần số đầu ra của linh phụ kiện điện tử TCS3200 trong khoảng chừng 2HZ ~ 500KHZ. Tần số đầu ra có dạng xung vuông với tần số khác nhau khi mà màu sắc khác nhau và cường độ sáng là khác nhau .
Ta hoàn toàn có thể lựa chọn tỉ lệ tần số đầu ra ở những mức khác nhau như bảng trên cho tương thích với phần cứng đo tần số .
Ví dụ : Tần số khi S0 = H, S1 = H – Fout = 500K hz thì :
S0 = H, S1 = L – Fout = 100K hz
S0 = L, S1 = H – Fout = 10K hz
S0 = L, S1 = L – Fout = 0

Nguyên lý hoạt động của linh kiện điện tử TCS 3200:

Á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 mặt phẳng vật thể sẽ xảy ra hiện tượng kỳ lạ hấp thụ và phản xạ ánh sáng .
+ sơ đồ đấu chân với Arduino :

Ứng dụng minh họa: Thiết bị cảm nhận màu sắc RGB, hiển thị thông số của RGB.

Chuẩn bị phần cứng

-Dây cắm.

Bạn hoàn toàn có thể xem hình sau đây


Sau khi liên kết ta được như hình sau :

-Cắm dây USB 5V vào Arduino. Như vậy ta đã chuẩn bị xong phần cứng.

Phần lập trình, những bạn mở Arduino IDE lên và copy đoạn code dưới vào .
/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

#include

#include     

LiquidCrystal lcd ( 8, 9, 4, 5, 6, 7 ) ; / / configuration lcd

# define S0 13 / / Please notice the Pin’s define
# define S1 12
# define S2 11
# define S3 3
# define OUT 2
# define ledRed A1
# define ledBlu A2
# define ledGreen A3

int g_count = 0 ; / / count the frequecy
int g_array [ 3 ] ; / / store the RGB value
int g_flag = 0 ; / / filter of RGB queue
float g_SF [ 3 ] ; / / save the RGB Scale factor

/ / Init TSC230 and setting Frequency .
void TSC_Init ( )
{
pinMode ( S0, OUTPUT ) ; / / set ouput, input
pinMode ( S1, OUTPUT ) ;
pinMode ( S2, OUTPUT ) ;
pinMode ( S3, OUTPUT ) ;
pinMode ( OUT, INPUT ) ;
pinMode ( ledRed, OUTPUT ) ;
pinMode ( ledBlu, OUTPUT ) ;
pinMode ( ledGreen, OUTPUT ) ;
digitalWrite ( S0, LOW ) ; / / OUTPUT FREQUENCY SCALING 2 %
digitalWrite ( S1, HIGH ) ;
}

/ / Select the filter color
void TSC_FilterColor ( int Level01, int Level02 )
{
if ( Level01 ! = 0 )
Level01 = HIGH ;

if ( Level02 ! = 0 )
Level02 = HIGH ;

digitalWrite ( S2, Level01 ) ;
digitalWrite ( S3, Level02 ) ;
}
void TSC_Count ( )
{
g_count + + ;
}
void TSC_Callback ( )
{
switch ( g_flag )
{
case 0 :
Serial. println ( ” -> WB Start ” ) ;
TSC_WB ( LOW, LOW ) ; / / Filter without Red

      break;

case 1 :
Serial. print ( ” -> Frequency R = ” ) ;
Serial. println ( g_count ) ;
g_array [ 0 ] = g_count ;
TSC_WB ( HIGH, HIGH ) ; / / Filter without Green
break ;
case 2 :
Serial. print ( ” -> Frequency G = ” ) ;
Serial. println ( g_count ) ;
g_array [ 1 ] = g_count ;
TSC_WB ( LOW, HIGH ) ; / / Filter without Blue
break ;
case 3 :
Serial. print ( ” -> Frequency B = ” ) ;
Serial. println ( g_count ) ;
Serial. println ( ” -> WB End ” ) ;
g_array [ 2 ] = g_count ;
TSC_WB ( HIGH, LOW ) ; / / Clear ( no filter )
break ;
default :
g_count = 0 ;
break ;
}
}

void TSC_WB ( int Level0, int Level1 ) / / White Balance
{
g_count = 0 ;
g_flag + + ;
TSC_FilterColor ( Level0, Level1 ) ;
Timer1. setPeriod ( 1000000 ) ;
}
void setup ( )
{
lcd.begin ( 16,2 ) ; / / lcd 16×2
TSC_Init ( ) ;
Serial. begin ( 9600 ) ;
Timer1. initialize ( ) ; / / defaulte is 1 s
Timer1. attachInterrupt ( TSC_Callback ) ;
attachInterrupt ( 0, TSC_Count, RISING ) ;
delay ( 4000 ) ;
for ( int i = 0 ; i <3 ; i + + ) Serial. println ( g_array [ i ] ) ; g_SF [ 0 ] = 255.0 / g_array [ 0 ] ; / / R Scale factor g_SF [ 1 ] = 255.0 / g_array [ 1 ] ; / / G Scale factor g_SF [ 2 ] = 255.0 / g_array [ 2 ] ; / / B Scale factor Serial. println ( g_SF [ 0 ] ) ; Serial. println ( g_SF [ 1 ] ) ; Serial. println ( g_SF [ 2 ] ) ; } void loop ( ) { g_flag = 0 ; for ( int i = 0 ; i <3 ; i + + ) Serial. println ( int ( g_array [ i ] * g_SF [ i ] ) ) ; / / display result on LCD lcd. setCursor ( 0,0 ) ; lcd.print ( " RED " ) ; lcd. setCursor ( 5,0 ) ; lcd.print ( " GREEN " ) ; lcd. setCursor ( 12,0 ) ; lcd.print ( " BLU " ) ; lcd. setCursor ( 0,1 ) ; lcd.print ( g_array [ 0 ] ) ; lcd. setCursor ( 5,1 ) ; lcd.print ( g_array [ 1 ] ) ; lcd. setCursor ( 12,1 ) ; lcd.print ( g_array [ 2 ] ) ; / / led light if ( g_array [ 0 ] > 300 và và g_array [ 0 ] < 1700 và và g_array [ 0 ] > g_array [ 1 ] và và g_array [ 0 ] > g_array [ 2 ] ) {
digitalWrite ( ledRed, HIGH ) ;
digitalWrite ( ledBlu, LOW ) ;
digitalWrite ( ledGreen, LOW ) ;
}
if ( g_array [ 1 ] > 300 và và g_array [ 1 ] < 1700 và và g_array [ 1 ] > g_array [ 0 ] và và g_array [ 1 ] > g_array [ 2 ] ) {
digitalWrite ( ledRed, LOW ) ;
digitalWrite ( ledGreen, HIGH ) ;
digitalWrite ( ledBlu, LOW ) ;
}
if ( g_array [ 2 ] > 300 và và g_array [ 2 ] < 1700 và và g_array [ 2 ] > g_array [ 1 ] và và g_array [ 2 ] > g_array [ 0 ] ) {
digitalWrite ( ledRed, LOW ) ;
digitalWrite ( ledGreen, LOW ) ;
digitalWrite ( ledBlu, HIGH ) ;
}
delay ( 4000 ) ;
/ / reset led
digitalWrite ( ledRed, LOW ) ;
digitalWrite ( ledBlu, LOW ) ;
digitalWrite ( ledGreen, LOW ) ;
lcd. setCursor ( 0,0 ) ;
lcd.print ( ” ” ) ;
lcd. setCursor ( 0,1 ) ;
lcd.print ( ” ” ) ;
}

Kết quả : https://www.youtube.com/watch?v=Yut-6E_sX0s

Hướng dấn add thư viện Arduino

Tạo thư mục có tên giống như tên thư viện vào trong thư mực libraries của thư mục chứa Arduino, sau đó nén file có định dạnh Zip .

  Tiếp đó mở Arduno chọn Sketch tiếp chọn Include Library rồi chọn Add.Zip Library.. :

Sau đó chọn file. Zip bạn đã nén và Open .. và chờ đón hiệu quả ^. ^

Đây là link thư viện TimeOne … tại đây

Bạn có thể tham khảo mua hàng tại đây


Có thể bạn quan tâm
© Copyright 2008 - 2016 Dịch Vụ Bách khoa Sửa Chữa Chuyên nghiệp.
Alternate Text Gọi ngay