TCS3200顏色傳感器使用說明_第1頁
TCS3200顏色傳感器使用說明_第2頁
TCS3200顏色傳感器使用說明_第3頁
TCS3200顏色傳感器使用說明_第4頁
TCS3200顏色傳感器使用說明_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、  TCS3200顏色傳感器是一款全彩的顏色檢測器,包括了一塊TAOS TCS3200RGB感應(yīng)芯片和4個白光LED燈,TCS3200能在一定的范圍內(nèi)檢測和測量幾乎所有的可見光。它適合于色度計測量應(yīng)用領(lǐng)域。比如彩色打印、醫(yī)療診斷、計算機彩色監(jiān)視器校準以及油漆、紡織品、化妝品和印刷材料的過程控制。    通常所看到的物體顏色,實際上是物體表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反應(yīng)。白色是由各種頻率的可見光混合在一起構(gòu)成的,也就是說白光中包含著各種顏色的色光(如紅R、黃Y、綠G、青V、藍B、紫P)。根據(jù)德國

2、物理學(xué)家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三原色(紅、綠、藍)混合而成的。    由上面的三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對于TCS3200D 來說,當選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其它原色的通過。例如:當選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其它的濾波器,就可以得到藍色光和綠色光的光強。通過這三個光強值,就可以分析出反射到TCS3200D傳感器上的光的顏色。   TCS3200D

3、傳感器有紅綠藍和清除4種濾光器,可以通過其引腳S2和S3的高低電平來選擇濾波器模式,如下圖。     TCS3200D有可編程的彩色光到電信號頻率的轉(zhuǎn)換器,當被測物體反射光的紅、綠、藍三色光線分別透過相應(yīng)濾波器到達TAOS TCS3200RGB感應(yīng)芯片時,其內(nèi)置的振蕩器會輸出方波,方波頻率與所感應(yīng)的光強成比例關(guān)系,光線越強,內(nèi)置的振蕩器方波頻率越高。TCS3200傳感器有一個OUT引腳,它輸出信號的頻率與內(nèi)置振蕩器的頻率也成比例關(guān)系,它們的比率因子可以靠其引腳S0和S1的高低電平來選擇,如下圖。     這個測試實驗,我把TCS320

4、0傳感器OUT引腳輸出信號頻率與其內(nèi)置振蕩器頻率比率因子設(shè)為2%,有了輸出頻率比例因子,但是如何通過OUT引腳輸出信號頻率來換算出被測物體由三原色光強組成的RGB顏色值呢?這還需進行白平衡校正來得到RGB比例因子才行!     白平衡校正方法是:把一個白色物體放置在TCS3200顏色傳感器之下,兩者相距10mm左右,點亮傳感器上的4個白光LED燈,用Arduino控制器的定時器設(shè)置一固定時間1s,然后選通三原色的濾波器,讓被測物體反射光中紅、綠、藍三色光分別通過濾波器,計算1s時間內(nèi)三色光對應(yīng)的TCS3200傳感器OUT輸出信號脈沖數(shù)(單位時間的脈沖數(shù)包含了輸出信

5、號的頻率信息),再通過正比算式得到白色物體RGB值255與三色光脈沖數(shù)的比例因子。有了白平衡校正得到的RGB比例因子,則其它顏色物體反射光中紅、綠、藍三色光對應(yīng)的TCS3200輸出信號1s內(nèi)脈沖數(shù)乘以R、G、B比例因子,就可換算出了被測物體的RGB標準值了。     現(xiàn)在談?wù)劊绾芜M行TCS3200各控制引腳與Arduino控制器的硬件連線問題,下圖分別是TCS3200傳感器和其連線圖。 上圖中TCS3200傳感器各控制引腳與Arduino控制器數(shù)字端口連線的對應(yīng)關(guān)系,我設(shè)置為:#define S0     6&#

6、160;#define S1     5  #define S2     4  #define S3     3#define OUT   2                      #define LED&

