识别色彩只靠RGB吗?有8通道的传感器?看看AS7341的性能

用于色彩识别的传感器有多种,如TCS230、TCS3200及VEML6040等,见图1所示,但这些色彩传感器多是基于RGB来识别色彩的。

图1 色彩传感器

此次介绍的主角AS7341可见光传感器却之有较大的区别,它提供8个可见光检测通道,该传感器的功能模块如图2所示。这8个检测通道的波长分布期间如图3所示。

图2 AS7341传感器模块

图3 8个检测通道的波长分布

为有一个感性的认识,从图4可以了解到传感器所检测的色彩波长区间。

图4 色彩的波长区间

以黄色为例,RGB色彩传感器和AS7341可见光传感器的对比如下表所示。

该可见光传感器是基于ams公司推出的新一代AS7341光谱传感IC,该传感器有8个可见光通道、1个闪烁通道、1个NIR通道和1个未加滤光片的通道。它拥有6个独立的16位ADC通道,且可以并行处理数据。此外,该传感器板载了两颗高亮LED,可在暗光环境下进行补光。

该传感器的技术参数如下:

  • 供电电压:3.3V~5V

  • 可见光测量范围:F1(405-425nm)、F2(435-455nm)、F3(470-490nm)、F4(505-525nm)、F5(545-565nm)、F6(580-600nm)、F7(620-640nm)、F8(670-690nm)

  • 工作电流(不打开LED):<5mA

  • LED驱动电流:1-20等级(4-42mA)

  • I2C地址:0x39

  • 工作温度范围:-30℃~85℃

  • 工作湿度范围:5%RH~85%RH

  • 产品尺寸:18*14mm

其主要的应用方向为:

  • 高准度色彩检测与匹配

  • 颜色混合效果检测

  • 灯光色温调节

  • 灯光氛围控制

  • 植物养殖

该传感器的引脚功能如下表所示:

了解了该传感器的性能,那我们该如何使用它呢?

我们这里介绍的方法是为它配上一块FireBeetle-ESP32开发板,它与传感器的连接情况如图5所示,即除电源引脚连接到3.3V电源外,其它2个引脚是直接连接到I2C接口的对应引脚上。

图5 连接关系

要进行色彩的检测,其实现起来也极为方便,具体的步骤是:

1.以Arduino IDE为开发工具(版本为1.8.5),选取“项目”菜单下“加载库”的“添加一个ZIP库”选项;

2.在文件下载对话框,选取“DFRobot_AS7341-master.ZIP”;

图6加载ZIP库

3.在完成后,在“项目”菜单 “加载库”下即可见到“DFRobot_AS7341-master”选项。有了DFRobot_AS7341库,就可以编写相应的控制程序了。

4选取“文件”菜单下的“新建”选项;

5.录入对应的程序;

6.编译并下载程序后,通过串口监视器即可见到图8和图9的检测结果。

图7 检测程序及程序下载

图8 自然光检测值

图9 弱光检测值

相应的检测程序为:

#include'DFRobot_AS7341.h'

DFRobot_AS7341as7341;

void setup(void)

{

Serial.begin(115200);

while (as7341.begin() != 0) {

Serial.println('IIC init failed,please check if the wire connection is correct');

delay(1000);

}

}

void loop(void)

{

DFRobot_AS7341::sModeOneData_t data1;

DFRobot_AS7341::sModeTwoData_t data2;

as7341.startMeasure(as7341.eF1F4ClearNIR);

data1 = as7341.readSpectralDataOne();

Serial.print('F1(405-425nm):');

Serial.println(data1.ADF1);

Serial.print('F2(435-455nm):');

Serial.println(data1.ADF2);

Serial.print('F3(470-490nm):');

Serial.println(data1.ADF3);

Serial.print('F4(505-525nm):');

Serial.println(data1.ADF4);

as7341.startMeasure(as7341.eF5F8ClearNIR);

data2 = as7341.readSpectralDataTwo();

Serial.print('F5(545-565nm):');

Serial.println(data2.ADF5);

Serial.print('F6(580-600nm):');

Serial.println(data2.ADF6);

Serial.print('F7(620-640nm):');

Serial.println(data2.ADF7);

Serial.print('F8(670-690nm):');

Serial.println(data2.ADF8);

Serial.print('Clear:');

Serial.println(data2.ADCLEAR);

Serial.print('NIR:');

Serial.println(data2.ADNIR);

delay(1000);

}

