颜色传感器TCS3200及颜色识别电路
颜色传感器
颜色识别模块TCS230 颜色传感器块TCS3200TCS3200D 颜色模块颜色传感器供电电源3~5V,抗光干扰,白色LED,可控制亮灭,可检测不发光物体颜色使用TCS3200 实际上就是检测频率例如只要把TC1的时钟设为外部时钟时钟引脚连接TCS3200的OUT脚用不同的预分频对应检测RGB三个分量定时读取TCNT1就可得到频率通过频率就能计算到颜色用ATMEGA16几个I/O引脚去控制S0-S3去切换不同的频率档TCS3200已经可以成功地捕获输出频率。
但现在存在的问题是,这个传感器对光线似乎非常敏感,因此杂光干扰比较严重,其内置的滤色二极管几乎起不到分辨颜色的作用,通过示波器能看到OUT输出频率变化比较大。
由于我需要分辨的东西自身不能发光(贴纸),因此识别它的颜色变得更加困难。
除非你把探头做成探头形状或在漆黑的环境否则你无法避免其它光线的干扰另外在算法上也要有滤除强光的作用把颜色光线提取出来由于TCS3200本身并没有对光线进行动态适应的因此在算法上就显得更需复杂STC89C52单片机STC89C52单片机简介STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
基于TCS3200芯片的颜色识别语音报警系统及其应用
• 139•设计了一种基于TCS3200颜色传感器和wtn6040语音芯片的颜色检测及语音提示系统。
并依次利用白平衡、颜色的RGB值获取、RGB到HSV颜色空间转换,对传感器输出信号进行处理,最终得到代表颜色的色调H、饱和度S、亮度V三个值,从而准确判断出物体的颜色并进行语音播报提示。
最后探讨了该颜色检测系统在工农业生产、特殊人群生活辅助等方面的应用。
引言:现实中的颜色多种多样,构成了丰富多彩的视觉世界。
但人的肉眼能识别的颜色种类很有限,还有色盲、盲人等特殊人群对颜色没有分辨和感知能力。
在生产、生活中也经常需要对各种颜色进行准确检测,以控制生产过程或者方便某些生活需求。
但现实世界中颜色的种类繁多,并且受光照、亮度等环境因素的影响,对颜色的识别就更难做到精确准确。
考虑到这种现实情况,本文利用最新的专业颜色检测芯片,设计开发了一种自动颜色检测系统,并利用语音合成芯片对检测的颜色进行直观的语音播报提示,同时可以和上位机通讯,在上位机上进行颜色实时显示,并集中控制一些与颜色有关的过程参数。
1 系统方案设计本系统采用TCS3200专业颜色传感器模块作为颜色感测器件,利用单片机AT89C4051进行控制及数据采集,通过运算转换成颜色的标准RGB值,再通过RGB到HSV颜色空间的转换,得到符合人眼实际视觉习惯的色度H、饱和度S、亮度V值,从而准确判断出实际的颜色种类。
同时通过合成语音芯片WTN6040,同步播放出对应的颜色语音提示,并可以通过RS 232串行通信接口上传到上位机控制系统进行显示和相关控制。
图1是总体方案设计框图。
1.1 TCS3200芯片简介TCS3200是一款可编程光到频率的转换器芯片。
它把硅光电二极管、电流频率转换器以及红绿蓝(RGB)滤光器集成在一个单一CMOS电路上。
TCS3200的输出信号是数字频率脉冲,可直接与微处理器或其他逻辑电路相连接,使电路变得简单。
TCS3200芯片采用8引脚的SOIC表面贴装式封装,见图2所示。
基于TCS3200的颜色检测装置设计及光路优化
基于TCS3200的颜色检测装置设计及光路优化许超;李佳;林轶凡【摘要】In production and daily life, the color detection automation has gradually replaced the traditional recognition with human eyes. Through the study of the color sensor principle, a kind of color detection device is designed, which can directly read the color information, using STC89C52 as the controller, TCS3200 as the detection of color signals and LCD1602 as the results display to realize the fast color detection. According to the test data, this paper analyses the measurement results caused by the deviation under the influence of different light source, and proposes an improved method for optical path. The experimental results show that the device is small, the circuitry is simple, and has a certain industrial practical value.%在生产生活中颜色检测自动化已经逐步取代了传统的人眼识别.通过对颜色传感器原理的研究,设计了一种可直接读取颜色信息的检测装置,以STC89C52作为控制器、TCS3200用于检测颜色信号、LCD1602显示结果,实现快速颜色检测.并根据测试数据分析在不同光源影响下对测量结果造成的偏差,提出光路改进方法.实验表明,该设计装置电路简单、体积小巧,具有一定的工业实用价值.【期刊名称】《微处理机》【年(卷),期】2017(038)001【总页数】4页(P79-82)【关键词】RGB原理;单片机;传感器;颜色检测;光路;测量环境【作者】许超;李佳;林轶凡【作者单位】辽宁大学物理学院,沈阳110036;辽宁大学物理学院,沈阳110036;辽宁大学物理学院,沈阳110036【正文语种】中文【中图分类】TP23颜色检测自动化已经在生产、生活中得到了广泛应用,如遥感技术、质量监测等领域[1-3]。
颜色传感器模块讲解PPT
目录
1.硬件功能:颜色传感器功能 2.软件编程:白平衡与RGB转换
分类:色标传感器,RGB传感器
1.色标传感器:
色标传感器将物体颜色与参考颜色相比较来实现色标检测。 色标传感器实际是一种反向装置,光源垂直于目标物体安 装,而接收器与物体成锐角方向安装,让它只检测来自目标 物体的散射光.
RGB =(R*1000/8225<<11)|(G*1000/4047<<5) |(B*1000/8225)
11111 其他格式还有:
111111 0xFFFF
11111
编程思路 main函数
边沿触发 外部中断
LCD显示
网上演示视频 /v_show/id_XNDY1NDEwMTQ0.html
绿 (20ms)
(20ms)
蓝 (20ms)
平光
光
光
衡 红色比例因子
绿色比例因子 蓝色比例因子
设计思路 白 平 衡
红 (20ms) 绿 (20ms)
光
光
蓝(20ms) 光
红色比例因子 绿色比例因子 蓝色比例因子
红 光 (20ms) 扫 描
修正R值 (0<R<255)
绿 光 (20ms) 扫 描
修正G值 (0<G<255)
分类:色标传感器,RGB传感器
2. RGB传感器:
RGB传感器通过检测目标物体对三基色的反 射比率,从而鉴别物体颜色,将物体的表面颜 色转换成相应的电压或频率输出。
RGB传感器常见结构:
集成芯片
LED 遮光罩
光的三原色
RGB表示:
黑色:# 000000 白色:# FFFFFF
利用 TCS3200D 实现颜色信号的采集、识别和还原
利用 TCS3200D 实现颜色信号的采集、识别和还原金雪尘;黄亮;吕游【摘要】This paper discusses the use of TCS3200D color sensor to collect color signal which is to be transferred to PC after being processed by SCM STC12C5608 and then reduced on the display by computer software.The system is of high precision,speedy detection,low cost and good stability,which can be widely applied in the field of color identification and reduction.%设计采用TCS3200 D颜色传感器采集颜色信号,通过STC12C5608单片机处理后将信号传送给PC机,再由PC机通过软件在显示器上实现颜色信号的还原。
该设计系统具有精度高、检测快、成本低、稳定性好等优点。
【期刊名称】《常州工学院学报》【年(卷),期】2015(000)003【总页数】4页(P19-22)【关键词】颜色传感器;数据采集;信号识别;信号还原【作者】金雪尘;黄亮;吕游【作者单位】常州工学院理学院,江苏常州 213002;常州工学院理学院,江苏常州 213002;常州工学院理学院,江苏常州 213002【正文语种】中文【中图分类】TP274.2颜色信号的采集、识别和还原在工、农业生产及科研、教育、卫生等领域有着较为广泛的应用[1-3]。
如,检测农作物叶片表面颜色,可以判断农作物的生长情况[4];检测与精确识别纺织品颜色可提高纺织品的质量;医疗卫生领域正尝试通过检测人体某部分的颜色判断身体是否健康[5]。
TCS3200和51单片机实现RGB颜色采集
颜色采集模块 TCS3200
频率信号
8052单片机 数据传输 硬 件 驱 动
1602液晶显示数据
原理图
软件设计
系统初始化 重置计数器, 开始定时
定时时间到?
大循环
读取计数器 的脉冲统计 数据
驱动1602,写数据
换算成RGB值,写入变量 送入串口发送寄存器
技术细节
• • • • P0传输数据到1602 T0定时1ms,方式1 ,中断变化1 T1计数,11.0592M晶振,P3.5输入 T1复用波特率发生器,9600bit/s 8位无校 验,一位停止位 • Uart数据格式:XXXXXXXXX/ (字符型 RGB值共9位,/标示结束)
TAOS公司生产的光到频率集成转换器将全部 电路做成模块,可以对相应的滤光镜选通,输出 频率信号,体积小,集成度高,精确性好。
本作品利用TCS3200型号传感器芯片实现颜色的拾取和显示。
TCS3200介绍
TCS3200把可配置的硅光电二极管与电流频 率转换器集成在一个CMOS电路上,采用8引脚 表面贴装式封装,集成了64个光电二极管,分 为4种类型:带红、绿、蓝滤波器的三种和不带 任何滤波器的一种,每种有16个二极管组成, 交叉排列,平均分布在芯片上。 同时可以通过S1-S4引脚编程实现控制,包括 选择输出频率的高低和滤波器的选通。
• 进一步完善软件支持,将颜色值转换成语 言文字,为色弱人群提供辅助 例如: 识别为”猩红” (220,20,60)
色盲眼中 识别为”水鸭色” (0,128,128 )
• 应用于化学检测领域,实现测量自动化
…… ……
基于TCS3200的RGB颜色采集 和在线显示系统
项目背景
在现代工业和自动化中,颜色的识 别经历了从人眼主导的判断到传感器识 别的发展。应用十分广泛,例如:产品 生产线上根据颜色进行分拣,印刷品颜 色的矫正,化学实验中对颜色变化的识 别。
(完整版)TCS3200颜色传感器使用说明资料.doc
TCS3200 颜色传感器是一款全彩的颜色检测器,包括了一块 TAOS TCS3200RGB 感应芯片和 4 个白光 LED 灯, TCS3200 能在一定的范围内检测和测量几乎所有的可见光。
它适合于色度计测量应用领域。
比如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制。
通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光 (日光 ) 中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。
白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光 (如红R、黄Y、绿 G、青 V、蓝 B、紫 P)。
根据德国物理学家赫姆霍兹 (Helinholtz) 的三原色理论可知,各种颜色是由不同比例的三原色 (红、绿、蓝 )混合而成的。
由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。
对于 TCS3200D 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。
例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。
通过这三个光强值,就可以分析出反射到 TCS3200D 传感器上的光的颜色。
TCS3200D 传感器有红绿蓝和清除 4 种滤光器,可以通过其引脚 S2 和 S3 的高低电平来选择滤波器模式,如下图。
TCS3200D 有可编程的彩色光到电信号频率的转换器,当被测物体反射光的红、绿、蓝三色光线分别透过相应滤波器到达 TAOS TCS3200RGB感应芯片时,其内置的振荡器会输出方波,方波频率与所感应的光强成比例关系,光线越强,内置的振荡器方波频率越高。
TCS3200 传感器有一个 OUT 引脚,它输出信号的频率与内置振荡器的频率也成比例关系,它们的比率因子可以靠其引脚 S0 和 S1 的高低电平来选择,如下图。
(完整版)TCS3200颜色传感器说明颜色检测色谱检测
TCS3200颜色传感器测试实验TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAOSTCS3200RGB感应芯片和4个白光LED灯,TCS3200能在一定的范围内检测和测量几乎所有的可见光。
它适合于色度计测量应用领域。
比如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制。
通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。
白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。
根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。
由上面的三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。
对于TCS3200D 来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。
例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。
通过这三个光强值,就可以分析出反射到TCS3200D传感器上的光的颜色。
TCS3200D传感器有红绿蓝和清除4种滤光器,可以通过其引脚S2和S3的高低电平来选择滤波器模式,如下图。
TCS3200D有可编程的彩色光到电信号频率的转换器,当被测物体反射光的红、绿、蓝三色光线分别透过相应滤波器到达TAOS TCS3200RGB感应芯片时,其内置的振荡器会输出方波,方波频率与所感应的光强成比例关系,光线越强,内置的振荡器方波频率越高。
TCS3200传感器有一个OUT引脚,它输出信号的频率与内置振荡器的频率也成比例关系,它们的比率因子可以靠其引脚S0和S1的高低电平来选择,如下图。
这个测试实验,我把TCS3200传感器OUT引脚输出信号频率与其内置振荡器频率比率因子设为2%,有了输出频率比例因子,但是如何通过OUT引脚输出信号频率来换算出被测物体由三原色光强组成的RGB颜色值呢?这还需进行白平衡校正来得到RGB比例因子才行!白平衡校正方法是:把一个白色物体放置在TCS3200颜色传感器之下,两者相距10mm左右,点亮传感器上的4个白光LED灯,用Arduino控制器的定时器设置一固定时间1s,然后选通三原色的滤波器,让被测物体反射光中红、绿、蓝三色光分别通过滤波器,计算1s时间内三色光对应的TCS3200传感器OUT输出信号脉冲数(单位时间的脉冲数包含了输出信号的频率信息),再通过正比算式得到白色物体RGB值255与三色光脉冲数的比例因子。
利用颜色传感器TCS3200识别红绿灯
利用颜色传感器TCS3200识别红绿灯作者:曹琼来源:《电脑知识与技术》2017年第07期摘要;随着科学技术的发展,颜色检测从人工检测发展到采用各种颜色仪器检测,其中检测仪器常采用颜色传感器。
TCS3200是最新的一种颜色传感器,它测量速度快、数字化、易编程控制和干抗扰等诸多优点被广泛应用。
关键词:颜色传感器;三基色;TCS3200中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2017)07-0181-02三基色RGB色彩模式常被作为颜色标准,即通过对三个颜色通道之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色。
因此,检测出了颜色信号中的红、绿、蓝比例值就是检测出了颜色。
颜色检测识别在工业生产中的应用越来越深入,但是以往的颜色检测主要是依靠人工进行,这种方法受照明条件、背景亮度、测色人员主观上和心理上的差异等各种因素影响,缺乏准确性,所以随着科学技术的发展,各种检测颜色仪器纷纷出现。
常用的颜色检测仪器有两种方法:第一种是基于机器视觉的颜色检测是从视图中获得颜色数据的,麻烦的是必须对图像进行各种预处理,因此此种颜色检测较为复杂且价高;第二种是基于颜色传感器的颜色检测,此种方法较为常用,现在常用颜色传感器有RGB颜色传感器和色标传感器两种基本类型。
目前常用的颜色传感器通常是把经过修正的红绿蓝滤光片覆盖在独立的光电二极管上,需要对输出信号进行相应的处理才能将颜色信号识别出来。
TAOS公司推出了此类的颜色传感器,其中现在最新的就是TCS3200,与以前进行比较有许多优点:反应速度快,检测的不同颜色时可通过编程设置改变,使用方便,数字量输出,能采集、放大信号,内部有A/D,可直接连接单片机。
1系统硬件设计系统由颜色传感器模块、单片机、蜂鸣器组成,基本原理如图1所示。
1.1颜色传感器模块电路TCS3200有8引脚,采用SOIC表面贴装式封装,在一个芯片上集成光电二极管有64个,共分为四种不同颜色,64个全部交叉排列在芯片上,其中相同颜色的是均匀分布且并联连接。
基于TCS3200颜色识别的自动分拣系统解读
目录摘要 (2)关键词 (2)一、前言 (2)二、系统硬件结构 (3)(一)、步进电机 (3)1.定义 (3)2.特点 (3)3.原理 (3)4.实物 (4)(二)、颜色传感器TCS3200 (4)1.结构框图 (4)2.原理 (5)3.应用中需要注意的问题 (6)4.引脚功能 (6)(三)、单片机STC89C52 (6)1.功能概述 (7)2.引脚功能及其分布图 (7)(四)、液晶显示1602 (8)1.简介 (9)2.管脚功能 (9)3.操作控制 (9)4.实物 (10)(五)、语音播报WT588D (10)1.功能概述 (10)2.引脚分布及实物 (11)(六)、霍尔开关传感器 (11)1.原理 (11)2.电磁特性 (12)3.产品特点及应用 (13)4.实物 (13)(七)、红外线 (13)1.工作原理 (13)2.主要应用及实物 (13)(八)、其它 (14)三、系统软件示意 (14)1.系统示意图 (14)2.软件流程图 (15)3.算法流程图 (15)4.编程软件 (16)5.原理图及PCB (16)6.核心原理 (17)四、实验结论 (17)五、致谢 (18)六、附录 (18)参考文献 (22)基于TCS3200颜色识别的自动分拣系统(电子信息工程专业091 梁启涛)摘要:本系统主要是利用自然界的三基色原理,利用颜色传感器采集小球的RGB,从而利用步进电机的角度旋转对物体进行自动分拣。
是以STC89C52为主处理器,以TCS3200作为颜色传感器,以WT588D-16为语音播报模块,用 1602液晶显示器来显示小球的RGB给人以视觉上的辨别,以及霍尔传感器监测步进电机回位与红外线检测是否有小球组成的系统是将电流信号先转换为脉冲频率信号,在转换为数字信号的系统。
在人眼的视察能力的基础上,步进能满足工业中精确测量和控制颜色的需要,而且快捷方便,能够准确的获得物体的颜色信息。
在工业颜色检测上,拥有广泛的前景。
基于51的tcs3200颜色辨别
基于51的tcs3200颜色辨别,用lcd1602显示数据,并根据相对数据进行颜色辨别,先用1602查看每种颜色对应的数据,再通过这些数据设定范围,然后通过P2^2、P2^3、P2^4三盏LED灯显示对应的三种颜色,程序复制直接可用,具体调试范围在下面#include <reg52.h> //51寄存器文件#include <intrins.h>#define uchar unsigned char#define uint unsigned intvoid conversion(uint temp_data) ;void t0_init();/**引脚定义**/sbit s2=P1^0; //TCS3200 S2sbit s3=P1^1; //TCS3200 S3sbit Rled = P2^4;sbit Bled = P2^3;sbit Gled = P2^2;sbit E0 = P1^2;//变量、常量定义uchar ge,shi,bai ;uchar rp=3,gp=6,bp=9,tt=0; //定义比例因子,具体环境可以修改//颜色标志位(0:红1:绿2:蓝)uint temp;//显示数组uchar disp_R[3]={0,0,0}; //红uchar disp_G[3]={0,0,0}; //绿uchar disp_B[3]={0,0,0}; //蓝int sumR,sumB,sumG,count=0;typedef unsigned char BYTE; //用BYTE代替unsigned chartypedef bit BOOL; // 用BOOL代替bitsbit LCD_RS = P2^7; //复位端sbit LCD_RW = P2^6; //写数据端sbit LCD_EP = P2^5; //使能端/****************延时函数************************/ void delay(int ms){ //延时子程序int i;while(ms--){for(i = 0; i< 100; i++){_nop_(); //空执行_nop_();_nop_();_nop_();}}}/****************侧忙函数************************/ BOOL lcdcm(){BOOL result;LCD_RS = 0;LCD_RW = 1;LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80); //检测P0最高位是否为1 LCD_EP = 0;return result;//返回侧忙结果}/****************写命令函数************************/void lcdcom8(int cmd){ // 写入指令数据到LCD while(lcdcm());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd; //将高4位位指令通过P0口传给1602_nop_();_nop_(); //用于产生一个脉冲宽度_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}void lcdcom(int cmd){ // 写入指令数据到LCDwhile(lcdcm());LCD_RS = 0;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();P0 = cmd; //将高4位位指令通过P0口传给1602_nop_();_nop_(); //用于产生一个脉冲宽度_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;P0 = (cmd&0x0f)<<4; //将低4位指令通过P0口传给1602 _nop_();_nop_(); //用于产生一个脉冲宽度_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}// void lcd_pos(BYTE pos)// { //设定显示位置// lcdcom(pos | 0x80);// }/****************写数据函数************************/ void lcddat(BYTE dat){ //写入字符显示数据到LCDwhile(lcdcm());LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;P0 = dat ; //将高4位数据通过P0口传给1602_nop_();_nop_(); //用于产生一个脉冲宽度_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;LCD_RS = 1;LCD_RW = 0;LCD_EP = 0;_nop_();_nop_();_nop_();_nop_();P0 = (dat&0x0f)<<4; //将低4位位数据通过P0口传给1602 _nop_();_nop_(); //用于产生一个脉冲宽度_nop_();_nop_();LCD_EP = 1;_nop_();_nop_();_nop_();_nop_();LCD_EP = 0;}void init() //LCD初始化设定lcdcom8(0x38); //16*2显示,5*7点阵,8位数据delay(1);lcdcom8(0x38); //16*2显示,5*7点阵,8位数据delay(1);lcdcom8(0x28); //16*2显示,5*7点阵,8位数据delay(1);lcdcom(0x28);delay(1);lcdcom(0x0c); //显示开,关光标delay(1);lcdcom(0x02); //显示开,关光标delay(1);lcdcom(0x01); //清除LCD的显示内容delay(1);}void t0_init(){TMOD=0x51; //T1计数T0定时工作方式1TH1=0x00; //计数初值TL1=0x00;TH0=0xE0;TL0=0x00; //11。
CJMCU-M125_TCS3200颜色传感器模块
delay(10); InitLcd(); s2=0; s3=0; t0_init();
//lcd 初始化 //初始设定 S2 引脚 //初始设定 S3 引脚
//定时计数初使化
while(1) {
DisplayOneChar(0,0,'G');
DisplayOneChar(1,0,':');
DisplayOneChar(2,0,disp_G[0]);
//11。0592M 晶振 10ms //开中断
ET0=1; TR0=1; TR1=1; }
//启动
//********************************************* //数值转换出个十百千的 ASCII 码
//*********************************************
//*********写一个字符数据到指定的目标*********** void DisplayOneChar(uchar X,uchar Y,uchar DData)
{ Y&=1; X&=15; if(Y)X|=0x40; X|=0x80; WriteCommandLCM(X,0); WriteDataLCM(DData);
DisplayOneChar(3,0,disp_G[1]);
DisplayOneChar(4,0,disp_G[2]);
//绿
DisplayOneChar(6,0,'B'); DisplayOneChar(7,0,':'); DisplayOneChar(8,0,disp_B[0]); DisplayOneChar(9,0,disp_B[1]); DisplayOneChar(10,0,disp_B[2]); //蓝
利用 TCS3200D 实现颜色信号的采集、识别和还原
利用 TCS3200D 实现颜色信号的采集、识别和还原
金雪尘;黄亮;吕游
【期刊名称】《常州工学院学报》
【年(卷),期】2015(000)003
【摘要】设计采用TCS3200 D颜色传感器采集颜色信号,通过STC12 C5608单片机处理后将信号传送给PC机,再由PC机通过软件在显示器上实现颜色信号的还原。
该设计系统具有精度高、检测快、成本低、稳定性好等优点。
【总页数】4页(P19-22)
【作者】金雪尘;黄亮;吕游
【作者单位】常州工学院理学院,江苏常州 213002;常州工学院理学院,江苏常州 213002;常州工学院理学院,江苏常州 213002
【正文语种】中文
【中图分类】TP274.2
【相关文献】
1.股道占用智能识别系统信号采集的实现 [J], 李剑波;高晓蓉
2.利用UDP技术实现信号采集程序与信号处理程序之间的数据通信 [J], 杨悦城;蔡坚勇;林潇;林宏心;戴甜;杨辉
3.应用多线程技术实现串行通信与信号采集识别的同步 [J], 甄君;卫强;于耀
4.利用无线通信实现两种电梯速度信号采集的研究 [J], 陈成华;林晓明
5.利用无线通信实现两种电梯速度信号采集的研究 [J], 陈成华;林晓明;
因版权原因,仅展示原文概要,查看原文内容请购买。
【精品】颜色传感器TCS3200及颜色识别电路
颜色传感器TCS3200及颜色识别电路随着现代工业生产向高速化、自动化方向的发展,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。
例如:图书馆使用颜色区分对文献进行分类,能够极大地提高排架管理和统计等工作;在包装行业,产生包装利用不同的颜色和装潢来表示其不同的性质或用途。
目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。
TAOS(TexasAdvancedOptoelectronicSolutions)公司最新推出的颜色传感器TCS3200,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。
1.TCS3200芯片的结构框图与特点:TCS3200是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图1是TCS3200的引脚和功能框图。
图1中,TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。
基于TCS3200传感器的颜色辨识系统设计
系统软件设计主要分为系统初始化程序、白平衡子程序、颜色 采集子程序、转换格式子程序。
3.1 流程图(如图4所示) 3.2 设计步骤 (1)TCS3200模块的初始化。其主要内容有:TCS3200 S0、S1、 S2、S3与STM32 相应I/O的配置,定时器TIM4的配置。 (2)Systick定时器的初始化。本设计中Systick定时器主要用于 延时。 (3)串口的初始化。这里将串口波特率设置为115200。 (4)中断优先级分组。 (5)对TCS3200进行白平衡。 (6)测量RGB值,并将RGB值输出至串行显示模块进行显示。 (7)将RGB值转换成RGB565在串行显示模块上显示。
1 方案设计
1.1 控制单元 选用STM32 F103C8T6芯片作为主控制单元,它具有功耗低、 扩展性好、升级空间大等特点,同时它的定时器的硬件支持输入捕
获功能,可以有效地测量颜色传感器输出频率。 1.2 颜色辨识系统 颜色传感器采用TCS3200,它是一个RGB颜色传感器,能够通
过它的红、绿、蓝传感器获得三色值进行光源或普通物体的颜色测 量,测量精度较高,适用于民用领域。
4 实验数据和分析(如表1所示)
图4 程序流程图
该系统能够实现颜色的再现。通过测量发现,一次性采集的数据精 确度不高,误差比较大,需进行多次测量求平均值才能减小误差。
5 结语
本文通过介绍STM32单片机控制TCS3200颜色传感器测量到 RGB值以后,进行数据转换并发送至串口液晶显示模块进行显示。 本颜色识别系统工作稳定,识别精度较好,可以用于人眼可分辨的 物体或者光源颜色的识别。 参考文献
测量到RGB值以后,进行数据转换并发送至串口液晶显示模块进行显示。
关键词:RGB 颜色辨识;TCS3200;STM32微处理器
基于TCS3200颜色传感器实验报告
4)串口传输波特率为 9600bps,通过设置定时器 T2 来发生波特率。 5)LCD1602 显示和串口发送 RGB 值均需要拆成 8 位 ASCII 码发送,串口发送 8 位字符是因为 vc 控件这样设置。 6)串口发送的格式为:axxxxxxxxx。其中 9 个 x 为 RGB 值,a 为标识符。
S0 S1 输出频率比例系数
S2 S3 光电二极管类型
L L 关断
L L 红色
L H 2%
L H 蓝色
H L 20%
H L 清除(无滤波)
H H 100%
H H 绿色
表 1 S0、S1、S2、S3 引脚功能分配图
(2)软件设计 程序流程图如图 4。
系统初始化
是否已经 白平衡?
否
是
白平衡子程序
是否进行 数据采集
《生物医学传感器》实验报告
颜色传感器 TCS3200 应用设计
1、实验要求:基于颜色传感器 TCS3200,设计一颜色检测传感系统,包括系统 硬件电路及软件设计,实现对颜色的数字化检测和结果显示,显示出颜色的 RGB 值及合成后的颜色条。 2、设计内容: (1)硬件电路设计
系统采用 STC89C52 为主控芯片,TCS3200 芯片为颜色颜色采集芯片,52 芯片直接与 TCS3200 芯片的第 6 脚连接。TCS3200 芯片所采集的颜色数据,直 接传送到 STC89C52 主控芯片中,由 STC89C52 处理颜色的 RGB 值,将处理的 数据通过串口传送到上位机进行显示。其原理图如图 1。
绿
80
108
94
表 2 实验测得的 RGB 值
实验测试现象结果如下图 5: 图 5. 实验测试效果
4、结论: 总体上,基于 TCS3200D 的颜色传感器基本能实现颜色 RGB 的
基于TCS3200颜色传感器的色彩识别器的设计本科毕业论文
本科毕业论文题目基于TCS3200颜色传感器的色彩识别系统的设计学院信息科学技术学院专业电子信息工程毕业届别2013届姓名指导教师职称讲师XXXXXXXXX大学教务处制二〇一三年五月目录摘要 (i)关键词 (iii)Abstract (iiiv)Key words (iiiv)1绪论 (1)1.1研究背景 (1)1.2色彩识别及颜色传感器技术的发展趋势 (1)1.2.1颜色识别技术的研究成果 (1)1.2.2国内颜色传感器的研究成果与动态 (3)1.3本论文的主要工作及意义 (4)2颜色识别及颜色传感器技术介绍 (5)2.1色彩识别 (5)2.2色彩识别算法 (5)2.2.1色彩识别的应用 (5)2.2.2色彩识别一般算法 (5)2.3颜色传感器技术 (6)2.3.1颜色检测的难点 (6)2.3.2颜色传感器 (7)2.4 本章小结 (12)3基于TCS3200的硬件设计 (13)3.1AT89S52单片机简介 (13)3.1.1AT89S52的主要性能和参数 (13)3.1.2AT89S52的主要功能 (14)3.2TCS3200颜色识别原理简介 (16)3.2.1 TCS3200芯片的结构框图与特点 (16)3.2.2 TCS3200识别颜色的原理 (18)3.3液晶显示器LCD1602简介 (19)3.3.1 字符型液晶显示模块CA1602A的外观与引脚 (19)3.3.2 指令格式与指令功能 (20)3.3.3 LCD显示器的初始化 (21)3.4本章小结 (22)4色彩识别器系统的设计与实现 (23)4.1系统结构框图 (23)4.2AT89S52单片机最小系统 (24)4.3TCS3200驱动模块的设计 (25)4.4TCS3200颜色采集模块的设计 (27)4.4.1TCS3200颜色采集模块与52单片机的接口 (27)4.4.2TCS3200颜色采集模块的软件设计 (28)4.54个白色LED补光模块的设计 (31)4.6LCD1602液晶显示模块 (31)4.6.1LCD1602液晶显示模块硬件设计 (32)4.6.2LCD1602液晶显示模块软件设计 (32)4.7本章小结 (34)5色彩识别系统的实验 (35)5.1色彩识别的实验过程 (35)5.2实验结果分析 (35)5.3本章小结 (36)6结论与展望 (37)6.1结论 (37)6.2 展望 (37)参考文献 (38)致谢 (40)附录1 程序代码 (41)附录2电路图 (48)基于TCS3200颜色传感器的色彩识别系统的设计王明(XXXX大学信息科学技术学院电子信息工程专业,陕西西安,650000)摘要:随着科技的发展,现代工业生产向高速化、自动化方向不断进步,色彩识别技术已经广泛应用于各种工业检测和自动控制领域,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。
微雪电子Color Sensor TCS3200 用户手册说明书
Color Sensor用户手册1.产品特性表1. 产品特性原理:TCS3200D的功能框图:TCS3200D有四种滤波器类型:红,绿,蓝和清除全部光信息。
当入射光投射到传感器上时,通过光电二极管控制引脚S2,S3的电平组合,可以选通不同的滤波器,如下表所示:表2. S2,S3电平组合表3. S0,S1电平组合TCS3200D光传感器对红绿蓝三种颜色的敏感度是不相同的,导致它检测纯白色的时候,得到的红绿蓝三个数值(RGB)输出并不一定是255,因此在上电之后的2秒内,会进行白平衡调整。
流程如下:①将白色的纸放置在传感器的上方1CM处,给LED端口接入高电平,使四个高亮白色LED发光。
②程序依次选通R,G,B滤波器,分别测得红色,绿色和蓝色的值。
③计算出需要的三个调整参数。
并自动调整白平衡。
2.主要用途颜色排序、感应与校准环境光、测试条阅读和颜色匹配等。
3.接口说明表4. 接口说明4.操作与现象下面,以接入我们的开发板为例。
①②表5. 模块接入STM32开发板表6. 模块接入Arduino表7. 串口配置③将白纸放置在传感器四个高亮白色LED一面(下称正面)的上方1CM处。
④给开发板上电。
此时LED端口接入高电平,四个高亮白色LED点亮。
⑤上电之后等待2秒钟以上(此时正在调整白平衡)。
⑥调整结束以后,把传感器正面对着待测物体,串口输出对应的RGB数据,参考颜色对照表,可知探测到的颜色。
5.注意事项①颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果,最好把Color Sensor和光源等放置在一个封闭、无反射的盒子中测试。
②每次Color Sensor模块重启或者更换光源时,都需要进行白平衡调整。
6.RGB颜色对照表■RGB(255,192,203) ■★●◆pink■RGB(220,20,60) ■★●◆crimson■RGB(255,240,245) ■★●◆lavenderblush■RGB(219,112,147) ■★●◆palevioletred■RGB(255,105,180) ■★●◆hotpink■RGB(199,21,133) ■★●◆mediumvioletred■RGB(218,112,214) ■★●◆orchid■RGB(216,191,216) ■★●◆thistle■RGB(221,160,221) ■★●◆plum■RGB(238,130,238) ■★●◆violet■RGB(255,0,255) ■★●◆magenta■RGB(255,0,255) ■★●◆fuchsia■RGB(139,0,139) ■★●◆darkmagenta■RGB(128,0,128) ■★●◆purple■RGB(186,85,211) ■★●◆mediumorchid■RGB(148,0,211) ■★●◆darkviolet■RGB(75,0,130) ■★●◆indigo■RGB(138,43,226) ■★●◆blueviolet■RGB(147,112,219) ■★●◆mediumpurple■RGB(123,104,238) ■★●◆mediumslateblue ■RGB(106,90,205) ■★●◆slateblue■RGB(72,61,139) ■★●◆darkslateblue■RGB(230,230,250) ■★●◆lavender■RGB(248,248,255) ■★●◆ghostwhite■RGB(0,0,255) ■★●◆blue■RGB(0,0,205) ■★●◆mediumblue■RGB(25,25,112) ■★●◆midnightblue■RGB(0,0,139) ■★●◆darkblue■RGB(0,0,128) ■★●◆navy■RGB(65,105,225) ■★●◆royalblue■RGB(100,149,237) ■★●◆cornflowerblue ■RGB(176,196,222) ■★●◆lightsteelblue■RGB(119,136,153) ■★●◆lightslategray■RGB(112,128,144) ■★●◆slategray■RGB(30,144,255) ■★●◆dodgerblue■RGB(240,248,255) ■★●◆aliceblue■RGB(70,130,180) ■★●◆steelblue■RGB(135,206,250) ■★●◆lightskyblue■RGB(135,206,235) ■★●◆skyblue■RGB(0,191,255) ■★●◆deepskyblue■RGB(173,216,230) ■★●◆lightblue■RGB(176,224,230) ■★●◆powderblue■RGB(95,158,160) ■★●◆cadetblue■RGB(240,255,255) ■★●◆azure■RGB(224,255,255) ■★●◆lightcyan■RGB(175,238,238) ■★●◆paleturquoise■RGB(0,255,255) ■★●◆cyan■RGB(0,255,255) ■★●◆aqua■RGB(0,206,209) ■★●◆darkturquoise■RGB(47,79,79) ■★●◆darkslategray■RGB(0,139,139) ■★●◆darkcyan■RGB(0,128,128) ■★●◆teal■RGB(72,209,204) ■★●◆mediumturquoise■RGB(64,224,208) ■★●◆turquoise■RGB(127,255,212) ■★●◆aquamarine■RGB(102,205,170) ■★●◆mediumaquamarine ■RGB(0,250,154) ■★●◆mediumspringgreen■RGB(245,255,250) ■★●◆mintcream■RGB(0,255,127) ■★●◆springgreen■RGB(60,179,113) ■★●◆mediumseagreen■RGB(46,139,87) ■★●◆seagreen■RGB(240,255,240) ■★●◆honeydew■RGB(144,238,144) ■★●◆lightgreen■RGB(152,251,152) ■★●◆palegreen■RGB(143,188,143) ■★●◆darkseagreen■RGB(50,205,50) ■★●◆limegreen■RGB(0,255,0) ■★●◆lime■RGB(34,139,34) ■★●◆forestgreen■RGB(127,255,0) ■★●◆chartreuse■RGB(124,252,0) ■★●◆lawngreen■RGB(173,255,47) ■★●◆greenyellow■RGB(85,107,47) ■★●◆darkolivegreen■RGB(154,205,50) ■★●◆yellowgreen■RGB(107,142,35) ■★●◆olivedrab■RGB(245,245,220) ■★●◆beige■RGB(250,250,210) ■★●◆lightgoldenrodyellow ■RGB(255,255,240) ■★●◆ivory■RGB(255,255,224) ■★●◆lightyellow■RGB(255,255,0) ■★●◆yellow■RGB(128,128,0) ■★●◆olive■RGB(189,183,107) ■★●◆darkkhaki■RGB(255,250,205) ■★●◆lemonchiffon■RGB(238,232,170) ■★●◆palegoldenrod■RGB(240,230,140) ■★●◆khaki■RGB(255,215,0) ■★●◆gold■RGB(255,248,220) ■★●◆cornsilk■RGB(218,165,32) ■★●◆goldenrod■RGB(184,134,11) ■★●◆darkgoldenrod■RGB(255,250,240) ■★●◆floralwhite■RGB(253,245,230) ■★●◆oldlace■RGB(245,222,179) ■★●◆wheat■RGB(255,228,181) ■★●◆moccasin■RGB(255,165,0) ■★●◆orange■RGB(255,239,213) ■★●◆papayawhip■RGB(255,235,205) ■★●◆blanchedalmond■RGB(255,222,173) ■★●◆navajowhite■RGB(210,180,140) ■★●◆tan■RGB(222,184,135) ■★●◆burlywood■RGB(255,228,196) ■★●◆bisque■RGB(255,140,0) ■★●◆darkorange■RGB(250,240,230) ■★●◆linen■RGB(205,133,63) ■★●◆peru■RGB(244,164,96) ■★●◆sandybrown■RGB(210,105,30) ■★●◆chocolate■RGB(192,14,235) ■★●◆chocolatesaddlebrown ■RGB(255,245,238) ■★●◆seashell■RGB(160,82,45) ■★●◆sienna■RGB(255,160,122) ■★●◆lightsalmon■RGB(255,127,80) ■★●◆coral■RGB(255,69,0) ■★●◆orangered■RGB(255,99,71) ■★●◆tomato■RGB(255,228,225) ■★●◆mistyrose■RGB(250,128,114) ■★●◆salmon■RGB(255,250,250) ■★●◆snow■RGB(240,128,128) ■★●◆lightcoral■RGB(188,143,143) ■★●◆rosybrown■RGB(205,92,92) ■★●◆indianred■RGB(255,0,0) ■★●◆red■RGB(165,42,42) ■★●◆brown■RGB(178,34,34) ■★●◆firebrick■RGB(139,0,0) ■★●◆darkred■RGB(128,0,0) ■★●◆maroon■RGB(255,255,255)■RGB(245,245,245) ■★●◆whitesmoke■RGB(220,220,220) ■★●◆gainsboro■RGB(211,211,211) ■★●◆lightgrey■RGB(192,192,192) ■★●◆silver■RGB(169,169,169) ■★●◆darkgray■RGB(105,105,105) ■★●◆dimgray■RGB(0,0,0) ■★●◆black。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
颜色传感器TCS3200及颜色识别电路
随着现代工业生产向高速化、自动化方向的发展,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。
例如:图书馆使用颜色区分对文献进行分类,能够极大地提高排架管理和统计等工作;在包装行业,产生包装利用不同的颜色和装潢来表示其不同的性质或用途。
目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。
TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的颜色传感器TCS3200,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。
1 .TCS3200芯片的结构框图与特点:
TCS3200是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS 逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图1是TCS3200的引脚和功能框图。
图1中,TCS3200采用8引脚的SOIC表面贴装式封装,在单一芯片上集成有64个光电二极管,这些二极管分为四种类型,其16个光电二极管带有红色滤波器;16个光电二极管带有绿色滤波器;16个光电二极管带有蓝色滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电二极管在芯片内是交叉排列的,能够最大限度地减少入射光辐射的不均匀性,从而增加颜色识别的精确度;另一方面,相同颜色的16个光电二极管是并联连接的,均匀分布在二极管阵列中,可以消除颜色的位置误差。
工作时,通过两个可编程的引脚来动态选择所需要的滤波器,该传感器的典型输出频率范围从2Hz-500kHz,用户还可以通过两个可编程引脚来选择100%、20%或2%的输出比例因子,或电源关断模式。
输出比例因子使传感器的输出能够适应不同的测量范围,提高了它的适应能力。
例如,当使用低速的频率计数器时,就可以选择小的定标值,使TCS3200的输出频率和计数器相匹配。
从图1可知:当入射光投射到TCS3200上时,通过光电二极管控制引脚S2、S3的不同组合,可以选择不同的滤波器;经过电流到频率转换器后输出不同频率的方波(占空比是50%),不同的颜色和光强对应不同频率的方波;还可以通过输出定标控制引脚S0、S1,选择不同的输出比例因子,对输出频率范围进行调整,以适应不同的需求。
下面简要介绍TCS3200芯片各个引脚的功能及它的一些组合选项。
S0、S1用于选择输出比例因子或电源关断模式;S2、S3用于选择滤波器的类型;OE反是频率输出使能引脚,可以控制输出的状态,当有多个芯片引脚共用微处理器的输出引脚时,也可以作为片选信号,OUT 是频率输出引脚,GND是芯片的接地引脚,VCC为芯片提供工作电压,表1是S0、S1及S2、S3的可用组合。
2 .TCS3200识别颜色的原理
由上面的介绍可知,这种可编程的彩色光到频率转换器适合于色度计测量应用领域,如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制和色彩配合。
下面以TCS3200在液体颜色识别中的应用为例,介绍它的具体使用。
首先了解一些光与颜色的知识。
(1)三原色的感应原理
通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。
白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。
根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。
(2)TCS3200识别颜色的原理
由三原色感应原理可知,如果知道构成各种颜色的三原色的值,就能够知道所测试物体的颜色。
对于TCS3200来说,当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其他原色的通过。
例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同时,选择其他的滤波器,就可以得到蓝色光和绿色光的光强。
通过这三个值,就可以分析投射到TCS3200传感器上的光的颜色。
(3)白平衡和颜色识别原理
白平衡就是告诉系统什么是白色。
从理论上讲,白色是由等量的红色、绿色和蓝色混合而成的;但实际上,白色中的三原色并不完全相等,并且对于TCS3200的光传感器来说,它对这三种基本色的敏感性是不相同的,导致TCS3200的RGB输出并不相等,因此在测试前必须进行白平衡调整,使得TCS3200对所检测的"白色"中的三原色是相等的。
进行白平衡调整是为后续的颜色识别作准备。
在本装置中,白平衡调整的具体步骤和方法如下:将空的试管放置在传感器的上方,试管的上方放置一个白色的光源,使入射光能够穿过试管照射到TCS3200上;根据前面所介绍的方法,依次选通红色、绿色和蓝色滤波器,分别测得红色、绿色和蓝色的值,然后就可计算出需要的3个调整参数。
当TCS3200识别颜色时,就用这3个参数对所测颜色的R、G和B进行调整。
这里有两种方法来计算调整参数:1、依次选通三颜色的滤波器,然后对TCS3200的输出脉冲依次进行计数。
当计数到255时停止
计数,分别计算每个通道所用的时间,这些时间对应于实际测试时TCS3200每种滤波器所采用的时间基准,在这段时间内所测得的脉冲数就是所对应的R、G和B的值。
2、设置定时器为一固定时间(例如10ms),然后选通三种颜色的滤波器,计算这段时间内TCS3200的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为255。
在实际测试时,室外同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的R、G和B的值。
3 应用中需要注意的问题
1、颜色识别时要避免外界光线的干扰,否则会影响颜色识别的结果,最好把传感器、光源等放置在一个密闭、无反射的箱子中进行测试。
2、对光源没有特殊的要求,但是光源发出的光要尽量集中,否则会造成传感器之间的相互干扰。
3、当第1次使用TCS3200时,或TCS3200识别模块重启、更换光源等情况时,都需要进行白平衡调整。