TCS3200 颜色传感器使用说明
TCS3200 颜色传感器是一款全彩的颜色检测器,包括了一块 TAOS TCS3200RGB 感应芯片和 4 个白光 LED 灯。它适合于色度计测量应用领域,例如彩色打印、医疗诊断、计算机彩色监视器校准以及油漆、纺织品、化妆品和印刷材料的过程控制。
颜色检测原理
通常所看到的物体颜色,实际上是物体表面吸收了照射到它上面的白光(日光)中的一部分有色成分,而反射出的另一部分有色光在人眼中的反应。白色是由各种频率的可见光混合在一起构成的,也就是说白光中包含着各种颜色的色光(如红 R、黄 Y、绿 G、青 V、蓝 B、紫 P)。根据德国物理学家赫姆霍兹(Helinholtz)的三原色理论可知,各种颜色是由不同比例的三原色(红、绿、蓝)混合而成的。
TCS3200 颜色传感器工作原理
TCS3200D 传感器有红绿蓝和清除 4 种滤光器,可以通过其引脚 S2 和 S3 的高低电平来选择滤波器模式。当选定一个颜色滤波器时,它只允许某种特定的原色通过,阻止其它原色的通过。例如:当选择红色滤波器时,入射光中只有红色可以通过,蓝色和绿色都被阻止,这样就可以得到红色光的光强;同理,选择其它的滤波器,就可以得到蓝色光和绿色光的光强。通过这三个光强值,就可以分析出反射到 TCS3200D 传感器上的光的颜色。
TCS3200 传感器有可编程的彩色光到电信号频率的转换器,当被测物体反射光的红、绿、蓝三色光线分别透过相应滤波器到达 TAOS TCS3200RGB 感应芯片时,其置的振荡器会输出方波,方波频率与所感应的光强成比例关系,光线越强,置的振荡器方波频率越高。TCS3200 传感器有一个 OUT 引脚,它输出信号的频率与置振荡器的频率也成比例关系,它们的比率因子可以靠其引脚 S0 和 S1 的高低电平来选择。
白平衡校正方法
为了换算出被测物体由三原色光强组成的 RGB 颜色值,需要进行白平衡校正。白平衡校正方法是:把一个白色物体放置在 TCS3200 颜色传感器之下,两者相距 10mm 左右,点亮传感器上的 4 个白光 LED 灯,用 Arduino 控制器的定时器设置一固定时间 1s,然后选通三原色的滤波器,让被测物体反射光中红、绿、蓝三色光分别通过滤波器,计算 1s 时间三色光对应的 TCS3200 传感器 OUT 输出信号脉冲数(单位时间的脉冲数包含了输出信号的频率信息),再通过正比算式得到白色物体 RGB 值 255 与三色光脉冲数的比例因子。有了白平衡校正得到的 RGB 比例因子,则其它颜色物体反射光中红、绿、蓝三色光对应的 TCS3200 输出信号 1s 脉冲数乘以 R、G、B 比例因子,就可换算出了被测物体的 RGB 标准值了。
硬件连线问题
TCS3200 传感器各控制引脚与 Arduino 控制器数字端口连线的对应关系是:S0 对应数字端口 6,S1 对应数字端口 5,S2 对应数字端口 4,S3 对应数字端口 3,OUT 对应数字端口 2,LED 对应数字端口 7。
测试程序
下文展示了一个带有白平衡的测试程序,把这个程序下载到 Arduino 控制器中,同时把一个白色物体放置在 TCS3200 颜色传感器之下,点亮传感器上的 4 个白光 LED 灯,再打开 Arduino IDE 的串口监视器,会出现下图监视画面,可以在该画面中找到白色物体 RGB 值 255 以及 RGB 比例因子。(可通过 QQ 截图来锁定画面,以便观察。)
在实际应用中,可以根据需要选择不同的滤波器模式和输出信号频率,以进行不同的颜色检测和测量。TCS3200 颜色传感器的应用前景非常广泛,是一种非常有前途的颜色检测解决方案。