(完整版)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芯片的颜色识别语音报警系统及其应用

• 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所示。

颜色传感器产品说明书

颜色传感器产品说明书

【产品展示图片】引脚说明1、S02、S13、OE4、GND5、VCC6、OUT7、S28、S3简要说明一、尺寸:长34mmX宽26mmX高10mm二、主要芯片:TCS230三、工作电压:直流5V四、输出频率电压0~5V五、特点:1、所有的引脚全部引出2、输出占空比50%3、采用高亮白色LED灯反射光4、可直接和单片机连接5、静态检测被测物颜色6、检测距离10mm最佳操作说明请参看我们的优酷视频:/龙戈电子适用场合:单片机学习、电子竞赛、产品开发、毕业设计等等附录:颜色传感器TCS230及颜色识别电路随着现代工业生产向高速化、自动化方向的发展,生产过程中长期以来由人眼起主导作用的颜色识别工作将越来越多地被相应的颜色传感器所替代。

例如:图书馆使用颜色区分对文献进行分类,能够极大地提高排架管理和统计等工作;在包装行业,产生包装利用不同的颜色和装潢来表示其不同的性质或用途。

目前的颜色传感器通常是在独立的光电二极管上覆盖经过修正的红、绿、蓝滤波片,然后对输出信号进行相应的处理,才能将颜色信号识别出来;有的将两者集合起来,但是输出模拟信号,需要一个A/D电路进行采集,对该信号进一步处理,才能进行识别,增加了电路的复杂性,并且存在较大的识别误差,影响了识别的效果。

TAOS(Texas Advanced Optoelectronic Solutions)公司最新推出的颜色传感器TCS230,不仅能够实现颜色的识别与检测,与以前的颜色传感器相比,还具有许多优良的新特性。

1 .TCS230芯片的结构框图与特点:TCS230是TAOS公司推出的可编程彩色光到频率的转换器,它把可配置的硅光电二极管与电流频率转换器集成在一个单一的CMOS电路上,同时在单一芯片上集成了红绿蓝(RGB)三种滤光器,是业界第一个有数字兼容接口的RGB彩色传感器,TCS230的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输入,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩色信道10位以上的转换精度,因而不再需要A/D转换电路,使电路变得更简单,图1是TCS230的引脚和功能框图。

色标传感器使用说明书

色标传感器使用说明书

色标传感器使用说明书产品部件说明:输出电路:NPN 型号PNP 型号安装方法:* 安装在DIN 轨道上1、将主机底部的卡槽与轨道对齐。

按箭头 1 的方向推动主机的同时使其往箭头 2 的方向倾斜。

2、拆卸传感器的方法是,在朝箭头 1 的方向推动主机的同时,朝箭头 3 的方向提升主机。

* 安装到墙壁上(仅适用于主模块)将模块放到选配的安装架上,将其安装到一起,并使用两个 M3 螺钉固定住,连接光纤模块1, 按箭头 1 所示的方向开启防尘盖。

2, 按箭头 2 所示的方向往下移光纤锁杆。

3, 将光纤模块记号上标记的长度插入光纤孔。

4, 按箭头 4 所示的方向往下移光纤锁杆。

5, 如果使用较薄的光纤模块,则需要使用随其提供的转接器。

6, 如果没有连接正确的转接器,则薄型光纤模块将不能正确地检测目标物。

(转接器随光纤模块提供。

)7, 若将同轴反光型光纤模块连接到放大器上,应将单芯光纤连接到发射器侧而将多芯光纤连接到接收器侧。

设置灵敏度* MARK 模式下两点校准:1,在光纤头前方没有放置任何工件时,按 SET(设置)按钮(按键时间不超过 2 秒).2,将一个工件放置在光纤前方,按 SET(设置)按钮(按键时间不超过 2 秒).两个步骤测出的数值以及 RGB 检测通道会显示在屏幕上并自动记忆储存.* C 或 CI 模式下的校准自学习:把光纤对准需要检测的颜色,按下一次 SET 就可以了,传感器会自动记录当前的颜色匹配值及光亮值,作为正常工作时的判断标准.MATK 是普通的色标检测模式,放大器会选择 RGB 通道中的一个作为判断通道。

C 模式时通用的颜色匹配检测模式,千分之一千表示颜色完全相同,一般认为千分之 900 就是一种颜色。

CI 是颜色+光亮值模式,用来精确检测物体的颜色以及物体的光亮值。

千分之 1000 表示完全相同。

