5回答

0收藏

从零开始,罗姆传感器评估套件搭载BH1745NUC颜色传感器通...

模拟/电源 模拟/电源 718 人阅读 | 5 人回复 | 2019-07-27

使Arduino+各种传感器的电子制作更轻松的罗姆传感器评估套件。本文将讲述使用以前从未接触过的"颜色传感器"来验证罗姆传感器评估套件的强大功能。


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


照片1 颜色传感器模块BH1745NUC


照片2 颜色传感器模块BH1745NUC


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


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


照片3 颜色传感器的安装


安装完成后,应进行Arduino的程序设定。接下来,和地磁传感器时一样,应安装使用传感器的库。通过颜色传感器说明页面下载颜色传感器用的库文件。


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


照片4 添加库"BH1745NUC"


顺利添加库后,可以在"sketch示例"及"使用库"的栏中确认BH1745NUC的标识。


照片5 BH1745NUC被添加到库


运行颜色传感器的样本程序(sketch)

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


BH1745NUC的样本程序(sketch):


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


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


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

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


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


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:


分享到:
回复

使用道具 举报

回答|共 5 个

倒序浏览

沙发

wudianjun2001

发表于 2019-7-27 15:48:24 | 只看该作者

不错的资料
板凳

wudianjun2001

发表于 2019-7-27 15:50:38 | 只看该作者

不错的资料
地板

流水源

发表于 2019-7-28 13:09:59 | 只看该作者

学习学习

rohm.png (5.1 KB, 下载次数: 6)

rohm.png
5#

shakencity

发表于 2019-7-29 10:07:51 | 只看该作者

6#

shakencity

发表于 2019-7-29 10:08:48 | 只看该作者

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

本版积分规则

关闭

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