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传感器的颜色辨识系统设计

基于TCS3200传感器的颜色辨识系统设计

基于TCS3200传感器的颜色辨识系统设计作者:王凯袁佳伟吴文明来源:《数字技术与应用》2017年第05期摘要:随着科学技术的发展,自动化技术已逐渐成熟,颜色辨识系统被广泛应用于各种工业检测和自动控制领域,而生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。

本文通过介绍STM32单片机控制TCS3200颜色传感器测量到RGB值以后,进行数据转换并发送至串口液晶显示模块进行显示。

关键词:RGB 颜色辨识;TCS3200;STM32微处理器中图分类号:TP65 文献标识码:A 文章编号:1007-9416(2017)05-0168-02随着现代工业生产向高速化、自动化方向的发展,人们对于颜色的辨识不再仅仅通过肉眼来判断,长时间接触颜色不仅误差很大还会一定程度上对眼睛造成伤害。

因此,具有多种用途的颜色传感器应运而生。

本颜色识别系统工作稳定,识别精度较好,可以用于人眼可分辨的物体或者光源颜色的识别。

1 方案设计1.1 控制单元选用STM32 F103C8T6芯片作为主控制单元,它具有功耗低、扩展性好、升级空间大等特点,同时它的定时器的硬件支持输入捕获功能,可以有效地测量颜色传感器输出频率。

1.2 颜色辨识系统颜色传感器采用TCS3200,它是一个RGB颜色传感器,能够通过它的红、绿、蓝传感器获得三色值进行光源或普通物体的颜色测量,测量精度较高,适用于民用领域。

1.3 测量原理入射光照射到TCS3200的光电二极管阵列上时,不同滤光片下的光电二极管根据不同的红、蓝、绿光的光照强度产生相应的光电流,然后集成光-频率转换器将光电流转换成频率量供外部数字器件进行读取与计算,最后我们根据RGB色彩空间进行颜色的计算。

STM32微处理器控制TCS3200颜色传感器测量到RGB值以后,进行数据转换并发送至串口液晶显示模块进行显示。

2 硬件设计本颜色辨识系统是在基于微控制器STM32控制的基础上,添加了TCS3200颜色采集模块、频率测试模块、串口通信模块、液晶显示模块。

TCS3200和51单片机实现RGB颜色采集

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在机器人短跑竞赛中的应用

TCS3200在机器人短跑竞赛中的应用

移 动 机 器 人 的 研 究 始 于 上 个 世 纪 中期 。 随 着 图像 识 别 、
传 感 器 和 微 电 子 技 术 的发 展 。 机 器 人 的 应 用 领 域 也 越 来 越 广 泛l l _ 。仿 人 机 器 人 竞 赛 主 要 是 通 过 竞 赛 提 高 参 赛 队 伍 之 间 的 技术水 平 . 增强 机器人研 发人 员之 间的交 流 , 促 进 仿 人 机 器 人 家 庭 化 进 程 。机器 人 奥 林 匹 克 短 跑 竞 赛 主 要 考 验 机 器 人 的 运 动速度 。 即 向 目标 快 速 到 达 目的 地 的 智 能 控 制 技 术 。机 器 人 在 裁 判 员 发 出 的 哨 声 下 起 跑 后 ,以 最 快 速 度 跑 到 终 点 , 用
等 特 点 。T C S 3 2 0 0采 用 8引 脚 的 S O I C表 面 贴 装 式 封 装 ( 如 图 1所 示 ) , 在 单 一 芯 片 上 集 成 有 8行 8列 共 6 4个 光 电 二 极 管 ,
2 . S 1 E E fC o h i n a U n i v e r s i t y f Mi o n i n gAn d T e c h n o l o g y , X u z h o u 2 2 1 1 1 6 , C h i a) n
Ab s t r a c t : A p r o g r a m o f c o l o r r e c o g n i t i o n i n r o b o t c o mp e t i t i o n h a s b e e n d e s i g n e d t h r o u g h r e a l — t i me c o r r e c t i o n o f d y n a mi c wh i t e b a l a n c e d a t a t a b l e wi t h T C S 3 2 0 0 c h i p a s c o l o r s e n s o r .T h e w h i t e b a l a n c e d a t a t a b l e i s e s t a b l i s h e d wi t h t h e d a t a o f t h r e e p i r ma r y c o l o rl u e a n d b l a c k c o n t r a s t i n g c o l o s r a c q u i r e d i n t h e me a s u i r n g c o n d i t i o n s . T h e me a s u r e me n t e r o s r o f t h e v a l u e s o f y e l l o w c o l o r we r e c o n t r o l l e d i n 5 %. wh i c h me a n s i t ’ S f a s t a n d s t a b l e . Ke y wo r d s : ob r o t ;T CS 3 2 0 0;c o l o r r e c o g n i t i o n ;d y n a mi c wh i t e b a l a n c e