C 模式下物体在光纤前面晃动也可以正常检测,CI 模式下,物体在光纤前面有任何晃动都会造成信号值急剧减小,从而传感器认为 CI 不匹配。

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颜色采集 和在线显示系统
项目背景
在现代工业和自动化中,颜色的识 别经历了从人眼主导的判断到传感器识 别的发展。应用十分广泛,例如:产品 生产线上根据颜色进行分拣,印刷品颜 色的矫正,化学实验中对颜色变化的识 别。

颜色传感器的使用

颜色传感器的使用

注意: 1.程序开始前应先测量不同物体反射光强度值 2.小车速度与程序停止时间的关系
程序图
小车前行 检测到白线 小车停止
Байду номын сангаас
反射光强度模式扩展作业:
设置机器人折返跑比赛。
环境光强度模式——通过调节外界的光线亮度控制小
车的行驶速度
在环境光强度模式中,该颜色传感器测量从周围环境进入到 窗口的光强度,例如太阳光或者手电筒的光束。该传感器测量范 围从0(极暗)到100(极亮)。这就意味着可以通过对机器 人编程,使机器人在感应到不同环境光强度时进行不同的操作。
颜色模式扩 展作业:
程 序 图
红色停止
黄灯设置 为左转或者 右转。
绿色功率30前行
黄色功率10前行
反射光强度模式——悬崖勒马
在反射光强度模式中,颜色传感器测量从红灯(发光灯)反射回来的 光强度。该传感器测量范围从0(极暗)到100(极亮)。这就意味着 可以通过对机器人编程,使其在一个颜色表面上移动,直到检测到其他的 颜色后停止或者解释颜色编码识别卡。
程 序 图
环境光强 度模式扩展作 业: 设置机器 人处于黑暗状 态时发出声音, 处于光亮状态 时安静。
通过控制环境光强弱调节小车行进速度
注意事项:
1.当处于颜色传感器模式和反射光强度模式时,为了 更精确,传感器必须角度正确、靠近但不接触到正在 检测的物体表面。 2.在机器人行进过程当中用到颜色传感器时,应考虑 到由于小车惯性造成的误差。
颜色传感器的使用
颜色传感器是一种数字传感器,它可以检测到进入
传感器表面小窗口的颜色或光强度。
颜 色 传 感 器 的 三 种 模 式
颜色模式:
反射光强度模式:
环境光强度模式:

(完整版)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个全部交叉排列在芯片上,其中相同颜色的是均匀分布且并联连接。

色标传感器说明书

色标传感器说明书

色标传感器说明书
色标传感器说明书
一、产品概述
色标传感器是一种光电转换设备,在光照条件下可以实现对物体颜色的识别。

本产品采用数字化设计和集成化制造,具有高精度、高稳定性、高速度等特点。

二、产品特点
1. 采用高精度的光电传感器,可实现对颜色的精准识别。

2. 内置高速数字信号处理器,支持多种数据传输方式。

3. 具有自动校正和自适应能力,能够适应复杂的环境。

4. 运行稳定,可靠性高,可长时间连续工作。

三、使用方法
1. 在使用前,需将传感器与控制器进行连接。

2. 将传感器放置在需要检测的物品或颜色上,并保持一定的距离。

3. 打开控制器的电源,并设置好识别参数。

4. 开始使用,可以实现对物品颜色的精准识别和输出信号的控制。

四、注意事项
1. 传感器不可受到强烈的光照和振动。

2. 不要在高温、潮湿、腐蚀性气体等环境下使用。

3. 使用前请阅读说明书,遵循正确的使用方法和操作规范。

4. 开机前,请检查电源电压是否符合要求。

五、技术参数
1. 识别精度:±0.5%;
2. 工作距离:30mm~150mm;
3. 输出信号:数字信号;
4. 数据传输方式:RS485;
5. 工作电压:DC12V;
6. 工作温度:-20℃~60℃;
7. 工作湿度:10%~90%RH。

备注:本产品与网络、电话无关,如需更多详情,请参考生产厂家提供的其他资料。

(2021年整理)基于51的tcs3200颜色辨别

(2021年整理)基于51的tcs3200颜色辨别

基于51的tcs3200颜色辨别编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(基于51的tcs3200颜色辨别)的内容能够给您的工作和学习带来便利。

