概述
Me Color Sensor 是一款可识别多种颜色的颜色传感器。可识别黑、黄、红、蓝、绿、白六种颜色。本模块接口是蓝白色标,说明是I2C通信模式,需要连接到主板上带有蓝白色标识接口。
可见光是由红、绿、蓝三种基色光组成,当光线照射在物体上时,因为物体表面性质存在差异,会产生对基色光不同程度的吸收和反射效应,颜色传感器则是通过检测三种基色光的反射强度来判断物体表面的颜色。
应用场景
- 识别色卡或物体
- 解魔方机器人
- 颜色识别的分拣机
注意事项
- 识别高度不超过1.5cm
- 识别颜色为黑、黄、红、蓝、绿、白
- 识别颜色的响应速度需0.16ms以上
技术规格
● 工作电压:5V
● 工作电流:<5 mA
● 工作温度:-20~60℃
● 信号模式:I2C通信
● 模块尺寸:48x24x18mm(长x宽x高)
功能特性
● 模块的白色区域是与金属梁接触的参考区域;
● 具有反接保护,电源反接不会损坏IC;
● 支持Arduino IDE编程, 并且提供运行库来简化编程;
● 支持mBlock图形化编程,适合全年龄用户;
● 使用RJ25接口连线方便;
● 模块化安装,兼容乐高系列。
引脚定义
序号 | 引脚 | 功能 |
---|---|---|
1 | SCL | I2C通讯(时钟管脚) |
2 | SDA | I2C通讯(数据管脚) |
3 | GND | 地线 |
4 | VCC | 电源线 |
5 | S1 | 补光灯控制管脚 |
5 | S1 | 补光灯控制管脚 |
连线模式
● RJ25连接
由于颜色传感器模块接口是蓝白色色标,当使用RJ25接口时,需要连接到主控板上带有蓝白色色标的接口。以Makeblock MegaPiPro为例,可以连接到6、7、8、9、10、11、12号接口,如图:
● 杜邦线连接
当使用杜邦线连接到Arduino Mega2560主板的时候,模块SCL、SDA引脚需要连接到I2C接口,S1、S2引脚需要连接到数字接口,即连接到A10、A11接口如下图所示:
编程指导
● mBlock 编程
颜色传感器模块支持mblock 编程环境,该模块指令使用简介如下:
模块 | 描述 |
---|---|
参数一: 选择模块所连接的端口;
参数二: 选择目标颜色 |
|
参数一:选择模块所连接的端口;
参数二:选择相应颜色值 |
下面是使用LED模块来显示颜色传感器所采集到的颜色:
● Arduino 编程
如果使用Arduino编程,需要调用库Makeblock-Library-master 来控制颜色传感器模块
本程序通过Arduino编程,使用颜色传感器识别不同颜色时,我们可通过串口监视器查看颜色数据。
原理解析
颜色传感器模块集成BH1745NUC数字颜色传感器,采用分时复用方式实现多模块并联采集,单模块转换时间160mS。为减少指示灯对传感器的影响,在开启传感器电源后指示灯熄灭。
使用I2C总线读取转换结果。
使用控制方式如下:
LED_ON | LED_OFF | |
---|---|---|
S1 | + | – |
Sensor ON | Sensor OFF | |
S2 | – | + |
开启补光灯:S1 = HIGH;关闭补光灯:S1 = LOW;
开启传感器:S2 = LOW; 关闭传感器:S2 = HIGH;
原理图