(完整版)TCS3200颜色传感器使用说明资料.doc

(完整版)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颜色传感器使用说明资料TCS3200颜色传感器是一种能够识别颜色的传感器模块,它可以测量可见光谱中的红、绿、蓝三个基本颜色,并通过输出电压来表示颜色的强度。

下面将详细介绍TCS3200颜色传感器的使用方式和注意事项。

使用步骤:1.连接传感器:将传感器的引脚与控制器板上的相应引脚连接。

TCS3200传感器有VCC、GND、S0、S1、S2、S3、OUT等引脚,其中VCC和GND分别连接到控制器板上的3.3V和GND引脚,OUT引脚连接到控制器板的一个数字输入引脚上,S0、S1、S2、S3引脚连接到控制器板的数字输出引脚上,用于选择传感器的工作模式。

2.设置工作模式:根据需要选择传感器的工作模式。

TCS3200传感器支持三种主要的工作模式:输出频率测量模式、输出频率比较模式和输出电平测量模式。

通过设置S2和S3引脚的电平可以选择不同的模式,具体设置方式请参考传感器的数据手册。

3.获取颜色数据:通过读取OUT引脚的电平变化来获取颜色数据。

传感器会根据检测到的红、绿、蓝三种颜色的光强度来改变输出的电平,通过读取OUT引脚的高低电平即可获取颜色数据。

可以使用数字输入引脚的中断功能来实现对电平变化的实时检测。

注意事项:1.传感器的输入电压范围为2.7V-5.5V,接入电压时需要注意不要超过这个范围,否则可能会损坏传感器。

2.在选择工作模式时需要注意传感器引脚的设置。

不同的工作模式需要将S2和S3引脚设置为不同的电平,否则传感器无法正常工作。

3.在读取颜色数据时,需通过合适的电平转换电路将OUT引脚的输出电平转换为微控制器可接受的逻辑电平,以免损坏微控制器。

4.为了减少周围环境光的干扰,可以在传感器上方加装合适的遮光罩,只允许待测物体的光线照射到传感器上。

5.在使用传感器时,要注意不要接触传感器的光敏元件,以免污染或损坏。

总结:TCS3200颜色传感器可以通过测量红、绿、蓝三个基本颜色的光强度来识别颜色,它的使用非常简单。

利用颜色传感器TCS3200识别红绿灯

利用颜色传感器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芯片的颜色识别语音报警系统及其应用

基于TCS3200芯片的颜色识别语音报警系统及其应用

基于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颜色传感器实验报告

基于TCS3200颜色传感器实验报告

4)串口传输波特率为 9600bps,通过设置定时器 T2 来发生波特率。 5)LCD1602 显示和串口发送 RGB 值均需要拆成 8 位 ASCII 码发送,串口发送 8 位字符是因为 vc 控件这样设置。 6)串口发送的格式为:axxxxxxxxx。其中 9 个 x 为 RGB 值,a 为标识符。
图 1 系统原理图 系统在进行颜色检测之前需要进行白平衡校验,本系统采用的 4 个白色 LED 灯做白平衡校验光源,同时也为系统检测颜色提供反射光源。其原理图如图 2。
图 2 白平衡电路原理图
如表 1 是 TCS3200 管脚配置图,通过两个可编程引脚 S0、S1 来选择 100%、
20%、2%的输出比例因子。通过控制 S2、S3 引脚来选择所需的光电二极管类型。
3、 测试结果:
图 4 上位机接受界面
测试实验中,用白、红、黄、蓝、绿五种不同颜色瓶盖为实验对
象。其中用红色瓶盖作为白平衡校验基准,然后分别检测红、黄、蓝、

R
G
B