同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为基于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最高位是否为1LCD_EP = 0;return result;//返回侧忙结果}/****************写命令函数************************/ void lcdcom8(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;}void lcdcom(int cmd){ // 写入指令数据到LCD while(lcdcm());LCD_RS = 0;LCD_RW = 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_();}// 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_();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初始化设定{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.0592M 晶振10msEA=1; //开中断ET0=1;TR0=1; //启动TR1=1;}//********************************************* //数值转换出个十百千的ASCII码//*********************************************void conversion(uint temp_data){bai=temp_data/100+0x30 ;temp_data=temp_data%100; //取余运算shi=temp_data/10+0x30 ;ge=temp_data%10+0x30; //取余运算}void c10ms_out() interrupt 1{tt++;TR0=0; //关闭定时TR1=0; //关闭计数if(count==0){count++;s2=1;s3=1; //选择滤波器为绿色temp=(16〈<TH1)+TL1; //计算这段时间内 TCS230 的输出脉冲数temp/=rp;sumR=temp;conversion(temp);disp_R[2] = ge; //因为这次的中断,是上次选择滤波器的数值disp_R[1] = shi;disp_R[0] = bai;}else if(count==1){count++;s2=1;s3=0; //选择滤波器为蓝色temp=(16<<TH1)+TL1; //计算这段时间内 TCS230 的输出脉冲数temp/=gp;sumG = temp;conversion(temp);disp_G[2] = ge; //因为这次的中断,是上次选择滤波器的数值disp_G[1] = shi;disp_G[0] = bai;}else if(2==count){count=0;s2=0;s3=0; //选择滤波器为红色temp=(16<〈TH1)+TL1; //计算这段时间内 TCS230 的输出脉冲数temp/=bp;sumB=temp;conversion(temp);disp_B[2] = ge; //因为这次的中断,是上次选择滤波器的数值disp_B[1] = shi;disp_B[0] = bai;}//定时器计数器重赋初值TH0=0xE0;TL0=0x00; //11。

基于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 上还原颜色条会有一定的偏差 和数值上的波动,需要对硬件部分进行改进。

颜色传感器使用方法

颜色传感器使用方法

颜色传感器使用方法
嘿,颜色传感器这玩意儿,用起来还挺有门道呢。

拿到颜色传感器,先好好瞅瞅它。

看看各个零件是不是都齐全,有没有损坏啥的。

就跟买了个新玩具,得先检查检查一样。

要是有问题,赶紧找卖家换一个。

然后呢,得找个合适的地方安装它。

不能随便找个地儿就安上,得考虑光线啊、角度啊这些因素。

要是安得不好,可能就测不准颜色了。

就像拍照得找个好角度,才能拍出好看的照片。

安装好后,就得开始调试了。

打开电源,看看传感器是不是正常工作。

可以拿几个不同颜色的东西放在它前面,看看它能不能准确地识别出颜色。

要是识别不准,就得调整一下参数啥的。

就跟调收音机似的,得找到合适的频率才能听得清楚。

在使用的过程中,要注意保持传感器的清洁。

要是上面有灰尘或者污渍,可能会影响它的测量结果。

可以用干净的布或者纸巾轻轻擦一擦。

就像擦眼镜一样,得小心点,别把镜片擦花了。

还有啊,不同的颜色传感器可能有不同的使用方法,得仔细看说明书。

别自以为是的瞎鼓捣,不然可能会把传感器弄坏。

就像玩游戏得先看规则,不然容易犯规。

我给你讲个事儿哈。

有个小伙伴,他想用颜色传感器做个小发明。

一开始他也不太会用,安装的时候随便找了个地方,结果测出来的颜色老是不对。

后来他仔细看了说明书,重新调整了安装位置和参数,这下就准了。

他可高兴了,说以后做事情得认真点,不能马虎。

所以啊,颜色传感器用起来得小心谨慎,按照正确的方法来,才能发挥出它的作用。

不然啊,白浪费时间和精力。

CD3200中文手册-c第一单元

CD3200中文手册-c第一单元

概述CELL-DYN 3200是多参数自动血液学分析仪,设计用于临床实验室的体外诊断。

该仪器有两个版本,自动进样装置(CELL-DYN 3200L),以及手动封闭式成样机(CELL-DYN 3200CS)。

两个版本的样图展示在图1.1和1.2中。

除非封闭式成样机(CS)或自动进样装置(SL)机型是特殊指定的,否则CELL-DYN 3200引用于两个版本的术语是一致的。

开放式样品与封闭式样品的术语可在开放式成样机与封闭式成样机上交替使用。

