張孝芳
【摘 要】文章介紹了一種基于Arduino開發(fā)環(huán)境的顏色辨別系統(tǒng)。該系統(tǒng)以Arduino開源控制板為主控單元,與TCS3200顏色傳感器相結(jié)合,通過傳感器采集顏色信息,在Arduino IDE開發(fā)環(huán)境下進行程序調(diào)試、運行實現(xiàn)顏色識別。實驗結(jié)果表明該系統(tǒng)顏色辨別高效、準(zhǔn)確。
【關(guān)鍵詞】Arduino;TCS3200顏色傳感器; 顏色識別
中圖分類號:TH 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2018)36-0147-002
DOI:10.19694/j.cnki.issn2095-2457.2018.36.062
0 引言
顏色識別在現(xiàn)代生產(chǎn)中應(yīng)用越來越廣,例如醫(yī)療診斷、材料分揀識別、圖像處理、機器人視覺系統(tǒng)及其它一些需要對顏色識別的檢測。隨著科技水平的不斷提高,人類的生產(chǎn)生活逐漸向智能化轉(zhuǎn)變,各種顏色辨別裝置逐漸取代人眼識別工作,使得上述應(yīng)用實現(xiàn)自動化成為可能[1]。一般的顏色識別裝置是利用傳感器將光信號轉(zhuǎn)換為電,再對其處理并輸出,但輸出的是模擬量,還需增加A/D轉(zhuǎn)換裝置將模擬量轉(zhuǎn)換為數(shù)字信號后,最終輸出識別結(jié)果,因此電路比較復(fù)雜并且誤差較大,識別效果不佳。本文提出的基于Arduino平臺的顏色辨別系統(tǒng)是將Arduino與TCS3200顏色傳感器相連通過程序控制,簡化電路的同時極大的提高了識別的效率和準(zhǔn)確性。
1 顏色辨別系統(tǒng)硬件組成
本系統(tǒng)由TCS3200顏色傳感器、Arduino分析處理模塊、LED顏色指示燈及電源等組成,系統(tǒng)整體框圖如圖1所示。系統(tǒng)結(jié)構(gòu)簡單,Arduino控制板根據(jù)顏色傳感器檢測到的信號,在Arduino IDE開發(fā)環(huán)境下進行程序調(diào)試、運行,輸出顏色信號,控制相應(yīng)顏色指示燈閃爍。
1.1 Arduino 模塊
Arduino是比較流行的開源電子平臺,包含各種型號的Arduino硬件電路板和開發(fā)軟件環(huán)境Arduino IDE。Arduino編程語言類似于C,不需要太多的單片機及編程基礎(chǔ),極易掌握,靈活性強。本裝置采用的Arduino UNO硬件,核心是ATmega328P,同時具有14個數(shù)字輸入/輸出、6個模擬輸入/輸出、1個外接電源插孔及復(fù)位按鈕及1個USB接口,控制板可通過USB線與電腦連接,便于程序調(diào)試的同時還能為其供電、無需外接電源[2]。
1.2 顏色傳感器模塊
TCS3200傳感器是一款全彩的顏色檢測器,包括4個白光LED燈(起補光作用)和一塊RGB感應(yīng)芯片。顏色傳感器將檢測到的RGB光信號經(jīng)過光電二極管轉(zhuǎn)化為電流信號,再經(jīng)過電流-頻率轉(zhuǎn)換器輸出方波頻率信號。TCS3200引腳功能圖如下,采用8引腳的封裝,其中S2、S3用于選擇濾波器類型,S0、S1用于選擇輸出比例因子,均通過高低電平來選擇具體如表1所示。OE是頻率輸出使能引腳,OUT是頻率輸出引腳,GND是芯片接地引腳,VCC為芯片提供工作電壓[3]。各模塊與Arduino板連接的電路圖如圖2所示。
2 顏色辨別系統(tǒng)軟件設(shè)計
Arduino是開源電子平臺,是由硬件和軟件兩部分組成。其中Arduino硬件電路板可自行購買或焊接,而 Arduino IDE軟件編程語言類似于C語言,不需要太多的單片機及編程基礎(chǔ)對于絕大多數(shù)模塊的使用,可直接調(diào)用其標(biāo)準(zhǔn)的庫函數(shù)即可,對于初學(xué)者來說,操作簡單、易于上手[4]。系統(tǒng)初始化后,首先白平衡校正,求出紅、綠、藍(lán)三色的RGB比例因子。顏色傳感器是否進行顏色檢測,當(dāng)顏色傳感器檢測到物體顏色時,將信息反饋到Arduino 控制器中調(diào)用顏色識別子程序得出被測物體RGB值控制相應(yīng)顏色指示燈亮暗變化,識別結(jié)束。如果一次進行多種顏色識別則只需一次白平衡調(diào)整。程序流程圖如圖3所示:
2.2 顏色檢測子程序
根據(jù)顏色檢測原理,編寫相應(yīng)程序以實現(xiàn)顏色檢測高效、準(zhǔn)確的目的。程序主要有獲取TCS3200所測顏色三原色輸出信號脈沖數(shù)。
3 實驗結(jié)果
本系統(tǒng)能夠達(dá)到辨別物體顏色的目的,但測試受環(huán)境光線的影響,結(jié)果存在一定的誤差,同時系統(tǒng)電源必須是穩(wěn)定的5V直流電源,電源的波動同樣影響檢測結(jié)果。此外,傳感器檢測距離不能太遠(yuǎn),最佳測試距離為10mm。對于系統(tǒng)存在的問題可以通過優(yōu)化算法、改善環(huán)境光線、選擇最佳檢測距離來解決。
4 總結(jié)
經(jīng)由實驗發(fā)現(xiàn),Arduino平臺于TCS3200顏色傳感器交互的顏色辨別系統(tǒng)具有整體電路簡單辨識速度快、精度高等特點,通過不斷優(yōu)化程序,多次實驗測試,系統(tǒng)能夠達(dá)到對不同顏色快速準(zhǔn)確辨別的功能,可廣泛應(yīng)用于顏色檢測識別行業(yè),對現(xiàn)代工業(yè)的自動化發(fā)展具有跟大的研究開發(fā)價值。
【參考文獻(xiàn)】
[1]李宏光.幾種顏色測量方法的比較[J].應(yīng)用光學(xué),2005,26(3):62-63.
[2]蔡睿妍.Arduino的原理及應(yīng)用[J].電子設(shè)計工程,2012,(16):155-156.
[3]曹瓊.利用顏色傳感器TCS3200識別紅綠燈[J].電腦知識與技術(shù),2017,(7):181-182.
[4]紀(jì)欣然.基于Arduino開發(fā)環(huán)境的智能尋光小車設(shè)計[J].現(xiàn)代電子技術(shù),2012,35(15).