顏色感測器模組 TCS3200D/TCS230 顏色識別感測器模組 適用:Arduino樹莓派及MCU開發板拓展 顏色感測器原理 : 1.TCS230採用8引腳的SOIC表面貼裝式封裝 2.單一晶片上集成有64個光電二極體共分四種類型。 16個光電二極體帶有紅色濾波器; 16個光電二極體帶有綠色濾波器; 16個光電二極體帶有藍色濾波器; 16個不帶有任何濾波器,可以透過全部的光資訊。
3.光電二極體在晶片內是交叉排列的,最大限度地減少入射光輻射的不均勻性 從而增加顏色識別的精確度 4.另一方面相同顏色的16個光電二極體是並聯連接分佈在二極體陣列中 可以消除顏色的位置誤差。 5.工作時通過兩個可程式設計的引腳來動態選擇所需要的濾波器。 感測器的典型輸出頻率範圍從2 Hz~500 kHz, 通過兩個可程式設計引腳來選擇100%、20%或2%的輸出比例因數或電源關斷模式。 6.輸出比例因數使感測器的輸出能夠適應不同的測量範圍,提高了它的適應能力。 例如:當使用低速的頻率計數器時,就可以選擇小的定標值, 使TCS230的輸出頻率和計數器相匹配。 產品規格:1、採用原裝進口晶片TCS3200 PCB板採用鍍金工藝 2、TCS3200是TCS230升級版本,效果更好 3、供電電源 3-5v 4、抗光干擾 5、白色LED,可控制亮,滅。 6、可檢測不發光物體顏色 7、PCB尺寸:(L)33mm*(W)25mm 發貨清單:感測器模組 1個 塑膠袋包裝 簡單的測試程式如下: #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit S0=P1^0; //S0,S1為設置輸出的占空比 sbit S1=P1^1; sbit S2=P1^3; //S2,S3為設置慮光的模式 sbit S3=P1^4; sbit OE=P1^2; //使能 void RS232_init() { TMOD=0X20; //計時器1工作在方式1 SCON=0x50; PCON=0X80; // TH1=TL1=0XFF;//22.1184M晶振,串列傳輸速率設置為115200 TR1=1; TI=0; RI=0; }
void send_char(uchar a) //發送資料 { SBUF=a; while(TI==0); TI=0; }
uchar get_char() //接收資料 { while(RI==0); RI=0; return SBUF; }
uint color_display(uchar m) { uint time,a; a=m; TMOD=0x61; //計數器1,計時器0工作在16位元方式 TH0=TL0=0; //從零開始計數,定時 TH1=TL1=0; S0=1; S1=1; S2=m&0x01; S3=m&0x02; OE=0; TR0=TR1=1; while(TL1<250); TR1=TR0=0; OE=1; time=TH0*256+TL0; return(time); } void main() { uint temp; RS232_init(); OE=1; while(1) { temp=color_display(get_char()); RS232_init(); send_char(temp/1000); send_char(temp%1000/100); send_char(temp%100/10); send_char(temp%10); } } 通過串口來選擇顏色種類的通道,再由於不同顏色對應不同的時間(計數值一樣) ,從而確定不同的顏色。
|