255
255
255

198
84
98

246
198
128

98
170
255
绿
80
108
94
表 2 实验测得的 RGB 值
实验测试现象结果如下图 5: 图 5. 实验测试效果
4、结论: 总体上,基于 TCS3200D 的颜色传感器基本能实现颜色 RGB 的
识别,由单片机处理后的 RGB 值通过串口与 PC 机通讯,能将 RGB 值传送到 PC 上并显示。但由于自制的硬件平台比较简单,光源不封 闭造成传感器受到白光的干扰,在 PC 上还原颜色条会有一定的偏差 和数值上的波动,需要对硬件部分进行改进。

微雪电子Color Sensor TCS3200 用户手册说明书

微雪电子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。

(完整word)基于TCS3200颜色识别的自动分拣系统 电信091 梁启涛

(完整word)基于TCS3200颜色识别的自动分拣系统 电信091 梁启涛

目录一、前言 (2)二、系统硬件结构 (2)(一)步进电机 (2)1.定义 (2)2.特点 (2)3.原理 (3)(二)颜色传感器TCS3200 (3)1.结构框图 (3)2.原理 (4)3.应用中需要注意的问题 (4)4.引脚功能 (4)(三)单片机STC89C52 (5)1.功能概述 (5)2.引脚功能及其分布图 (5)(四)液晶显示1602 (7)1.简介 (7)2.管脚功能 (7)3.操作控制 (7)(五)语音播报WT588D (8)1.功能概述 (8)2.引脚分布及功能 (8)(六)霍尔开关传感器 (8)1.原理 (9)2.电磁特性 (9)3.产品特点及应用 (10)(七)红外线 (10)1.工作原理 (10)2.主要应用及实物 (11)(八)其它 (11)三、系统软件示意 (11)1.系统示意图 (11)2.软件流程图 (12)3.算法流程图 (12)4.编程软件 (13)5.原理图及PCB (13)6.核心原理 (14)四、实验结论 (14)五、致谢 (14)六、附录 (15)参考文献 (18)基于TCS3200颜色识别的自动分拣系统(电子信息工程专业091 梁启涛)摘要:本系统主要是利用自然界的三基色原理,利用颜色传感器采集小球的RGB,从而利用步进电机的角度旋转对物体进行自动分拣。

是以STC89C52为主处理器,以TCS3200作为颜色传感器,以WT588D—16为语音播报模块,用 1602液晶显示器来显示小球的RGB给人以视觉上的辨别,以及霍尔传感器监测步进电机回位与红外线检测是否有小球组成的系统是将电流信号先转换为脉冲频率信号,在转换为数字信号的系统。

在人眼的视察能力的基础上,步进能满足工业中精确测量和控制颜色的需要,而且快捷方便,能够准确的获得物体的颜色信息。

在工业颜色检测上,拥有广泛的前景。

关键词:颜色传感器;红绿蓝;单片机;步进电机;脉冲频率信号一、前言世界上任何物体的颜色都是自然界的三基色红绿蓝按照不同比例构成的,也就是RGB不同造成的。

基于TCS3200颜色传感器的色彩识别器的设计本科毕业论文

基于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)摘要:随着科技的发展,现代工业生产向高速化、自动化方向不断进步,色彩识别技术已经广泛应用于各种工业检测和自动控制领域,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。

TCS3200颜色传感器说明颜色检测色谱检测

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与三色光脉冲数的比例因子。

利用 TCS3200D 实现颜色信号的采集、识别和还原

利用 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]。

TCS 颜色传感器中文资料

TCS 颜色传感器中文资料

特点:可编程中断功能与用户自定义上限与下限阈的设置六引脚CS封装芯片俯视图基于AC灯闪烁的内部滤波器防抖动装置(无需外部电容)封装用一种简单而且精确的方法来实现系统之间的重复利用性400KHZ,12C的十六位数字输出可编程一百万次的模拟增益和集成SYNC输入同步整合周期调制光源(例如PWM)工作温度:-40℃~85℃(CS封装);-30℃~70℃(FN封装)工作电压:2.7V~3.6VFN与CS封装均可,CS是最小的工业数字RGB颜色传感器应用:利用色彩坐标的方法来显示颜色FN封装双列平摊无引线俯视图提供测量不同光线条件下的白平衡的方法产品市场:高清电视平板电脑、笔记本电脑、显示器医疗器械电子玩具工商业照明工业过程控制说明:该3404和3414数字颜色传感器能够准确地测量出不同光强下的色度,并以16位分辨率输出。