7、#160;  7    當被測物體為不發(fā)光物體時,應(yīng)該把TCS3200的LED引腳設(shè)置為高電平,以點亮TCS3200傳感器電路板上的四個白光LED燈。    下文展示了一個帶有白平衡的測試程序,把這個程序下載到Arduino控制器中,同時把一個白色物體放置在TCS3200顏色傳感器之下,點亮傳感器上的4個白光LED燈,再打開Arduino IDE的串口監(jiān)視器,會出現(xiàn)下圖監(jiān)視畫面,可以在該畫面中找到白色物體RGB值255以及RGB比例因子。(可通過QQ截圖來鎖定畫面,以便觀察。)(雙擊圖片,可以放大看?。?#160;    把

8、白平衡時放置在TCS3200顏色傳感器之下白色物體拿走,放上另一個黃色物體,在Arduino IDE串口監(jiān)視器看到的這個黃色物體RGB值為233、157、56,如下圖所示。    打開電腦Windows操作系統(tǒng)自帶的畫圖板,點擊菜單欄“顏色”->“編輯顏色”->“規(guī)定自定義顏色”->右下角輸入RGB值,查看對應(yīng)的顏色與實際測試的顏色是否相符。實際測試結(jié)果是測得的物體顏色與實際顏色有些偏色,但并不影響區(qū)分出被測物體是哪種顏色的物體。    介紹完TCS3200傳感器顏色識別原理和其與Arduino控制器的硬件連線,以及如何利用串口監(jiān)視器找

9、到白平衡后的比例因子和被測物體的RGB值。下面展示的是Arduino測試程序。注意:下面的#include TimerOne.h> 要改為單括號形式。 Arduino程序:#include TimerOne.h> /申明庫文件/把TCS3200顏色傳感器各控制引腳連到Arduino數(shù)字端口#define S0    6   /物體表面的反射光越強,TCS3002D內(nèi)置振蕩器產(chǎn)生的方波頻率越高,#define S1    5  /S0和S1的組合決定輸出信號頻率比例因子,比例

10、因子為2%                 /比率因子為TCS3200傳感器OUT引腳輸出信號頻率與其內(nèi)置振蕩器頻率之比#define S2     4   /S2和S3的組合決定讓紅、綠、藍,哪種光線通過濾波器#define S3     3#define OUT    2  /TCS3200顏色

11、傳感器輸出信號連接到Arduino中斷0引腳,并引發(fā)脈沖信號中斷                  /在中斷函數(shù)中記錄TCS3200輸出信號的脈沖個數(shù)#define LED    7  /控制TCS3200顏色傳感器是否點亮LED燈float g_SF3;     /從TCS3200輸出信號的脈沖數(shù)轉(zhuǎn)換為RGB標準值的RGB比例因子int 

12、;  g_count = 0;  / 計算與反射光強相對應(yīng)TCS3200顏色傳感器輸出信號的脈沖數(shù)/ 數(shù)組用于存儲在1s內(nèi)TCS3200輸出信號的脈沖數(shù),它乘以RGB比例因子就是RGB標準值int   g_array3;  int   g_flag = 0;   / 濾波器模式選擇順序標志 / 初始化TSC3200各控制引腳的輸入輸出模式/設(shè)置TCS3002D的內(nèi)置振蕩器方波頻率與其輸出信號頻率的比例因子為2%void TSC_Init()  pinMode(S0, OUTP

13、UT);  pinMode(S1, OUTPUT);  pinMode(S2, OUTPUT);  pinMode(S3, OUTPUT);  pinMode(OUT, INPUT);  pinMode(LED, OUTPUT);  digitalWrite(S0, LOW);   digitalWrite(S1, HIGH); /選擇濾波器模式,決定讓紅、綠、藍,哪種光線通過濾波器void TSC_FilterColor(int Level01, int Level02)  if(Level0

14、1 != 0)    Level01 = HIGH;  if(Level02 != 0)    Level02 = HIGH;  digitalWrite(S2, Level01);  digitalWrite(S3, Level02); /中斷函數(shù),計算TCS3200輸出信號的脈沖數(shù)void TSC_Count()  g_count + ; /定時器中斷函數(shù),每1s中斷后,把該時間內(nèi)的紅、綠、藍三種光線通過濾波器時,/TCS3200輸出信號脈沖個數(shù)分別存儲到數(shù)組g_arra

