Qwiic接近传感器(VCNL4040)连接指南

页面
受欢迎的 最喜欢的 0

介绍

Qwiic接近传感器一个简单的红外存在和环境光传感器利用VCNL4040。该传感器非常适合检测是否有东西出现在传感器前面;对物体的定性检测一直到20厘米走了。这意味着你可以检测出是否有东西在那里,如果距离上次读数更近或更远,但很难说它在7.2厘米之外。如果你需要精确距离的定量读数,看看火花吧英国威廉希尔2米4米飞行时间(ToF)传感器mm精度。

英国威廉希尔SparkFun接近传感器突破- 20cm,VCNL4040 (Qwiic)

英国威廉希尔SparkFun接近传感器突破- 20cm,VCNL4040 (Qwiic)

森- 15177
6.95美元

我们经常在自动毛巾分配器上看到这种类型的传感器,自动水龙头,等。然而,VCNL4040已经无死区可以一直读到传感器的表面。Spar英国威廉希尔kFun接近VCNL4040传感器是一个伟大的数字替代流行的模拟PIR传感器。的Qwiic接近传感器它也有一个环境光传感器,如果你需要一个数字光传感器为你的下一个闪光大炮。

这是我们众多Qwiic兼容板之一!简单地插电就可以了。没有焊接,不知道是SDA还是SCL,不需要电压调节或转换!

所需的材料

Qwiic接近传感器确实需要一些额外的项目,让您开始。你可能已经有一些这样的项目,因此,您可以根据需要随意修改购物车。

英国威廉希尔SparkFun RedBoard Qwiic

英国威廉希尔SparkFun RedBoard Qwiic

dev - 15123
19.95美元
英国威廉希尔SparkFun Qwiic电缆组件

英国威廉希尔SparkFun Qwiic电缆组件

工具- 15081
7.95美元

建议阅读

如果你不熟悉跳投垫或者我2C一定要看看这些基础教程。

I2C

I2C简介,目前使用的主要嵌入式通信协议之一。

如何使用跳线板和PCB跟踪

处理PCB跳线板和跟踪是一项基本技能。williamhill英格兰学习如何切割PCB痕迹,在焊盘之间添加焊料跳线以重新连接,如果痕迹损坏,用绿线法修复痕迹。

如果你不熟悉Qwiic系统,我们推荐阅读下面是概述

Qwiic连接系统
Qwiic连接系统

硬件概述

注意:如果您想在本教程或示例代码之外做任何事情,请参阅 VCNL4040数据表获取有关传感器功能的详细信息。

功率LED

有一个电源状态LED帮助确保你的Qwiic操纵杆正在获得电源。你可以通过极化 Qwiic连接器系统或突破针(压水式反应堆接地)提供。这个Qwiic系统是要使用的3.3 v,一定要这样使用Qwiic系统时使用另一个电压。

功率LED

VCNL4040传感器

VCNL4040是a近距离传感器(PS),环境光传感器(肌萎缩性侧索硬化症),一个高功率红外发射器(IRED)集成到单个包中。环境光传感器和接近传感器在一个平行的结构中工作。两个传感器和红外发射器的组合形成接近探测器。

VCNL4040传感器

传感器的工作电压范围从2.5 v3.6 v。建议您使用这个板与预期的3.3 v的Qwiic连接系统。该VCNL4040还包括良好的温度补偿。有关本指引未涵盖的任何详情,请参阅数据表

注意:这个传感器非常适合检测质量变化(如果一个物体在那里或自上次读取后移动)。如果你需要定量的距离读数,就像精确的距离,看看火花吧英国威廉希尔 2米4米飞行时间(ToF)传感器mm精度。

红外发射器

红外发射器对红光a免疫940海里波长(对于那些离散的应用)和汇聚电流是可编程的(200毫安违约)。有关红外发射器的详细信息,请参阅数据表

环境光传感器(ALS)

VCNL4040提供a16位高分辨率ALS±10%的精度和免疫荧光闪烁。环境光感测能力降至0.01勒克斯/阶跃,VCNL4040在低透射率透镜设计(暗透镜)下工作良好。此外,滤芯m专利技术无需单片机资源,具有强大的背景光对消能力(包括太阳光)。

接近传感器(PS)

接近传感器具有智能持久性,这样既避免了近距离感知的误判,又保持了快速的响应时间。在有功模式下,一个测量可以要求更多的设计灵活性和/或节能。

