解旭東 龍光利
摘要:針對(duì)生產(chǎn)過(guò)程中由人眼起主導(dǎo)作用的顏色識(shí)別精度不高、眼睛容易疲勞等問(wèn)題,設(shè)計(jì)一種顏色識(shí)別電路,包括硬件和軟件兩部分。硬件部分由單片機(jī)最小系統(tǒng)、顏色采集模塊、液晶顯示模塊、語(yǔ)音錄放模塊等組成。軟件部分包括主程序、語(yǔ)音播報(bào)子程序、顏色采集子程序、液晶顯示子程序等。程序用C語(yǔ)言編寫,在keil4平臺(tái)編譯,通過(guò)后下載到單片機(jī)STC89C52上。將該單片機(jī)和其他元器件焊接在PCB板上,上電,顏色傳感器能對(duì)被測(cè)物體顏色(如白色、紅色、藍(lán)色、綠色、黃色、黑色等)進(jìn)行檢測(cè),液晶顯示屏能顯示被測(cè)物體的顏色,語(yǔ)音模塊可準(zhǔn)確播報(bào)所采集的顏色。
關(guān)鍵詞:顏色識(shí)別;單片機(jī);液晶顯示;語(yǔ)音播報(bào)
中圖分類號(hào) TM914.4? ? ?文獻(xiàn)標(biāo)識(shí)碼 A
文章編號(hào):1009-3044(2022)08-0001-03
1 引言
在彩色圖像中,人類識(shí)別彩色圖像的主要感知特征之一是顏色。與幾何特征相比,顏色特征對(duì)圖像的平移、縮放和旋轉(zhuǎn)非常穩(wěn)定,具有很強(qiáng)的魯棒性[1]。在當(dāng)今工業(yè)化社會(huì),顏色識(shí)別被廣泛應(yīng)用于不同行業(yè),如: 物體表面顏色識(shí)別(包含產(chǎn)品包裝顏色標(biāo)準(zhǔn)檢測(cè)、產(chǎn)品外觀特征顏色檢測(cè)、液體溶液顏色變化過(guò)程檢測(cè)與控制)、無(wú)人機(jī)車[2]、人臉檢測(cè)與識(shí)別、水果和蔬菜的自動(dòng)篩選及成熟度或新鮮度檢測(cè)、白細(xì)胞自動(dòng)識(shí)別、圖像內(nèi)容檢索等。
2 RGB顏色模型
人眼對(duì)一個(gè)物體的外在特征之一是顏色,與光譜分布有關(guān)。在可見(jiàn)光范圍內(nèi),波長(zhǎng)較長(zhǎng)的光在人眼中產(chǎn)生紅色的感覺(jué),波長(zhǎng)較短的光產(chǎn)生藍(lán)色的感覺(jué),而中等波長(zhǎng)的光則產(chǎn)生綠色的感覺(jué)。根據(jù) Helinholtz 的三基色理論,每種顏色是三基色(紅、綠、藍(lán))的不同比例的混合物[3],所以在測(cè)量顏色時(shí),可以通過(guò)測(cè)量一種顏色中 R、G、B 三基色的比例來(lái)識(shí)別。每種顏色可以用三種基本顏色,以不同的比例混合。RGB 顏色模型如圖1所示。xyz 軸分別對(duì)應(yīng)于 R (紅色)、 G (綠色)和 B (藍(lán)色)。原點(diǎn)(0,0,0)對(duì)應(yīng)黑色,頂點(diǎn)(255,255,255)對(duì)應(yīng)白色。立方體的其他六個(gè)角分別是紅色、黃色、綠色、青色、藍(lán)色和品紅色,每個(gè) RGB 值對(duì)應(yīng)一個(gè)唯一的顏色[4-5]。
3 硬件設(shè)計(jì)
設(shè)計(jì)的顏色識(shí)別電路硬件部分主要由單片機(jī)最小系統(tǒng)、顏色采集電路、液晶顯示電路、語(yǔ)音播報(bào)電路組成。單片機(jī)最小系統(tǒng)主要由STC89C52單片機(jī)、復(fù)位電路、時(shí)鐘電路構(gòu)成。
3.1 顏色采集電路設(shè)計(jì)
顏色采集電路采用TCS3200D模塊[6],其工作原理為: 入射光反射到光電二極管,光線由光電二極管轉(zhuǎn)換為電流模擬信號(hào),在A/D轉(zhuǎn)換電路中經(jīng)過(guò)信號(hào)放大后轉(zhuǎn)換成數(shù)字信號(hào),最后發(fā)送至單片機(jī)進(jìn)行處理。設(shè)計(jì)的TCS3200D與單片機(jī)的接口圖如圖2所示。TCS3200D模塊采用8引腳的SOIC表面貼裝式封裝,將64個(gè)光電二極管集成在一個(gè)芯片上,識(shí)別顏色時(shí),先將所檢測(cè)物體中的紅光、綠光、藍(lán)光的強(qiáng)度轉(zhuǎn)換成脈沖信號(hào),然后根據(jù)3種顏色所占的比例計(jì)算出被測(cè)量物體的顏色。
3.2 液晶顯示電路設(shè)計(jì)
液晶顯示電路采用工業(yè)字符型液晶LCD1602[7],顯示內(nèi)容為16×2,并且能同時(shí)顯示兩行,每行16個(gè)字符。設(shè)計(jì)的 LCD1602與單片機(jī)的接口圖如圖3所示。
3.3 語(yǔ)音播報(bào)電路的設(shè)計(jì)
語(yǔ)音播報(bào)電路采用集單片機(jī)、語(yǔ)音電路、SPI-Flash 存儲(chǔ)器于一體的可編程語(yǔ)音模塊WT588D[8],設(shè)計(jì)的語(yǔ)音播報(bào)電路如圖4所示。在三線串口模式下,GND接地,VDD和VCC接5V電壓,P01,P02,P03分別與單片機(jī)P3.0,P3.1,P3.2口相連。選擇DAC輸出方式作為音頻輸出,音頻信號(hào)從DAC端輸出,經(jīng)過(guò)R6、C6、C9后輸出到功放。R6為分流電阻,取值270Ω~1.2kΩ,阻值越大則輸出聲音越大。
4 軟件設(shè)計(jì)
4.1 主程序設(shè)計(jì)
顏色識(shí)別電路主程序設(shè)計(jì)中分別定義了語(yǔ)音播報(bào)子程序、顏色采集子程序、液晶顯示子程序、延時(shí)子程序等。主程序通過(guò)調(diào)用這幾個(gè)子程序?qū)崿F(xiàn)設(shè)計(jì)要求的功能。延時(shí)子程序穿插于各個(gè)子程序之間頻繁調(diào)用,主程序流程圖如圖5所示。程序開(kāi)始運(yùn)行時(shí),先進(jìn)行初始化,進(jìn)入顏色采集子程序進(jìn)行白平衡采集顏色數(shù)據(jù),將采集到的顏色發(fā)送至單片機(jī)處理,再進(jìn)入液晶顯示子程序,在液晶顯示屏顯示RGB數(shù)值和顏色名稱,最后進(jìn)入語(yǔ)音播報(bào)子程序,語(yǔ)音播報(bào)顏色名稱。若按下復(fù)位鍵則再次運(yùn)行主程序。
4.2 顏色采集子程序設(shè)計(jì)
單片機(jī)STC89C52對(duì)顏色采集模塊TCS3200D的控制需要通過(guò)程序驅(qū)動(dòng)來(lái)實(shí)現(xiàn),程序主要完成兩方面的任務(wù):利用單片機(jī)實(shí)現(xiàn)對(duì)TCS3200D進(jìn)行初始化,并對(duì)其寄存器的地址定義和控制字的寫入;實(shí)現(xiàn)對(duì)TCS3200D的數(shù)據(jù)讀取。初始化TCS3200D要求SCLK和 [RST]都為低電平。TCS3200D子程序流程圖如圖6所示。
4.3 語(yǔ)音播報(bào)子程序設(shè)計(jì)
語(yǔ)音播報(bào)子程序選擇三線串口模式,三線串口控制模式由數(shù)據(jù)DATA、時(shí)鐘SCK 和片選CS組成, 時(shí)序模仿標(biāo)準(zhǔn)的SPI 通信方式[8],語(yǔ)音播報(bào)子程序流程圖如圖7所示。
4.4 液晶顯示子程序設(shè)計(jì)
液晶顯示子程序主要實(shí)現(xiàn)對(duì)信息的顯示,第一行為RGB所對(duì)應(yīng)的數(shù)值,第二行為所檢測(cè)出采集的顏色,液晶顯示子程序流程如圖8所示。
5 實(shí)驗(yàn)結(jié)果
5.1 Proteus仿真
在仿真軟件平臺(tái)Proteus上設(shè)計(jì)電路圖[9],利用Keil軟件編譯程序,通過(guò)后導(dǎo)入Proteus中進(jìn)行調(diào)試,用一個(gè)脈沖發(fā)生器來(lái)代替顏色識(shí)別模塊,將采集到的信號(hào)傳至單片機(jī),通過(guò)A/D轉(zhuǎn)換模塊轉(zhuǎn)成數(shù)字信號(hào),最后用數(shù)碼管顯示出模擬采集的數(shù)值大小,仿真電路圖如圖9所示。由圖9中看出數(shù)碼管可以顯示脈沖大小,整個(gè)電路可以正常運(yùn)行,即可以仿真正常顏色采集的數(shù)值大小。250460BF-818D-4010-ABDD-39EB0C58E054
5.2 硬件制作與調(diào)試
制作一個(gè)STC89C52單片機(jī)最小系統(tǒng),由單片機(jī)底座、10k電阻,兩個(gè)22pF電容,一個(gè)滑動(dòng)變阻器等組成,將語(yǔ)音播報(bào)電路WT588D和液晶顯示電路LCD1602各個(gè)引腳與單片機(jī)引腳焊接。在顏色傳感器四周安裝塑料支柱,以便采集顏色。通電調(diào)試,顏色識(shí)別電路的調(diào)試如圖10所示。通過(guò)顏色傳感器采集脈沖,在顯示屏上顯示出了RGB三個(gè)數(shù)值和所對(duì)應(yīng)的顏色并語(yǔ)音播報(bào)出所采集的顏色名稱。
6 結(jié)束語(yǔ)
針對(duì)目前市場(chǎng)上的顏色識(shí)別系統(tǒng)價(jià)格昂貴、笨重難以攜帶、檢測(cè)不穩(wěn)定等問(wèn)題,設(shè)計(jì)了一種顏色識(shí)別電路,特點(diǎn)是單片機(jī)為核心,能進(jìn)行顏色識(shí)別,可液晶顯示所測(cè)物體RGB數(shù)值和對(duì)應(yīng)顏色,并可進(jìn)行語(yǔ)音播報(bào)。
參考文獻(xiàn):
[1] 潘海鴻,陳琳,黃炳瓊,等.基于TCS230傳感器的高精度顏色識(shí)別系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009,25(16):159-161.
[2] 李富強(qiáng),張同莊,于澤寬.TCS3200在機(jī)器人短跑競(jìng)賽中的應(yīng)用[J].電子設(shè)計(jì)工程,2013,21(15):159-161.
[3] 蔣瑞挺.察“顏”觀“色”的利器——顏色識(shí)別系統(tǒng)[J].電子制作,2011(9):33-35,58.
[4] 蔡詠梅,郭文強(qiáng),張琳琳.RGB空間平均顏色矢量法在顏色識(shí)別中的研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(5):177-179.
[5] 高富強(qiáng),李嶺,安康.基于RGB的顏色辨識(shí)系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,31(10):84-87.
[6] 張菁,楊應(yīng)平,章金敏,等.基于TCS3200D的顏色再現(xiàn)與分類[J].武漢大學(xué)學(xué)報(bào)(工學(xué)版),2013,46(2):257-260.
[7] 林嘉.基于89S52的LCD1602程序設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012,8(26):6376-6378.
[8] 王春武,劉春玲,秦政坤,等.基于WT588D模塊的語(yǔ)音播報(bào)系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2012,38(1):115-117,121.
[9] 鐘健,王豐元,張明杰,等.基于Proteus仿真的無(wú)線溫度檢測(cè)系統(tǒng)低功耗研究[J].現(xiàn)代電子技術(shù),2018,41(17):112-115.
【通聯(lián)編輯:梁書】250460BF-818D-4010-ABDD-39EB0C58E054