1 / 8
文档名称:

TCS3200颜色传感器使用说明.docx

格式:docx   大小:41KB   页数:8页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

TCS3200颜色传感器使用说明.docx

上传人:雨林书屋 2022/12/3 文件大小:41 KB

下载得到文件列表

TCS3200颜色传感器使用说明.docx

文档介绍

文档介绍:该【TCS3200颜色传感器使用说明 】是由【雨林书屋】上传分享,文档一共【8】页,该文档可以免费在线阅读,需要了解更多关于【TCS3200颜色传感器使用说明 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。精选文档
精选文档
1
精选文档
精心整理
??TCS3200颜色传感器是一款全彩的颜色检测器,包含了一块TAOSTCS3200RGB感觉芯片和4个白光LED灯,TCS3200能在必定的范围内检测和丈量几乎全部的可见光。它合适于色度计丈量应用领域。比方彩色打印、医疗诊疗、计算机彩色督查器校准以及油漆、纺织品、化妆品和印刷
资料的过程控制。
??平常所看到的物体颜色,其实是物体表面汲取了照耀到它上边的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反响。白色是由各样频次的可见光混淆在一同构成
的,也就是说白光中包含着各样颜色的色光(如红R、黄Y、绿G、青V、蓝B、紫P)。依据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各样颜色是由不一样比率的三原色(红、绿、蓝)混淆而成的。
??由上边的三原色感觉原理可知,假如知道构成各样颜色的三原色的值,即可以知道所测试物体的颜色。关于TCS3200D来说,当选定一个颜色滤波器时,它只同意某种特定的原色经过,阻挡其他原色的经过。比方:当选择红色滤波器时,入射光中只有红色可以经过,蓝色和绿色都被阻挡,这样即可以获取红色光的光强;同理,选择其他的滤波器,即可以获取蓝色光和绿色光的光强。经过这三个光强值,即可以分析出反射到TCS3200D传感器上的光的颜色。
??TCS3200D传感器有红绿蓝和除掉4种滤光器,可以经过其引脚S2和S3的高低电平来选择滤波器模式,以以下图。
???TCS3200D有可编程的彩色光到电信号频次的变换器,当被测物体反射光的红、绿、蓝三色光芒分别透过相应滤波器抵达TAOSTCS3200RGB感觉芯片刻,其内置的振荡器会输出方波,方波
频次与所感觉的光强成比率关系,光芒越强,内置的振荡器方波频次越高。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控制器数字端口连线的对应关系,我设置为:
#defineS0????6?
#defineS1????5??
#defineS2????4??
#defineS3????3
#defineOUT??2?????????????????????
#defineLED??7
??当被测物体为不发光物体时,应该把
感器电路板上的四个白光LED灯。

TCS3200的

LED引脚设置为高电平,以点亮