该器件拥有集8*2阵列过滤光电二极管,模拟数字转换器和控制功能与一身的COMS集成电路,16个光电二极管中,有4个红色过滤器,4个绿色过滤器,4个蓝色过滤器和4个没有过滤器。

凭借正在申请专利的先进的封装微调功能,设备到设备与系统到系统之间的容差可以最小化,实现非常精确的可重复性。

同步输入提供了一种精确的外部控制传感器使内外转换周期同步到一个光源脉冲。

此外,同步功能支持以下先进的操作模式来实现广泛的灵活的硬件最大化系统:(1)同步一个内部时间周期和(2)积累指定号码的脉冲。

该装置还支持自由运行和串行总线控制的一体化模式如果传感器在不需要光源的情况下能够精确地耦合。

四个平行的A/D转换器将光电二极管的电流用SMBus(TCS3404)或者I2C(TCS3414)转换为数字输出,送入微处理器。

RGB可以在一个读周期中读出以尽量减少在通信接口中定义的读取命令协议的数量。

这个装置的从机地址是39h(0111001b)。

一个SMB报警式中断(TCS3404)和一个传统的水平式中断(TCS3414)可以为四种高低阈设置渠道中的任意一种做动态配置,中断将保持到固件清除。

基于TCS3200的颜色检测装置设计及光路优化

基于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]。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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与三色光脉冲数的比例因子。

有了白平衡校正得到的RGB比例因子,则其它颜色物体反射光中红、绿、蓝三色光对应的TCS3200输出信号1s内脉冲数乘以R、G、B比例因子,就可换算出了被测物体的RGB标准值了。

现在谈谈,如何进行TCS3200各控制引脚与Arduino控制器的硬件连线问题,下图分别是TCS3200传感器和其连线图。

上图中TCS3200传感器各控制引脚与Arduino 控制器数字端口连线的对应关系,我设置为:#define S0 6#define S1 5#define S2 4#define S3 3#define OUT 2#define LED 7当被测物体为不发光物体时,应该把TCS3200的LED引脚设置为高电平,以点亮TCS3200传感器电路板上的四个白光LED灯。

下文展示了一个带有白平衡的测试程序,把这个程序下载到Arduino控制器中,同时把一个白色物体放置在TCS3200颜色传感器之下,点亮传感器上的4个白光LED灯,再打开Arduino IDE的串口监视器,会出现下图监视画面,可以在该画面中找到白色物体RGB值255以及RGB比例因子。

(可通过QQ截图来锁定画面,以便观察。

)(双击图片,可以放大看!)把白平衡时放置在TCS3200颜色传感器之下白色物体拿走,放上另一个黄色物体,在Arduino IDE串口监视器看到的这个黄色物体RGB值为233、157、56,如下图所示。

打开电脑Windows操作系统自带的画图板,点击菜单栏“颜色”--->“编辑颜色”--->“规定自定义颜色”-->右下角输入RGB值,查看对应的颜色与实际测试的颜色是否相符。

实际测试结果是测得的物体颜色与实际颜色有些偏色,但并不影响区分出被测物体是哪种颜色的物体。

介绍完TCS3200传感器颜色识别原理和其与Arduino控制器的硬件连线,以及如何利用串口监视器找到白平衡后的比例因子和被测物体的RGB值。

下面展示的是Arduino测试程序。

注意:下面的#include 《TimerOne.h> 要改为单括号形式。

