电子信息爱好者们
硬禾器件小百科 | 传感器系列,第二十三期来啦!
今天我们来学习颜色传感器,将为大家介绍传感器的工作原理;常见种类;如何查找和购买,以及通过MCU实际演示对于传感器数据的读取过程。
颜色传感器(Color Sensor)是一种能够检测和识别颜色的传感器,它广泛应用于工业自动化、机器人技术、智能家居、消费电子等领域。颜色传感器通过测量物体表面反射的光来确定其颜色,通常包含一个或多个光源(如LED)和一个光电探测器。

颜色传感器的工作原理是基于色彩的光学特性,它一般是通过自带光源照射物体, 通常是使用红色、绿色和蓝色的LED来照射目标物体。由于不同颜色的物体表面可以反射不同波长的光,而传感器中的光电探测器,如光电二极管或光电晶体管,可以接收这些反射光。并且不同颜色的光在物体表面反射的比例不同,导致探测器接收到的光强度不同,再经过光电转换后,传感器内部的处理电路对电信号进行分析即可确定物体的颜色。

依据工作原理的不同,颜色传感器可以分为RGB颜色传感器,单色颜色传感器和光谱颜色传感器。
3.1 RGB颜色传感器

RGB颜色传感器是最常见的颜色传感器,一般它包含透镜,滤色片和三个独立的光电二极管,分别对应红色、绿色和蓝色光。

当光照射到物体上时,物体会反射出不同颜色的光。例如,红色物体的反射光成分主要为红色;黄色物体反射光的成分为红光和绿光;白色物体的反射光包含红、绿、蓝全部成分;紫色物体反射红光和蓝光。由此可知,物体的颜色由物体反射的光色(R、G、B)成分的比例决定,人眼就是通过获取反射光成分来识别物体的颜色。与人眼一样,颜色传感器是使用光电二极管接收光线,通过计算接收到的R、G、B量的比例来识别颜色。

在下面例子的左半部分,由于灰色物体反射的红绿蓝光比是1:1:1, 所以传感器检测为灰色;而右边黄色物体反射红绿蓝光比是4:4:1, 故检测为黄色。

这是一个(color sensor)颜色传感器IC的典型结构,内部搭载了彩色滤光片(Color filter)和红外截止滤光片(Ir cut filter)。

滤光片的作用是使得不同波长或者说不同颜色的光的分光特性更明显。而红外截止滤光片可以过滤掉不必要的红外光干扰,使得结果更加准确。

3.2 单色颜色传感器

单色颜色传感器通常专门用于检测特定波长的光,它只对单一颜色或特定波长的光敏感,广泛使用在需要对特定颜色进行精确检测的场合。
比如在工业自动化领域:单色颜色传感器可用于检测生产线上的产品颜色,确保产品颜色的一致性。一般来说,它被设计用于仅仅检测单蓝色(λp=460 nm)、单绿色(λp=540 nm)或单红色(λp=660 nm),相比RGB三色传感器,它具有高精度,响应速度快,简单可靠的优点。下图这款单色传感器就是在绿色540nm的波长情况下具有最高的频率响应。

3.3 光谱颜色传感器

光谱颜色传感器是能够检测和分析不同波长范围内的光谱成分。它通常具有多个可见光通道,通过测量光在多个波长上的强度来获取详细的光谱信息,从而精确识别和区分颜色。

与传统的RGB颜色传感器不同,光谱颜色传感器可以提供更精细的颜色信息,适用于需要高精度颜色检测的应用,如医疗诊断,物质分析等。

例如,在农业种植中,光谱颜色传感器能够对照射到作物上的光进行快速准确的光谱测量,根据测量结果,可调整照明设备,将其与每种植物的光照需求相匹配。
如果有购买颜色传感器的需求,推荐去 DigiKey 搜索并购买,针对所需传感器都详细列出其工作原理、使用方法,购买途径等,非常方便。
我们到 DigiKey 首页上输入“颜色传感器”,可以看到,在色彩传感器类别下,有102种货品。

我们来演示使用 MCU 读取显示颜色传感器的数据。扩展板上面装载了一款常见的RGB颜色传感器,屏幕实时显示了当前它传回来的RGB三色的强度值。程序绘制输出了白色的方块,对应的是实验室的白色光照环境;将手机中的绿色图片放在传感器的上方,可以看到,显示绿色的数值达到了约1500左右,程序相应输出绘制了绿色方块。

具体的实验配置如下:
编程语言:MicroPython
编程软件:Thonny
主控芯片:RP2040
主控板卡:基于RP2040的带屏调试助手
https://www.eetree.cn/project/detail/1796
完整的主程序代码,屏幕显示驱动和数据转换部分代码,可扫描二维码查看

颜色传感器是我们常用的一种电子感知元器件。本文带大家了解了颜色传感器的工作原理、使用方法、查找和购买途径,并演示了通过树莓派对颜色传感器数据进行读取,大家也可以下载代码自行尝试一起学习。