




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 碼頭貨物運輸合同
- 工程熱力學(xué)模擬試答題
- 企業(yè)內(nèi)部年度財務(wù)分析報告
- 寓言故事烏鴉喝水的啟示讀后感
- 企業(yè)知識產(chǎn)權(quán)保護及維權(quán)服務(wù)協(xié)議
- 年度目標達成報告
- 大數(shù)據(jù)挖掘在輿情監(jiān)控中的應(yīng)用實踐指南
- 如何正確使用辦公軟件提高效率
- 太陽能光伏發(fā)電系統(tǒng)安裝合同
- 人與自然紀錄片評析和諧共生的啟示
- 牛羊定點屠宰廠項目可行性研究報告寫作模板-申批備案
- 2025年黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及答案1套
- 某工程通風(fēng)空調(diào)工程施工方案
- 遼寧省五校聯(lián)考2024-2025學(xué)年高二上學(xué)期期末英語試卷(解析版)
- 2025年湖南食品藥品職業(yè)學(xué)院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年泰山職業(yè)技術(shù)學(xué)院高職單招數(shù)學(xué)歷年(2016-2024)頻考點試題含答案解析
- 近岸海上柔性光伏支架結(jié)構(gòu)研究
- 2025年廣西投資集團有限公司招聘筆試參考題庫含答案解析
- 2024年華北電力大學(xué)輔導(dǎo)員及其他崗位招聘考試真題
- 2024年湖北省煙草專賣局(公司)招聘考試真題
- 青島版科學(xué)四年級下冊《認識太陽》課件
評論
0/150
提交評論