Qwiic或者我2C

2C地址

传感器只有一个从地址0 x60(十六进制)的7位寻址,后我2C协议。

连接

使用Qwiic接近传感器最简单的方法是通过Qwiic连接系统。I的连接器是极化的2C连接和电源。(*它们被绑在相应的断接针上。)

Qwiic连接器

然而,该板还提供了五个标记的断接引脚。你可以把这些线和I连接起来2你的单片机和电源插头的C总线(3.3 v接地),如果没有Qwiic连接器。中断引脚被分离出来用于触发事件。

突破针

中断销

可为环境光传感器和接近传感器编程高中断阈值和低中断阈值,允许组件使用最少的微控制器资源。可调持久性设置中断事件发生前所需的连续命中量,防止错误触发。

VCNL4040还支持易于使用的接近威廉希尔公司在哪检测逻辑模式,当超过PS高阈值时触发,当接近度读数低于PS低阈值时自动重置中断pin。

可以通过从…中读取数据来清除中断 INT_Flag注册(将其重置为“0”)然后将INT pin重置为high。有关中断的详细信息,请参阅 数据表
中断跳投
削减 INT跳线将移除 10 kΩ从INT引脚上拉电阻。
中断跳投

2C引体向上跳

削减2C跳线将移除2.2 kΩ从I上拉电阻2C总线。如果你的I上有很多设备2你可能想要移除这些跳线。不知道怎么剪毛衣?读到这里!

引体向上跳

硬件组装

使用Qwiic连接器系统,组装硬件很简单。您所需要做的就是用Qwiic电缆将您的Qwiic接近传感器连接到RedBoard Qwiic。否则,你可以用I2C针,如果你没有Qwiic的单片机。只要远离你的输入电压和任何逻辑电平转换你可能需要做的。

硬件连接

Arduino图书馆

注意:这个示例假设您在桌面上使用最新版本的Arduino IDE。如果这是你第一次使用Arduino,请参阅我们的教程 安装Arduino IDE。如果您以前没有安装过Arduino库,请浏览我们的 安装指南。

我们已经编写了一个Arduino库来伸缩这个传感器的每个特性。你可以从Arduino库管理器中获取,从GitHub库,或者使用下面的下载按钮。

库函数

Arduino库被注释,函数应该是自解释的。然而,下面是可用库函数的详细列表。

注意:建议用户在深入研究库函数之前先从下面的示例开始。这个库示例演示了如何设置VCNL4040的更基本特性,而不需要深入研究数据表。一旦用户熟悉了基本设置并通过了 数据表彻底地,应该更容易理解 库函数在下面。

.begin-检查与传感器的通信,并将其设置为默认I2C线库设置

.isConnected——检查连接

.setLEDCurrent-设置红外LED接收器电流为8个设置之一(75,One hundred.120年,140年,160年,180年,和200毫安)。

.setIRDutyCycle-设置红外LED占空比(最大40个)

.setProxInterruptPersistance-设置Prox中断持久值。
PS持久性函数(PS_PERS,1,2,3.4)避免PS INT错误触发。它定义了触发PS中断事件所需的连续命中量。 .setAmbientInterruptPersistance-设置环境中断持久性值
ALS持久性函数(ALS_PERS,1,2,4,8)避免ALS INT错误触发。它定义了触发ALS中断事件所需的连续命中次数。

.setProxIntegrationTime-设置接近传感器的集成时间
.setAmbientIntegrationTime-设置环境光传感器的集成时间

.powerOnProximity-设备prox传感部分的电源
.powerOffProximity-关闭设备的prox检测部分

.powerOnAmbient-接通设备ALS感应部分的电源
.powerOffAmbient-关闭设备的ALS感应部分

.setProxResolution-将接近分辨率设置为12或16位

.enableAmbientInterrupts-启用ALS中断
.disableAmbientInterrupts-禁用ALS中断

.enableSmartPersistance-开启明智的总统姿态
.disableSmartPersistance-关闭明智的总统姿态
为了加快PS响应时间,智能持久防止邻近感知误判,同时也保持了快速的响应时间。

.enableActiveForceMode-启用主动力模式
.disableActiveForceMode-禁用活动强制模式
PS的一种极端节能方式是采用PS主动受力模式。任何时候主人想要请求一个接近测量,启用主动模式。这触发了单个PS测量,可以从PS结果寄存器中读取。VCNL4040一直处于待机状态。