15、y3的相應(yīng)元素變量中void TSC_Callback()  switch(g_flag)      case 0:         Serial.println("->WB Start");         TSC_WB(LOW, LOW);   /選擇讓紅色光線通過濾波器的模式    &#

16、160;    break;    case 1:         Serial.print("->Frequency R=");         Serial.println(g_count);   /打印1s內(nèi)的紅光通過濾波器時,TCS3200輸出的脈沖個數(shù)     &

17、#160;   g_array0 = g_count;    /存儲1s內(nèi)的紅光通過濾波器時,TCS3200輸出的脈沖個數(shù)         TSC_WB(HIGH, HIGH);  /選擇讓綠色光線通過濾波器的模式         break;    case 2:       

18、  Serial.print("->Frequency G=");         Serial.println(g_count);   /打印1s內(nèi)的綠光通過濾波器時,TCS3200輸出的脈沖個數(shù)         g_array1 = g_count;    /存儲1s內(nèi)的綠光通過濾波器時,TCS3200輸出的脈沖個數(shù)  

19、;       TSC_WB(LOW, HIGH);  /選擇讓藍色光線通過濾波器的模式         break;     case 3:         Serial.print("->Frequency B=");      

20、   Serial.println(g_count);   /打印1s內(nèi)的藍光通過濾波器時,TCS3200輸出的脈沖個數(shù)         Serial.println("->WB End");         g_array2 = g_count;     /存儲1s內(nèi)的藍光通過濾波器時,TCS3200輸出的脈沖個數(shù) &#

21、160;       TSC_WB(HIGH, LOW);   /選擇無濾波器的模式           break;   default:         g_count = 0;     /計數(shù)值清零       &

22、#160; break;  /設(shè)置反射光中紅、綠、藍三色光分別通過濾波器時如何處理數(shù)據(jù)的標志/該函數(shù)被TSC_Callback( )調(diào)用void TSC_WB(int Level0, int Level1)      g_count = 0;   /計數(shù)值清零  g_flag +;     /輸出信號計數(shù)標志  TSC_FilterColor(Level0, Level1); /濾波器模式  Timer1.setPeriod(10000

23、00);     /設(shè)置輸出信號脈沖計數(shù)時長1s/初始化void setup()  TSC_Init();  Serial.begin(9600); /啟動串行通信  Timer1.initialize();   / defaulte is 1s  Timer1.attachInterrupt(TSC_Callback); /設(shè)置定時器1的中斷,中斷調(diào)用函數(shù)為TSC_Callback()  /設(shè)置TCS3200輸出信號的上跳沿觸發(fā)中斷,中斷調(diào)用函數(shù)為TSC_Count() 

24、attachInterrupt(0, TSC_Count, RISING);  digitalWrite(LED, HIGH);/點亮LED燈  delay(4000); /延時4s,以等待被測物體紅、綠、藍三色在1s內(nèi)的TCS3200輸出信號脈沖計數(shù)  /通過白平衡測試,計算得到白色物體RGB值255與1s內(nèi)三色光脈沖數(shù)的RGB比例因子  g_SF0 = 255.0/ g_array0;     /紅色光比例因子  g_SF1 = 255.0/ g_array1 ;    /綠色光比例因子  g_SF2 = 255.0/ g_array2 ;    /藍色光比例因子  /打印白平衡后的紅、綠、藍三色的RGB比例因子  Serial.println(g_SF0,5);  Serial.println(g_SF1,5);  Serial.println(g_SF2,5);  /紅、綠、藍三色光分別對應(yīng)的1s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論