查看: 3379|回复: 2

颜色传感器模块

[复制链接]

该用户从未签到

发表于 2017-2-3 13:41:47 | 显示全部楼层 |阅读模式
分享到:
1.png
使Arduino+各种传感器的电子制作更轻松的罗姆传感器评估套件

何谓颜色传感器?

恰如其名,颜色传感器是可以获取颜色数据的传感器。颜色传感器还有"色彩传感器"、"颜色识别传感器"、"辨色传感器"、"数字颜色传感器"等名称。颜色传感器的原理是通过其内部的红(R)、绿(G)、蓝(B)传感器加上滤色器将可视光区分为不同的信号来获取颜色数据。

罗姆传感器评估套件中搭载了"BH1745NUC"作为颜色传感器模块。
2.png
照片1 颜色传感器模块BH1745NUC

3.png
照片2 颜色传感器模块BH1745NUC

颜色传感器的试用

下面,我们介绍通过Arduino使用颜色传感器的方法。

颜色传感器的安装
从下图可知,颜色传感器的安装区域与地磁传感器一样,均为I2C I/F区。关于电源电压,地磁传感器为1.8V,颜色传感器为3V,因此应将左上方的电源电压切换跳线针脚切换到3V的位置。

4.png
图1 传感器护罩的连接方法说明

5.png
照片3 颜色传感器的安装

安装完成后,应进行Arduino的程序设定。

下载颜色传感器用的库文件
接下来,和地磁传感器时一样,应安装使用传感器的库。通过颜色传感器说明页面下方的软件下载来下载库文件。


图2 颜色传感器用库文件的下载

文件下载完成后,打开Arduino IDE添加库,选择下载的文件"BH1745NUC.zip",颜色传感器的动作准备即告完成。
7.png
照片4 添加库"BH1745NUC"



顺利添加库后,可以在"sketch示例"及"使用库"的栏中确认BH1745NUC的标识。
8.png
照片5 BH1745NUC被添加到库



运行颜色传感器的样本程序(sketch)
从sketch示例中,调用BH1745NUC的样本程序。该程序单纯显示颜色传感器获取的值。
※样本程序(sketch)的编译未通过时,可能是Arduino IDE较旧,请用最新的Arduino IDE进行尝试。

BH1745NUC的样本程序(sketch)
9.png
10.png

11.png
照片6 颜色传感器样本程序的运行结果

观看串行监视器中显示的数值,可以看见RED、GREEN、BLUE中增加了CLEAR。这个CLEAR表示可以获取可视光波长强度的值。一边观察串行监视器,一边将带颜色的物体靠近传感器,或者将光靠近传感器,可以发现传感器的值会发生变化。若将传感器遮蔽起来,由于光自身无法进入传感器,CLEAR的值会变小。这种情况下,RGB的数值也会变小,很难进行颜色判别。与此相反,若用彩色LED等照射传感器,则可以检测到超过10000的数值。由此可见,通过彩色LED等进行输入是比较合适的。

利用颜色传感器分析颜色,用全彩色LED显示

我们通过样品对颜色传感器的动作进行确认后,下一步将对其进行具体的应用。首先,为了正确处理颜色数据,我们必须制作一个简单的电路,即通过颜色传感器判别颜色,并将判别的颜色用全彩色LED显示出来。

将颜色传感器的值通过全彩色LED显示的sketch程序
12.png
13.png
for(int i=0;i<3;i++){
if(maxVal < rgbc){
maxVal = rgbc;
}
}
rVal = (float(rgbc[0])/maxVal)*255;
gVal = (float(rgbc[1])/maxVal)*255;
bVal = (float(rgbc[2])/maxVal)*255;


此程序改变了样本程序的一部分。在红色指定的部分,RGB获取最大值,将其作为最大值(maxVal)保存在变量中,然后与该最大值进行比较,计算出RGB各颜色的强度比率(float(rgbc[0])/maxVal部分)。然后,由于AnalogWrite可输出0~255的值,通过颜色强度比率乘以AnalogWrite的最大值255,将检出的颜色大致转换为RGB,输出到全彩色LED中。

由于试用的全彩色LED的特性不同,有时会出现无法正确反映RGB各值的情况,这种情况下可通过调整LED的电阻值、或者忽略程序中的小值等方法,来获取分级的颜色。在以下程序中,我们将红色字符部分小于50的各值忽略不计,将其作为0来处理。

//设定各颜色的阈值
if(rVal < 50){
rVal = 0;
}
if(gVal < 50){
gVal = 0;
}
if(bVal < 50){
bVal = 0;
}

将颜色传感器的值通过全彩色LED显示的sketch程序2

14.png
15.png

这一边的颜色清晰地反映出来了。整体上的印象是比以往的操作更轻松。
总结
不同的颜色传感器、使用方法,有时会出现各自十分有趣的情形。下一次,我们将在颜色传感器的基础上将气压传感器、温度传感器等多个传感器组合在一起,制作出更为智能的照明元器件!
文章转自罗姆官网,原文链接:http://www.rohm.com.cn/web/china ... /device-plus/entry3

ROHM Sensor shield-EVK-001传感器套件免费申请
https://www.cirmall.com/bbs/thread-63300-1-1.html
回复

使用道具 举报

  • TA的每日心情
    奋斗
    2023-5-10 20:09
  • 签到天数: 1742 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2017-2-5 08:57:58 | 显示全部楼层
    不错的传感器!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-5-12 14:30
  • 签到天数: 1730 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2017-2-7 15:12:16 | 显示全部楼层
    现在视觉识别比较流行。传感器好东西
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 15:17 , Processed in 0.135547 second(s), 21 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.