.takeSingleProxMeasurement-设置触发位,使传感器进行力模测量并返回待机状态。

.enableWhiteChannel-启用白色测量通道
.disableWhiteChannel-禁用白色测量通道

.enableProxLogicMode-启用接近检测逻辑输出模式
.disableProxLogicMode-禁用接近检测逻辑输出模式
选择此模式后,当一个物体靠近传感器时(值高于高阈值),INT pin被拉低,当物体移动时(值低于低阈值),INT pin被重置为高。寄存器:PS_THDH / PS_THDL定义在何处设置这些阈值级别。

.setProxCancellation-设置接近感消除值-帮助减少与环境光的串扰

.setALSHighThreshold-值,ALS必须高于此值才能触发中断
.setALSLowThreshold-值,ALS必须低于此值才能触发中断

.setProxHighThreshold-数值接近感知必须高于触发中断
.setProxLowThreshold-数值接近感知必须低于触发中断

.getProximity-读取接近值
.getAmbient-读取环境光值
.getWhite-读取白光值
.getID-读取传感器ID

.setProxInterruptType-启用四种接近中断类型
.isClose-中断标志:当prox值大于高阈值时为真
.isAway-中断标志:如果prox值低于低阈值,则为真
.isLight-中断标志:如果ALS值高于高阈值,则为真
.isDark-中断标志:如果ALS值低于低阈值,则为真

.readCommand-从给定的“命令代码”位置读取两个连续字节
.writeCommand-将两个字节写入给定的命令代码位置(8位)

Arduino的例子

注意:本节是一个使用Qwiic接近传感器和RedBoard Qwiic与Arduino IDE的示例。它不是使用I的指南 2C设备与Arduino IDE。

请使用以下连结及互联网,以加深对I的认识 2C以及它在Arduino IDE中的工作原理:

示例1:邻近读数

的VCNL4040传感器输出IR接近值连续监测

接近值的串行输出

尽管是一个定性传感器,你会注意到输出会随着物体的距离变化,表面的颜色,和反射率。您还可以使用此设置来估计传感器的视野。最大输出值为65535,距离传感器最近,最小值(0-1)为传感器能读取的最远值。

例子2:有什么

本例在开机时进行初始读取。如果读数发生了很大的变化,传感器就会打印出数据连续监测

串行输出的接近检测

这个例子还允许接近传感器作为一个双重用途光电门

热车轮汽车触发接近传感器

一个炎热的轮子TM汽车触发接近传感器。
(* Gif的速度会变慢,以便您在串行监视器中看到输出)

单片机串行输出略有延迟(帧数较少);然而,由于图像的减速方式,这一点被夸大了。

例3:环境光

本例将环境光读数输出到终端

环境光值的串行输出

传感器是定性的,但是你可以测试从光源入射的角度如何影响传感器的读数。

示例4:所有读数

这个例子输出IR,到终端的环境光和白光读数。除了接近和环境光感应,VCNL4040还有一个“白光”传感器。

所有值的串行输出

示例5:高级设置

这个例子展示了如何使用不同的连接端口,快我2C,以及库支持的各种高级设置。威廉希尔公司在哪请,指的是数据表以及上面列出的库函数以获取更多详细信息。

资源及进一步发展

有关更多信息,查看以下资源:

需要帮助开始与Arduino和我2C ?在这里查看这些资源:

你的下一个项目需要一些灵感吗?英国威廉希尔看看这些其他Qwiic产品教程:

AS726X近红外/可见光谱传感器连接指南

现在比以往任何时候都更容易测量和描述不同材料如何吸收和反射不同波长的光。AS726X光谱传感器允许您检测波长在可见范围(VIS)和近红外范围(NIR)!

Qwiic网眼红外阵列(AMG88xx)连接指南

松下格栅眼(AMG88xx) 8x8热电堆阵列作为一个功能低分辨率红外相机。这意味着您有一个64像素的方形阵列,每个像素阵列都能够独立地检测温度。就像有了热成像相机(或者捕食者的视觉)分辨率很低。

Qwiic磁力仪(MLX90393)连接指南

求出磁场的方向,不用焊接任何东西。

ESP32 LoRa 1-CH网关,LoRaWAN,以及物联网

使用ESP32 LoRa 1-CH网关作为网关和设备,将数据推送到物联网。