王凱+袁佳偉+吳文明
摘要:隨著科學(xué)技術(shù)的發(fā)展,自動(dòng)化技術(shù)已逐漸成熟,顏色辨識系統(tǒng)被廣泛應(yīng)用于各種工業(yè)檢測和自動(dòng)控制領(lǐng)域,而生產(chǎn)過程中長期以來由人眼起主導(dǎo)作用的顏色識別工作將越來越多地被相應(yīng)的顏色傳感器所替代。本文通過介紹STM32單片機(jī)控制TCS3200顏色傳感器測量到RGB值以后,進(jìn)行數(shù)據(jù)轉(zhuǎn)換并發(fā)送至串口液晶顯示模塊進(jìn)行顯示。
關(guān)鍵詞:RGB 顏色辨識;TCS3200;STM32微處理器
中圖分類號:TP65 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2017)05-0168-02
隨著現(xiàn)代工業(yè)生產(chǎn)向高速化、自動(dòng)化方向的發(fā)展,人們對于顏色的辨識不再僅僅通過肉眼來判斷,長時(shí)間接觸顏色不僅誤差很大還會(huì)一定程度上對眼睛造成傷害。因此,具有多種用途的顏色傳感器應(yīng)運(yùn)而生。本顏色識別系統(tǒng)工作穩(wěn)定,識別精度較好,可以用于人眼可分辨的物體或者光源顏色的識別。
1 方案設(shè)計(jì)
1.1 控制單元
選用STM32 F103C8T6芯片作為主控制單元,它具有功耗低、擴(kuò)展性好、升級空間大等特點(diǎn),同時(shí)它的定時(shí)器的硬件支持輸入捕獲功能,可以有效地測量顏色傳感器輸出頻率。
1.2 顏色辨識系統(tǒng)
顏色傳感器采用TCS3200,它是一個(gè)RGB顏色傳感器,能夠通過它的紅、綠、藍(lán)傳感器獲得三色值進(jìn)行光源或普通物體的顏色測量,測量精度較高,適用于民用領(lǐng)域。
1.3 測量原理
入射光照射到TCS3200的光電二極管陣列上時(shí),不同濾光片下的光電二極管根據(jù)不同的紅、藍(lán)、綠光的光照強(qiáng)度產(chǎn)生相應(yīng)的光電流,然后集成光-頻率轉(zhuǎn)換器將光電流轉(zhuǎn)換成頻率量供外部數(shù)字器件進(jìn)行讀取與計(jì)算,最后我們根據(jù)RGB色彩空間進(jìn)行顏色的計(jì)算。STM32微處理器控制TCS3200顏色傳感器測量到RGB值以后,進(jìn)行數(shù)據(jù)轉(zhuǎn)換并發(fā)送至串口液晶顯示模塊進(jìn)行顯示。
2 硬件設(shè)計(jì)
本顏色辨識系統(tǒng)是在基于微控制器STM32控制的基礎(chǔ)上,添加了TCS3200顏色采集模塊、頻率測試模塊、串口通信模塊、液晶顯示模塊。
2.1 硬件實(shí)現(xiàn)
硬件設(shè)計(jì)圖如圖1-3所示。
藍(lán)牙模塊上EN不接,GND接地,TXD接微處理器的PA9,RXD 接PA10,STATE接PA5,VCC接+5V 。
2.2 串口液晶模塊
串口液晶模塊采用了一塊2.2吋顯示屏,其分辨率為220*178,支持16位色彩即65536種顏色,顏色計(jì)算標(biāo)準(zhǔn)為RGB565。該模塊可以通過串口或者SPI與控制器進(jìn)行通訊,根據(jù)需要可自行更換通訊方式,使用較為方便。
3 軟件設(shè)計(jì)
系統(tǒng)軟件設(shè)計(jì)主要分為系統(tǒng)初始化程序、白平衡子程序、顏色采集子程序、轉(zhuǎn)換格式子程序。
3.1 流程圖(如圖4所示)
3.2 設(shè)計(jì)步驟
(1)TCS3200模塊的初始化。其主要內(nèi)容有:TCS3200 S0、S1、S2、S3與STM32 相應(yīng)I/O的配置,定時(shí)器TIM4的配置。
(2)Systick定時(shí)器的初始化。本設(shè)計(jì)中Systick定時(shí)器主要用于延時(shí)。
(3)串口的初始化。這里將串口波特率設(shè)置為115200。
(4)中斷優(yōu)先級分組。
(5)對TCS3200進(jìn)行白平衡。
(6)測量RGB值,并將RGB值輸出至串行顯示模塊進(jìn)行顯示。
(7)將RGB值轉(zhuǎn)換成RGB565在串行顯示模塊上顯示。
4 實(shí)驗(yàn)數(shù)據(jù)和分析(如表1所示)
對應(yīng)色卡測量數(shù)據(jù),同時(shí)在顯示屏上顯示了對應(yīng)的顏色,說明該系統(tǒng)能夠?qū)崿F(xiàn)顏色的再現(xiàn)。通過測量發(fā)現(xiàn),一次性采集的數(shù)據(jù)精確度不高,誤差比較大,需進(jìn)行多次測量求平均值才能減小誤差。
5 結(jié)語
本文通過介紹STM32單片機(jī)控制TCS3200顏色傳感器測量到RGB值以后,進(jìn)行數(shù)據(jù)轉(zhuǎn)換并發(fā)送至串口液晶顯示模塊進(jìn)行顯示。本顏色識別系統(tǒng)工作穩(wěn)定,識別精度較好,可以用于人眼可分辨的物體或者光源顏色的識別。
參考文獻(xiàn)
[1]史占東,鄧國慶,董美麗,等.基于RGB顏色傳感器的皮膚膽固醇檢測系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2012,34(7):50-53.
[2]潘海鴻,陳琳,黃炳瓊,等.基于TCS230傳感器的高精度顏色識別系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2009(6):84-86.
[3]張英華,李明海,趙傳峰,等.基于顏色傳感器的水硬度在線自動(dòng)測試儀的研制[J].分析儀器,2010(5):18-21.
[4]可榮碩.基于RGB色彩空間的顏色識別系統(tǒng)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2010,26:46-47.endprint