TCS3200传
精选文档
精选文档
8
精选文档
精心整理
??下文展现了一个带有白均衡的测试程序,把这个程序下载到Arduino控制器中,同时把一个白
色物体搁置在TCS3200颜色传感器之下,点亮传感器上的4个白光LED灯,再翻开ArduinoIDE
的串口督查器,会出现以下图督查画面,可以在该画面中找到白色物体RGB值255以及RGB比率
因子。(可经过QQ截图来锁定画面,以便观察。)(双击图片,可以放大看!)
???把白均衡时搁置在TCS3200颜色传感器之下白色物体拿走,放上另一个黄色物体,在
ArduinoIDE串口督查器看到的这个黄色物体RGB值为233、157、56,以以下图所示。
??翻开电脑Windows操作系统自带的绘图板,点击菜单栏“颜色”--->“编写颜色”--->“规定自定义
颜色”-->右下角输入RGB值,查察对应的颜色与实质测试的颜色能否吻合。实质测试结果是测得
的物体颜色与实质颜色有些偏色,但其实不影响划分出被测物体是哪一种颜色的物体。
??介绍完TCS3200传感器颜色鉴识原理和其与Arduino控制器的硬件连线,以及如何利用串口监
视器找到白均衡后的比率因子和被测物体的RGB值。下边展现的是Arduino测试程序。注意:下
面的#include《>?要改为单括号形式。
?Arduino程序:
#include《>//声明库文件
把TCS3200颜色传感器各控制引脚连到Arduino数字端口
#defineS0???6??//
物体表面的反射光越强,
TCS3002D
内置振荡器产生的方波频次越高,
#defineS1???5?//S0
和S1
的组合决定输出信号频次比率因子,比率因子为
2%
????????????????//
比率因子为TCS3200
传感器OUT引脚输出信号频次与其内置振荡器频次之比
#defineS2????4??//S2
和S3的组合决定让红、绿、蓝,哪一种光芒经过滤波器
#defineS3????3
#defineOUT???2?//TCS3200
颜色传感器输出信号连结到
Arduino中断0
引脚,并引起脉冲信号中断
?????????????????//
在中断函数中记录TCS3200输出信号的脉冲个数
#defineLED???7?//
控制TCS3200
颜色传感器能否点亮
LED灯
floatg_SF[3];????//
从TCS3200
输出信号的脉冲数变换为
RGB标准值的RGB比率因子
int??g_count=0;?//
计算与反射光强相对应
TCS3200颜色传感器输出信号的脉冲数
//数组用于储存在1s
内TCS3200输出信号的脉冲数,它乘以
RGB比率因子就是RGB标准值
int??g_array[3];??
精选文档
精选文档
3
精选文档
int??g_flag=0;??//
滤波器模式选择次序标记
初始化TSC3200各控制引脚的输入输出模式
//设置TCS3002D
的内置振荡器方波频次与其输出信号频次的比率因子为
2%
voidTSC_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);
}
选择滤波器模式,决定让红、绿、蓝,哪一种光芒经过滤波器
voidTSC_FilterColor(intLevel01,intLevel02)
精选文档
精选文档
4
精选文档
精心整理
{
?if(Level01!=0)
???Level01=HIGH;
?if(Level02!=0)
???Level02=HIGH;
?digitalWrite(S2,Level01);
?digitalWrite(S3,Level02);
}
中断函数,计算TCS3200输出信号的脉冲数
voidTSC_Count()
{
?g_count++;
}
准时器中断函数,每1s中断后,把该时间内的红、绿、蓝三种光芒经过滤波器时,
//TCS3200输出信号脉冲个数分别储存到数组g_array[3]的相应元素变量中voidTSC_Callback()
{
?switch(g_flag)
?{
???case0:
?????????("->WBStart");
????????TSC_WB(LOW,LOW);??//
选择让红色光芒经过滤波器的模式
????????break;
???case1:
?????????("->FrequencyR=");
????????(g_count);??//
打印1s
内的红光经过滤波器时,
TCS3200
输出的脉冲个数
????????g_array[0]=g_count;???//
储存1s内的红光经过滤波器时,
TCS3200
输出的脉冲个数
????????TSC_WB(HIGH,HIGH);?//
选择让绿色光芒经过滤波器的模式
????????break;
???case2:
?????????("->FrequencyG=");
精选文档
精选文档
5
精选文档
????????(g_count);??//
打印1s
内的绿光经过滤波器时,
TCS3200
输出的脉冲个数
????????g_array[1]=g_count;???//
储存1s内的绿光经过滤波器时,
TCS3200
输出的脉冲个数
????????TSC_WB(LOW,HIGH);?//
选择让蓝色光芒经过滤波器的模式
????????break;
???case3:
?????????("->FrequencyB=");
????????(g_count);??//
打印1s
内的蓝光经过滤波器时,
TCS3200
输出的脉冲个数
????????("->WBEnd");
????????g_array[2]=g_count;????//
储存1s
内的蓝光经过滤波器时,
TCS3200
输出的脉冲个数
????????TSC_WB(HIGH,LOW);??//
选择无滤波器的模式??
????????break;
??default:
精选文档
精选文档
6
精选文档
精心整理
????????g_count=0;????//计数值清零
????????break;
?}
}
设置反射光中红、绿、蓝三色光分别经过滤波器时如何办理数据的标记
该函数被TSC_Callback()调用
voidTSC_WB(intLevel0,intLevel1)????
{
?g_count=0;??//计数值清零
?g_flag++;????//输出信号计数标记
?TSC_FilterColor(Level0,Level1);//滤波器模式
?(1000000);????//设置输出信号脉冲计数时长1s
}
//初始化
voidsetup()
{
?TSC_Init();
?(9600);//
启动串行通讯
?();??//defaulteis1s
?(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]=[0];????//
红色光比率因子
?g_SF[1]=[1];???//
绿色光比率因子
精选文档
精选文档
8
精选文档
?g_SF[2]=[2];???//
蓝色光比率因子
??//打印白均衡后的红、绿、蓝三色的
RGB比率因子
?(g_SF[0],5);
?(g_SF[1],5);
?(g_SF[2],5);
精选文档
精选文档
8
精选文档
?//

红、绿、蓝三色光分别对应的

1s



TCS3200

输出脉冲数乘以相应的比率因子就是

RGB

标准值
精选文档
精选文档
8
精选文档
?//

打印被测物体的

RGB


精选文档
精选文档
8
精选文档
?for(inti=0;i<3;i++)
精选文档
精选文档
8
精选文档
???(int(g_array[i]*g_SF[i]));???
}
主程序
voidloop()
{
??g_flag=0;
??//每获取一次被测物体RGB颜色值需时4s
精选文档
精选文档
8
精选文档
精心整理
??delay(4000);
??//打印出被测物体RGB颜色值
??for(inti=0;i<3;i++)
?????(int(g_array[i]*g_SF[i]));?
}
??:
??上边是带有白均衡的测试程序,关于详细项目的应用程序,要在此基础上加以变动。
假如TCS3200传感器与被测物体的检测距离以及四周环境光芒没有发生大的变化,进行一次白平
衡校订后,RGB比率因子即可以确立下来了。于是您必定要把获取的RGB比率因子直接代替掉红色字体表记程序段中的数组g_array[3]各元素变量。其他绿色字体表记的程序段也可以说明掉。
???在详细项目中,您所检测的是某种特定颜色的物体,可能就像文章的第一张图片展现的5个色
块近似,绝不会有连续变化颜色的物体。于是,应该以上述程序获取的被测物体颜色R、G、B值
为中心,设置一个距离中心值±20的范围值,在任何环境光条件下,再次检测被测物体的RGB值,只需RGB值落在范围内,即可以以为被测物体是那种特定颜色的物体。这样设定颜色值范围的方法,可以有效提升物体颜色的鉴识率。
精选文档
精选文档
13
精选文档