Arduino程序:#include 《TimerOne.h> //申明库文件//把TCS3200颜色传感器各控制引脚连到Arduino数字端口#define S0 6 //物体表面的反射光越强,TCS3002D内置振荡器产生的方波频率越高,#define S1 5 //S0和S1的组合决定输出信号频率比例因子,比例因子为2%//比率因子为TCS3200传感器OUT引脚输出信号频率与其内置振荡器频率之比#define S2 4 //S2和S3的组合决定让红、绿、蓝,哪种光线通过滤波器#define S3 3#define OUT 2 //TCS3200颜色传感器输出信号连接到Arduino中断0引脚,并引发脉冲信号中断//在中断函数中记录TCS3200输出信号的脉冲个数#define LED 7 //控制TCS3200颜色传感器是否点亮LED灯float g_SF[3]; //从TCS3200输出信号的脉冲数转换为RGB标准值的RGB比例因子int g_count = 0; // 计算与反射光强相对应TCS3200颜色传感器输出信号的脉冲数// 数组用于存储在1s内TCS3200输出信号的脉冲数,它乘以RGB比例因子就是RGB 标准值int g_array[3];int g_flag = 0; // 滤波器模式选择顺序标志// 初始化TSC3200各控制引脚的输入输出模式//设置TCS3002D的内置振荡器方波频率与其输出信号频率的比例因子为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);}//中断函数,计算TCS3200输出信号的脉冲数void TSC_Count(){g_count ++ ;}//定时器中断函数,每1s中断后,把该时间内的红、绿、蓝三种光线通过滤波器时,//TCS3200输出信号脉冲个数分别存储到数组g_array[3]的相应元素变量中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内的红光通过滤波器时,TCS3200输出的脉冲个数g_array[0] = g_count; //存储1s内的红光通过滤波器时,TCS3200输出的脉冲个数TSC_WB(HIGH, HIGH); //选择让绿色光线通过滤波器的模式break;case 2:Serial.print("->Frequency G=");Serial.println(g_count); //打印1s内的绿光通过滤波器时,TCS3200输出的脉冲个数g_array[1] = g_count; //存储1s内的绿光通过滤波器时,TCS3200输出的脉冲个数TSC_WB(LOW, HIGH); //选择让蓝色光线通过滤波器的模式break;case 3:Serial.print("->Frequency B=");Serial.println(g_count); //打印1s内的蓝光通过滤波器时,TCS3200输出的脉冲个数Serial.println("->WB End");g_array[2] = g_count; //存储1s内的蓝光通过滤波器时,TCS3200输出的脉冲个数TSC_WB(HIGH, LOW); //选择无滤波器的模式break;default:g_count = 0; //计数值清零break;}}//设置反射光中红、绿、蓝三色光分别通过滤波器时如何处理数据的标志//该函数被TSC_Callback( )调用void TSC_WB(int Level0, int Level1){g_count = 0; //计数值清零g_flag ++; //输出信号计数标志TSC_FilterColor(Level0, Level1); //滤波器模式Timer1.setPeriod(1000000); //设置输出信号脉冲计数时长1s}//初始化void setup(){TSC_Init();Serial.begin(9600); //启动串行通信Timer1.initialize(); // defaulte is 1sTimer1.attachInterrupt(TSC_Callback); //设置定时器1的中断,中断调用函数为TSC_Callback()//设置TCS3200输出信号的上跳沿触发中断,中断调用函数为TSC_Count() attachInterrupt(0, TSC_Count, RISING);digitalWrite(LED, HIGH);//点亮LED灯delay(4000); //延时4s,以等待被测物体红、绿、蓝三色在1s内的TCS3200输出信号脉冲计数//通过白平衡测试,计算得到白色物体RGB值255与1s内三色光脉冲数的RGB比例因子g_SF[0] = 255.0/ g_array[0]; //红色光比例因子g_SF[1] = 255.0/ g_array[1] ; //绿色光比例因子g_SF[2] = 255.0/ g_array[2] ; //蓝色光比例因子//打印白平衡后的红、绿、蓝三色的RGB比例因子Serial.println(g_SF[0],5);Serial.println(g_SF[1],5);Serial.println(g_SF[2],5);//红、绿、蓝三色光分别对应的1s内TCS3200输出脉冲数乘以相应的比例因子就是RGB标准值//打印被测物体的RGB值for(int i=0; i<3; i++)Serial.println(int(g_array[i] * g_SF[i]));}//主程序void loop(){g_flag = 0;//每获得一次被测物体RGB颜色值需时4sdelay(4000);//打印出被测物体RGB颜色值for(int i=0; i<3; i++)Serial.println(int(g_array[i] * g_SF[i]));}程序中的头文件TimerOne.h文件请下载:/QnKIsvphPb4Mv上面是带有白平衡的测试程序,对于具体项目的应用程序,要在此基础上加以变动。

相关文档
最新文档