若通过粉红色的吹塑纸来提供检测的样本,则其检测结果如图11 所示,说明在各色彩通道中F8通道的色彩成分最突出。

图10 粉红色检测

图11粉红色检测值

除了色彩检测外,该传感器还能对指定频率的光进行检测,其程序如图12所示。

图12 光频率检测程序及下载

在自然光的条件下,其检测值如图13所示;在打开白纸灯的情况下,其检测如图14所示,这是由于市电的工频为50Hz,故其结果如此。

图13自然光检测结果

图14 开灯后的检测值

有了可见光传感器AS7341 ,我们在进行色彩的识别是不是方便了很多!

原标题:识别色彩只靠RGB吗?有8通道的传感器?看看AS7341的性...

(0)

相关推荐

  • 罗姆传感器评估套件(6)接近照度传感器(PS/ALS)RPR-0521RS

    往期回顾: 罗姆传感器评估套件开箱 罗姆传感器评估套件(2)Sensor Shield的使用和软件平台搭建 罗姆传感器评估套件(3)加速度传感器KX022-1020 罗姆传感器评估套件(4)气压传感器 ...

  • 罗姆传感器评估套件(3)加速度传感器KX022-1020

    往期回顾: 罗姆传感器评估套件开箱 罗姆传感器评估套件(2)Sensor Shield的使用和软件平台搭建 传感器介绍 套件里的加速度传感器型号为KX022-1020,是一款三轴加速度传感器. 其芯片 ...

  • ESP32芯片-LEDC外设(另附Arduino代码)

    在文档内,我们就看这里就好 在大量的说明舵机之前,不妨让我们先来了解一些关于芯片本身的能力: https://docs.espressif.com/projects/esp-idf/en/latest ...

  • 一个有趣的颜色传感器

    首发:Rice 嵌入式开发技术分享 作者:RiceDIY 简介 很久没有更新文章了,今天这篇文章是给电子芯吧客评测一个传感器--AS7341,这款传感器目前已经写成RT-Thread的软件包了.如果你 ...

  • 多普勒传感器模块RCWL

    文章目录[隐藏] RCWL-0516微波雷达运动传感器模块 RCWL-0516模块的运用 无意中得到一块RCWL-0516微波雷达运动传感器模块也称RCWL-0516多普勒模块,RCWL-0516模块 ...

  • 罗姆传感器评估套件(5)地磁传感器BM1422GMV

    往期回顾: 罗姆传感器评估套件开箱 罗姆传感器评估套件(2)Sensor Shield的使用和软件平台搭建 罗姆传感器评估套件(3)加速度传感器KX022-1020 罗姆传感器评估套件(4)气压传感器 ...

  • 给Phyphox增加位移传感器(1)

    给Phyphox增加位移传感器(1) 做些准备工作,给Phyphox增加位移传感器,以便有多种方法实现运动学中的.离开实验室的实验. VL6180X是一款TOF飞行时间传感器,测量原理是通过芯片上的一 ...

  • 居家实验:为phyphox插上压强计的翅膀(一)

    居家实验:为phyphox插上压强计的翅膀(一) 零. 背景说明 使用phyphox已经有一段时间了,它里面带了一个气压计实验,但是是灰色的,即使你点击它,它也只会提示这个实验不可用.据说有气压计的手 ...

  • 居家实验:Arduino&ADS1115进行通、断电自感

    居家实验:Arduino&ADS1115进行通.断电自感 一.常见几种通电自感和断电自感实验方案 1.教材方案 一种方案是教材上的方案,就是下面的图1.有仪器厂家的产品,或者有研究者建议线圈L ...

  • ESPcopter无人机源码分析.1

    ESPcopter无人机初探(UWB定位+ESP8266MCU) 这篇文章就开始对无人机的源码开始分析了,对飞机的具体说明在上了链接~ 按说这个库是可以记载在Arduino的,但是失败了 http:/ ...

  • 用旋转编码器解决phyphox角度测量问题

    一直要琢磨使用旋转编码器,这两天找资料看了看,发现也简单,也不简单.最便宜几元钱的.使用的最多的是增量式旋转编码器,就是顺时针.逆时针无限制,可以无休止转动下去,通过光电信号的检测来判断转动方向并返回 ...

  • Dji TT扩展件与TT使用USB端串口通讯.下

    void setup() { Serial.begin(115200); delay(100); Serial.println(); Serial1.begin(0, SERIAL_8N1, -1, ...