ESP8266-Arduino编程实例-VCNL4010光传感器驱动

VCNL4010光传感器驱动

1、VCNL4010介绍

VCNL4010 是一款完全集成的接近和环境光传感器。 完全集成意味着红外发射器包含在包装中。

它具有 16 位分辨率。 它包括一个信号处理 IC 并具有标准 I2C 通信接口。 它具有中断功能。

在这里插入图片描述

趋近接近功能

  • 内置红外发射器和光电针二极管,用于趋近功能
  • 接近检测范围的 16 位有效分辨率确保出色的抗串扰能力
  • 可编程 LED 驱动电流从 10 mA 到 200 mA,步长为 10 mA
  • 通过调制红外信号实现出色的环境光抑制
  • 接近距离达 200 毫米

环境光功能

  • 内置环境光光电针二极管,具有接近人眼的灵敏度
  • 16 位动态范围从 0.25 lx 到 16 klx
  • 100 Hz 和 120 Hz 闪烁噪声抑制

VCNL4040具有如下特性:

  • 集成模块:红外发射器(IRED)、环境光传感器(ALS-PD)、接近传感器(PD)和信号调理IC
  • 中断功能
  • 电源电压范围 VDD:2.5 V 至 3.6 V
  • 电源电压范围 IR 阳极:2.5 V 至 5 V
  • 通过 I2C 接口进行通信
  • I2C 总线 H 电平范围:1.7 V 至 5 V
  • 低待机电流消耗:1.5 μA

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • VCNL4010传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次使用的驱动库如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <Wire.h>
#include "Adafruit\_VCNL4010.h"

Adafruit_VCNL4010 vcnl;

void setup()
{
Serial.begin(9600);
Serial.println("VCNL4010 test");

if (! vcnl.begin())
{
Serial.println("Sensor not found :(");
while (1);
}
Serial.println("Found VCNL4010");
}


void loop()
{
Serial.print("Ambient: ");
Serial.println(vcnl.readAmbient());
Serial.print("Proximity: ");
Serial.println(vcnl.readProximity());
delay(100);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126900813