通常,谈到操作模块时,要使用开放式成样机与封闭式成样机的条款,而在谈及仪器部件时要使用开放式样品与封闭式样品,例如,开放式吸样针。

图1.1 CELL-DYN 3200SLCELL-DYN 3200SL配备有自动进样型号。

自动进样装置提供持续自动封闭式采样,可以一次采集多达50个封闭式试管的样品。

自动进样装置(SL)也可称为Auto Sampler。

图1.2 CELL-DYN 3200CSCELL-DYN 3200CS配备有内置手动封闭式吸样模块,从已经插入到封闭式样品模块中进行采集的封闭式采集试管中吸取血液。

两种机型都从开放式采集试管中吸取血液。

该方法可被归为开放式成样机模块。

用途CELL-DYN 3200是多参数自动血液学分析仪,设计用于在临床实验室中进行体外诊断。

CELL-DYN 3200在EDTA-抗凝剂全血方面进行以下血液学测量:WBC —白细胞或白细胞计数NEU —嗜中性粒细胞绝对计数%N —嗜中性粒细胞百分比LYM —淋巴细胞绝对计数%L —淋巴细胞百分比MONO —单核细胞绝对计数%M —单核细胞百分比EOS —嗜曙红细胞绝对计数%E —嗜曙红细胞百分比BASO —嗜碱细胞绝对计数%B —嗜碱细胞百分比RBC —红细胞或红细胞计数HGB —血红蛋白浓度HCT —血细胞比容MCV —平均细胞量MCH —平均细胞血红蛋白MCHC —平均细胞血红蛋白浓度RDW —红细胞分布宽度PLT —血小板或血小板计数MPV —平均血小板量PDW*—血小板分布宽度PCT* —血小板比容Retic %—网织红细胞百分比Retic Abs—网织红细胞绝对计数* 这些参数的临床上的意义尚未建立。

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

CD3200中文手册-i第六单元

CD3200中文手册-i第六单元

概览CELL-DYN 3200系统在出厂前进行了校准。

在仪器安装过程中,雅培现场服务代理会协助您的操作人员对校准情况进行检查。

校准是使用商用校准品或新鲜的全血样品。

只有直接测量的参数-WOC,NOC, RBC, HGB, MCV, PLT, 以及MPV-可以用于校准。

校准品应按照实验室进度表进行常规检查,以便保持实验室的正常运行。

已进行了安装的质控程序,用于对仪器校准品进行监控和检验。

实验室应根据这些质控程序中的CELL-DYN 3200的性能情况,决定是否需要进行重新校准。

有关仪器的校准按下列顺序进行:∙一般信息∙预校准程序∙校准菜单与软键∙自动校准方法∙输入因数方法∙校准工作单一般性说明CELL-DYN 3200系统具有两个操作模式;∙开放式模式∙封闭式模式开放式模式与封闭式模式都逐一进行校准。

建议对主要模式(开放式模式)首先进行校准。

注意:SL与CS机型在校准封闭式模式的程序方面略有不同。

在CELL-DYN 3200系统上有三种校准方法:1.自动校准方法,可以使用商用质控材料或新鲜的全血,快速而轻松地对系统进行校准。

a.在CS机型上,自动校准可在开放式与封闭式模式中使用。

b.在SL机型上,自动校准只可用于开放式模式。

在封闭式模式中进行校准时必须使用输入因数方法.2. 输入因数方法是对仪器进行校准的手工过程。

此方法通常使用新鲜的全血,但也可使用校准品。

3.乳胶材料也可用于对仪器的校准,但这一程序只可以由服务人员来完成。

何时进行校准CELL-DYN 3200的常规校准应符合由管理机构所作出的规定。

校准应该符合实验室质量控制管理的常规基本要求。

为确保实验室的良好运行,应该对每次产品的变化情况进行确认,同时对试剂批次的变更加以注意。

非常规校准,是指从属于由雅培现场服务代理所进行的服务调节工作的校准,诸如主要部件的更换等。

在质量控制程序结果指示需要校准时,则必须执行非常规校准。

质量控制包括:(1)为商用或患者控制进行的统计计算以及Westgard®规则(2)使用移动平均值程序对患者样品的白细胞参数进行监控,使用布尔移动平均值程序(X-B)对红细胞参数进行监控。

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模块说明YL-64TCS3200颜⾊传感器使⽤说明⼀模块设计背景随着现代⼯业⽣产向⾼速化、⾃动化⽅向的发展,⽣产过程中长期以来由⼈眼起主导作⽤的颜⾊识别⼯作将越来越多地被相应的颜⾊传感器所替代。

