![TCS3200顏色傳感器使用說明.doc_第1頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/d2c43282-13c5-405b-acf5-2037509cb96a/d2c43282-13c5-405b-acf5-2037509cb96a1.gif)
![TCS3200顏色傳感器使用說明.doc_第2頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/d2c43282-13c5-405b-acf5-2037509cb96a/d2c43282-13c5-405b-acf5-2037509cb96a2.gif)
![TCS3200顏色傳感器使用說明.doc_第3頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/d2c43282-13c5-405b-acf5-2037509cb96a/d2c43282-13c5-405b-acf5-2037509cb96a3.gif)
![TCS3200顏色傳感器使用說明.doc_第4頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/d2c43282-13c5-405b-acf5-2037509cb96a/d2c43282-13c5-405b-acf5-2037509cb96a4.gif)
![TCS3200顏色傳感器使用說明.doc_第5頁](http://file1.renrendoc.com/fileroot_temp2/2020-3/10/d2c43282-13c5-405b-acf5-2037509cb96a/d2c43282-13c5-405b-acf5-2037509cb96a5.gif)
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
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ù)德國物理學(xué)家赫姆霍茲(Helinholtz)的三原色理論可知,各種顏色是由不同比例的三原色(紅、綠、藍)混合而成的。 由上面的三原色感應(yīng)原理可知,如果知道構(gòu)成各種顏色的三原色的值,就能夠知道所測試物體的顏色。對于TCS3200D 來說,當(dāng)選定一個顏色濾波器時,它只允許某種特定的原色通過,阻止其它原色的通過。例如:當(dāng)選擇紅色濾波器時,入射光中只有紅色可以通過,藍色和綠色都被阻止,這樣就可以得到紅色光的光強;同理,選擇其它的濾波器,就可以得到藍色光和綠色光的光強。通過這三個光強值,就可以分析出反射到TCS3200D傳感器上的光的顏色。 TCS3200D傳感器有紅綠藍和清除4種濾光器,可以通過其引腳S2和S3的高低電平來選擇濾波器模式,如下圖。 TCS3200D有可編程的彩色光到電信號頻率的轉(zhuǎn)換器,當(dāng)被測物體反射光的紅、綠、藍三色光線分別透過相應(yīng)濾波器到達TAOS TCS3200RGB感應(yīng)芯片時,其內(nèi)置的振蕩器會輸出方波,方波頻率與所感應(yīng)的光強成比例關(guān)系,光線越強,內(nèi)置的振蕩器方波頻率越高。TCS3200傳感器有一個OUT引腳,它輸出信號的頻率與內(nèi)置振蕩器的頻率也成比例關(guān)系,它們的比率因子可以靠其引腳S0和S1的高低電平來選擇,如下圖。 這個測試實驗,我把TCS3200傳感器OUT引腳輸出信號頻率與其內(nèi)置振蕩器頻率比率因子設(shè)為2%,有了輸出頻率比例因子,但是如何通過OUT引腳輸出信號頻率來換算出被測物體由三原色光強組成的RGB顏色值呢?這還需進行白平衡校正來得到RGB比例因子才行! 白平衡校正方法是:把一個白色物體放置在TCS3200顏色傳感器之下,兩者相距10mm左右,點亮傳感器上的4個白光LED燈,用Arduino控制器的定時器設(shè)置一固定時間1s,然后選通三原色的濾波器,讓被測物體反射光中紅、綠、藍三色光分別通過濾波器,計算1s時間內(nèi)三色光對應(yīng)的TCS3200傳感器OUT輸出信號脈沖數(shù)(單位時間的脈沖數(shù)包含了輸出信號的頻率信息),再通過正比算式得到白色物體RGB值255與三色光脈沖數(shù)的比例因子。有了白平衡校正得到的RGB比例因子,則其它顏色物體反射光中紅、綠、藍三色光對應(yīng)的TCS3200輸出信號1s內(nèi)脈沖數(shù)乘以R、G、B比例因子,就可換算出了被測物體的RGB標準值了。 現(xiàn)在談?wù)?,如何進行TCS3200各控制引腳與Arduino控制器的硬件連線問題,下圖分別是TCS3200傳感器和其連線圖。上圖中TCS3200傳感器各控制引腳與Arduino控制器數(shù)字端口連線的對應(yīng)關(guān)系,我設(shè)置為:#define S0 6#define S1 5#define S2 4#define S3 3#define OUT 2 #define LED 7 當(dāng)被測物體為不發(fā)光物體時,應(yīng)該把TCS3200的LED引腳設(shè)置為高電平,以點亮TCS3200傳感器電路板上的四個白光LED燈。 下文展示了一個帶有白平衡的測試程序,把這個程序下載到Arduino控制器中,同時把一個白色物體放置在TCS3200顏色傳感器之下,點亮傳感器上的4個白光LED燈,再打開Arduino IDE的串口監(jiān)視器,會出現(xiàn)下圖監(jiān)視畫面,可以在該畫面中找到白色物體RGB值255以及RGB比例因子。(可通過QQ截圖來鎖定畫面,以便觀察。)(雙擊圖片,可以放大看?。?把白平衡時放置在TCS3200顏色傳感器之下白色物體拿走,放上另一個黃色物體,在Arduino IDE串口監(jiān)視器看到的這個黃色物體RGB值為233、157、56,如下圖所示。 打開電腦Windows操作系統(tǒng)自帶的畫圖板,點擊菜單欄“顏色”-“編輯顏色”-“規(guī)定自定義顏色”-右下角輸入RGB值,查看對應(yīng)的顏色與實際測試的顏色是否相符。實際測試結(jié)果是測得的物體顏色與實際顏色有些偏色,但并不影響區(qū)分出被測物體是哪種顏色的物體。 介紹完TCS3200傳感器顏色識別原理和其與Arduino控制器的硬件連線,以及如何利用串口監(jiān)視器找到白平衡后的比例因子和被測物體的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的組合決定輸出信號頻率比例因子,比例因子為2% /比率因子為TCS3200傳感器OUT引腳輸出信號頻率與其內(nèi)置振蕩器頻率之比#define S2 4 /S2和S3的組合決定讓紅、綠、藍,哪種光線通過濾波器#define S3 3#define OUT 2 /TCS3200顏色傳感器輸出信號連接到Arduino中斷0引腳,并引發(fā)脈沖信號中斷 /在中斷函數(shù)中記錄TCS3200輸出信號的脈沖個數(shù)#define LED 7 /控制TCS3200顏色傳感器是否點亮LED燈float g_SF3; /從TCS3200輸出信號的脈沖數(shù)轉(zhuǎn)換為RGB標準值的RGB比例因子int 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, OUTPUT); 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(Level01 != 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_array3的相應(yīng)元素變量中void TSC_Callback() switch(g_flag) case 0:Serial.println(-WB Start); TSC_WB(LOW, LOW); /選擇讓紅色光線通過濾波器的模式 break; case 1:Serial.print(-Frequency R=); Serial.println(g_count); /打印1s內(nèi)的紅光通過濾波器時,TCS3200輸出的脈沖個數(shù) g_array0 = g_count; /存儲1s內(nèi)的紅光通過濾波器時,TCS3200輸出的脈沖個數(shù) TSC_WB(HIGH, HIGH); /選擇讓綠色光線通過濾波器的模式 break; case 2:Serial.print(-Frequency G=); Serial.println(g_count); /打印1s內(nèi)的綠光通過濾波器時,TCS3200輸出的脈沖個數(shù) g_array1 = g_count; /存儲1s內(nèi)的綠光通過濾波器時,TCS3200輸出的脈沖個數(shù) TSC_WB(LOW, HIGH); /選擇讓藍色光線通過濾波器的模式 break; case 3:Serial.print(-Frequency B=); Serial.println(g_count); /打印1s內(nèi)的藍光通過濾波器時,TCS3200輸出的脈沖個數(shù) Serial.println(-WB End); g_array2 = g_count; /存儲1s內(nèi)的藍光通過濾波器時,TCS3200輸出的脈沖個數(shù) TSC_WB(HIGH, LOW); /選擇無濾波器的模式 break; default: g_count = 0; /計數(shù)值清零 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(1000000); /設(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() 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內(nèi)TCS3200輸出脈沖數(shù)乘以相應(yīng)的比例因子就是RGB標準值 /打印被測物體的RGB值 for(int i=0; i3; i+) Serial.println(int(g_arrayi * g_SFi);/主程序void loop() g_flag = 0; /每獲得一次被測物體RGB顏色值需時4s delay(4000); /打印出被測物體RGB顏色值 for(int i=0; i3; i+) Serial.println(int(g_arrayi * g_SFi); 程序中的頭文件TimerOne.h文件請下載:/QnKIsvphPb4Mv 上面是帶有白平衡的測試程序,對于具體項目的應(yīng)用程序,要在此基礎(chǔ)上加以變動。如果TCS3200傳感器與被測物體的檢測距離以及周圍環(huán)境光線沒有發(fā)生大的變化,進行一次白平衡校正后,RGB比例因子就可
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度危險品運輸安全保證協(xié)議
- 二零二五年度園林景觀設(shè)計師勞動合同
- 2025年度電視劇主題曲演唱者演出合同
- 2025版公司勞動合同與員工薪酬績效體系
- 2025年度粉刷施工項目風(fēng)險評估合同
- 2025年度醫(yī)療健康產(chǎn)業(yè)股權(quán)置換退出撤資協(xié)議
- 護士白班崗位職責(zé)及流程
- Unit 6 How do you feel Part C Story time (說課稿)-2024-2025學(xué)年人教PEP版英語六年級上冊
- 2024年春九年級歷史下冊 第8單元 第17課 第三次科技革命說課稿 新人教版
- 2024秋八年級道德與法治上冊 第一單元 學(xué)習(xí)文明禮儀 第3課 交往禮儀 第2框 校園禮儀說課稿 蘇教版
- 營銷策劃 -嘉華鮮花餅「正宗」戰(zhàn)略重塑
- 解剖臺市場發(fā)展預(yù)測和趨勢分析
- DB14∕T 92-2010 M5、M15車用甲醇汽油
- 2024年醫(yī)師定期考核臨床類人文醫(yī)學(xué)知識考試題庫及答案(共280題)
- 2024年廣東省公務(wù)員考試《行測》真題及答案解析
- 上海市2024年中考化學(xué)真題(含答案)
- 物流公司員工守則以及管理制度
- 2024人形機器人產(chǎn)業(yè)半年研究報告
- 購買演唱會門票的合同模板
- 燃燒爆炸理論及應(yīng)用 課件 第1-3章 緒論、燃燒及其災(zāi)害、物質(zhì)的燃燒
- 事業(yè)單位網(wǎng)絡(luò)安全知識培訓(xùn)
評論
0/150
提交評論