风筝
发表于: 2022-4-12 14:26:10 | 显示全部楼层

Sparkfun公司的三合一光谱传感器AS7265x模块是一款功能强大的光谱传感器,可以用于研究光的特征。我们可以将AS7265x连接到Arduino或任何其他微控制器。使用三合一光谱传感器AS7265x,我们可以制作自己的分光光度计(Spectrophotometer)。该传感器能够测量和表征各种材料如何吸收或反射18种不同频率的光,范围从410nm到940nm。在之前的帖子中,我们介绍了颜色传感器TCS3200和紫外线传感器ML8511,它们也可以测量颜色频率。


光谱学(Spectroscopy)一词是指研究物质与电磁辐射之间的相互作用,作为辐射波长或频率的函数。简而言之,光谱学是对颜色的精确研究,从可见光推广到电磁光谱的所有波段。通过对物体的光进行这种解剖和分析,研究人员可以推断出该物体的物理特性,例如温度、质量、光度和成分。

Spectroscopy.jpg


在本文中,我们将三合一光谱传感器AS7265x与Arduino开发板连接,并执行所有18个通道的基本读数。我们还将读取原始数据以及温度。本文是AS7265x的基本初学者指南,我们将了解传感器的构造、工作、内部架构以及所有其他功能。该传感器由3种不同的传感器(如 AS72651 (UV)、AS72652 (VIS) 和 AS72653 (NIR))组合而成,因此称为三合一光谱传感器。


所需的组件

●    Arduino Nano开发板

●    三合一光谱传感器AS7265x

●    5V直流电源

●    连接跳线

●    面包板


什么是光谱学?

术语“光谱学(Spectroscopy)”是一种利用辐射来获取有关物质结构和性质的信息的技术。光谱技术的基本原理是将一束电磁辐射照射到材料样本上,并观察它对这种刺激的反应。该响应通常记录为辐射波长的函数。作为波长函数的响应图称为光谱。

Light-Spectrum.jpg


光谱学在物理和分析化学中用于检测、确定或量化样品的分子或结构组成。每种类型的分子和原子都会以自己特有的方式反射、吸收或发射电磁辐射。光谱学使用这些特征来推断和分析样品的成分。


光谱学的一些应用领域如下:

1.  确定样品的原子结构

2.  确定肌肉的代谢结构

3.  监测水生生态系统中的溶解氧含量

4.  研究遥远星系的光谱发射线

5.  改变药物结构以提高疗效

6.  蛋白质的表征

7.  土壤养分分析

8.  医院呼吸气体分析


AS7265x三合一光谱传感器

AS7265x是Sparkfun最简单的三合一光谱传感器(Triad Spectroscopy Sensor),也可以称为分光光度计(Spectrophotometer)。该传感器由三个传感器AS72651、AS72652和AS72653组合而成。 AS72651用于测量可见光谱,AS72652用于测量紫外线,AS72653是一款用于测量红外辐射的红外传感器。该传感器模块还有一个4Mbit的EEPROM,由驱动系统的固件加载。 AS72651在上电时读取EEPROM。

AS7265x-Triad-Spectroscopy-Sensor.jpg


AS7265x三合一光谱传感器可检测410nm至940nm波长的光。该传感器能够测量18个单独的光频率,精度低至28.6 nW/cm2,精度为+/-12%。该传感器工作在3.3V。该传感器使用I2C接口,I2C地址为0x49。传感器的默认波特率为115200。

AS7265x-Spectral-Range.jpg


该传感器还具有一个UART接口,可以通过对硬件进行简单修改来访问该接口。串口使用AT命令集,可在AS7265x数据表中找到。


AS7265x传感器上的LED灯

该传感器包含3个不同的LED,即白色LED (5700K)、UV LED (405nm) 和IR LED (875nm)。这些LED的主要目的是用最大的可见光或不可见光照亮目标物体。

AS7265x-LED.jpg


除了3个照明LED外,传感器还有一个电源LED和一个状态LED。蓝色状态LED指示AS72651传感器的各种状态。可以通过SparkFun库禁用该LED。红色电源LED指示电路板是否正确通电。如果红灯干扰传感器读数,您可以通过切断其相邻的跳线来禁用红色LED。


AS7265x的UART/I2C 接口

默认情况下,传感器使用I2C接口。传感器的I2C地址是0x49。您只需将传感器与微控制器的I2C引脚连接,然后使用Sparkfun库读取数据。


该模块还提供UART串​口。您可以使用AT命令访问串口数据。AT命令列表可在AS7265x数据表中找到。要启用串口并禁用I2C接口,您必须修改两个跳线。

AS7265x-UART-I2C-Interface.jpg


1.  必须打开开发板正面的I2C跳线,移除TX和RX线上的上拉电阻。

2.  板子背面的JP2用焊锡跳线连接。


使用AT命令读取AS7265x串行数据

为了从AS7265x读取串口数据,您需要先使用上述方法启用UART接口。然后将FTDI模块连接到传感器。默认设置为3.3V,因此在VCC上连接3.3V。

AS7265x-FTDI.jpg


串口使用115200的波特率。要测试连接,请在Arduino IDE打开串口监视器。发送命令“AT”,然后查找“OK”响应。

AT-Check.jpg


三合一光谱传感器AS7265x与Arduino的硬件连接

现在,让我们了解一下三合一光谱传感器AS7265x与Arduino的连接方式。使用Sparkfun AS7265x光谱传感器的I2C接口连接Arduino来读取数据。下面给出了Arduino和AS7265x之间的连接。

AS7265x-Arduino-1.jpg


将AS7265x模块的3.3V和GND引脚分别连接到Arduino开发板的3.3V和GND引脚。此外,将AS7265x的SDA和SCL引脚分别连接到Arduino的A4和A5。|

AS7265x-Arduino-Interface.jpg


硬件连接完成后,您可以开始对Arduino开发板进行编程,了解有关AS7265x光谱传感器的更多信息。

AS7265x的Arduino库

AS7265x传感器由Sparkfun开发。 因此,他们编写了一个Arduino库来读取AS7265x光谱传感器。 安装库的最简单方法是在Arduino库管理器中搜索SparkFun Spectral Triad。

AS7265-Library.jpg


您也可以从Github获取该库。 这个Arduino库可用于控制Sparkfun AS7265x光谱传感器,可通过I2C进行配置。


示例1:读取18个通道的基础数据

此示例通过I2C获取372nm到966nm的所有18个通道的读数并将它们输出到串口。完整代码: code 1.rar (480 Bytes, 下载次数: 29)


上传代码后,打开串口监视器。传感器将读取所有18个通道的数据,并显示在串口监视器上。

example-1.jpg


示例2:读取数据并操作LED灯

此示例获取所有18个通道的读数,并在操作时闪烁LED。完整代码: code 2.rar (635 Bytes, 下载次数: 21)


上传代码后,通过串口监视器中的按键发送命令。 LED将开始闪烁并读取所有18个值。

example-2.jpg


示例3:读取原始值

此示例显示如何输出原始传感器值。这可能永远不需要,因为已针对每个传感器进行了调整校准值。 code 3.rar (602 Bytes, 下载次数: 24)


上传代码后,串口监视器将显示读取到的原始值。

example4.jpg


以上是有助于您了解AS7265x三合一光谱传感器基础知识的示例。您可以在其库示例中找到更多示例。如果有任何疑问,请随时在本帖下面回复。

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 714 | 回复: 1501



手机版|

GMT+8, 2024-12-23 01:22 , Processed in 0.040314 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表