用颜色传感器感受颜色的变化

看到一个这样的视频:大致就是使用 Arduino 和颜色传感器判断 M&M 豆的颜色,M&M 豆的颜色其实并不多,所以该装置的作者使用了一个舵机和一个彩色的小仪表盘指示 M&M 豆的颜色。该项目的介绍地址如下(但并不是英文的):RGB Farb Sensor TCS34725 am Arduino

淘宝上可以找到同款的颜色传感器,一般来说会看到这两种样式的,一种是方形、一种是长条形两侧带孔的。价格差不多且功能一致,但是后者的安装孔的直径是3mm并且是双LED灯珠,前者是2.5mm安装孔加上单LED灯珠,看具体需求选择合适的版本。

两种规格的颜色传感器 TCS3472 图片来自于淘宝
两种规格的颜色传感器 TCS3472 图片来自于淘宝

这个传感器模块提供红色,绿色,蓝色(RGB)和清晰光感应值的数字输出,集成了红外阻挡滤光片,可最大限度地减少入射光的红外光谱成分,并可精确地进行颜色测量。

使用场景

颜色传感器 TCS3472 识别颜色 方形版本实物
颜色传感器 TCS3472 识别颜色,其方形版本的实物
把颜色传感器安装在小车上,用Arduino进行控制,识别到不同颜色的时候做出不同的指令。
把颜色传感器安装在小车上,使用 Arduino 进行控制,识别到不同颜色的时候做出不同的指令

接线参考

和 Arduino之间的接线方式如下表所示(只罗列了 Arduino Nano、Arduino UNO、D1 mini,其他模块的接线方式类似),实际上只要连接四根线即可运行:

TCS3472 颜色传感器Arduino UNOArduino NanoD1 mini
SDAA4 (SDA)A4 (SDA)D2 (SDA)
SCLA5 (SCL)A5 (SCL)D1 (SCL)
GNDGNDGNDGND
VIN5V5V5V

然后需要用到这个库文件:https://github.com/adafruit/Adafruit_TCS34725 。如何安装和使用Arduino IDE 中的库文件?可以查看这篇文章:Arduino 制造光污染 | 全彩灯带 WS2812 中“找一个合适的库”这一节。

参考示例代码

安装完毕之后,可以试着使用以下的程序(参考并修改自:Makerblog.at)试试看这个传感器的实际效果,注意这个传感器理论上可以识别 255*255*255 种颜色,但是实际上我们为了考虑到便利性无法为它定义出那么多种颜色。只要是红色占主导,那结果就是红色,比如,红色和深红都认为是红色。下方的代码中只识别了几种常见的颜色:

类似文章

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注