例如:图书馆使⽤颜⾊区分对⽂献进⾏分类,能够极⼤地提⾼排架管理和统计等⼯作;在包装⾏业,产⽣包装利⽤不同的颜⾊和装潢来表⽰其不同的性质或⽤途。

⽬前的颜⾊传感器通常是在独⽴的光电⼆极管上覆盖经过修正的红、绿、蓝滤波⽚,然后对输出信号进⾏相应的处理,才能将颜⾊信号识别出来;有的将两者集合起来,但是输出模拟信号,需要⼀个A/D电路进⾏采集,对该信号进⼀步处理,才能进⾏识别,增加了电路的复杂性,并且存在较⼤的识别误差,影响了识别的效果。

TAOS(TexasAdvancedOptoelectronicSolutions)公司最新推出的颜⾊传感器TCS3200,不仅能够实现颜⾊的识别与检测,与以前的颜⾊传感器相⽐,还具有许多优良的新特性。

⼆TCS3200芯⽚介绍TCS3200是TAOS公司推出的可编程彩⾊光到频率的转换器,它把可配置的硅光电⼆极管与电流频率转换器集成在⼀个单⼀的CMOS电路上,同时在单⼀芯⽚上集成了红绿蓝(RGB)三种滤光器,是业界第⼀个有数字兼容接⼝的RGB彩⾊传感器,TCS3200的输出信号是数字量,可以驱动标准的TTL或CMOS逻辑输⼊,因此可直接与微处理器或其他逻辑电路相连接,由于输出的是数字量,并且能够实现每个彩⾊信道10位以上的转换精度,因⽽不再需要A/D转换电路,使电路变得更简单。

TCS3200采⽤8引脚的SOIC表⾯贴装式封装,在单⼀芯⽚上集成有64个光电⼆极管,这些⼆极管分为四种类型,其16个光电⼆极管带有红⾊滤波器;16个光电⼆极管带有绿⾊滤波器;16个光电⼆极管带有蓝⾊滤波器,其余16个不带有任何滤波器,可以透过全部的光信息,这些光电⼆极管在芯⽚内是交叉排列的,能够最⼤限度地减少⼊射光辐射的不均匀性,从⽽增加颜⾊识别的精确度;另⼀⽅⾯,相同颜⾊的16个光电⼆极管是并联连接的,均匀分布在⼆极管阵列中,可以消除颜⾊的位置误差。

如何使用颜色传感器

如何使用颜色传感器

方法1:把颜色传感器放到白色物体上,打开红色滤波器,此时传感器会发出频率,对发出的频率进行计数,当计数到255时,有一个时间,把这个时间记为T1。

打开绿色滤波器,此时传感器会发出不同频率,对频率进行计数,当计数到255时,有另一个时间,把这个时间记为T2。

打开蓝色滤波器,此时传感器会发出另一个不同频率,对频率进行计数,当计数到255时,有第三个时间,把这个时间记为T3。

再把传感器放到待测物体上,打开红色滤波器,在T1时间内统计计数个数,把这个个数记为N1。

打开绿色滤波器,在T2时间内统计计数个数,把这个个数记为N2。

打开蓝色滤波器,在T3时间内统计计数个数,把这个个数记为N3N1N2N3组成了待测物体的三基色方法2:把颜色传感器放到白色物体上,设置定时器为一定时间,打开红色滤波器,此时传感器会发出频率,对发出的频率进行计数,把这个数记为n1。

打开绿色滤波器,此时传感器会发出不同频率,对频率进行计数, 把这个数记为n2。

打开蓝色滤波器,此时传感器会发出另一个不同频率,对频率进行计数,把这个数记为n3。

分别乘以255/n1、255/n2、255/n3。

再把传感器放到待测物体上,定时器设置相同时间,打开红色滤波器,此时传感器会发出频率,对发出的频率进行计数,把这个数记为X1。

打开绿色滤波器,此时传感器会发出不同频率,对频率进行计数, 把这个数记为X2。

打开蓝色滤波器,此时传感器会发出另一个不同频率,对频率进行计数,把这个数记为X3。

分别乘以255/n1、255/n2、255/n3。

待测物体的三基色为255*X1/n1、255*X2/n2、255*X3/n3。

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

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传感器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 上面是带有白平衡的测试程序,对于具体项目的应用程序,要在此基础上加以变动。

相关文档
最新文档