ESP8266-Arduino编程实例-VEML7700光照度传感器驱动

VEML7700光照度传感器驱动

1、VEML7700介绍

VEML7700 是一款高精度环境光数字 16 位分辨率传感器。 它包括一个高灵敏度光电二极管、一个低噪声放大器、一个 16 位 A/D 转换器,并支持一个易于使用的 I2C 总线通信接口。环境光结果为可用的数字值

在这里插入图片描述

VEML7700具有如下特性:

  • 集成模块:环境光传感器 (ALS)
  • 电源电压范围 VDD:2.5 V 至 3.6 V
  • 通过 I2C 接口进行通信
  • 车间寿命:72 小时,MSL 4,根据 J-STD-020
  • 低关断电流消耗:典型值。 0.5μA
  • 环境光功能:
    • Filtron TM 技术适配:接近真实人眼反应
    • 采用 O-Trim TM 技术:ALS 输出容差≤ 10 %
    • 16 位动态范围,用于从 0 lx 到约 120 klx 的环境光检测,分辨率低至 0.0036 lx/ct,支持低透光率(暗)镜头设计
    • 100 Hz 和 120 Hz 闪烁噪声抑制
    • 出色的温度补偿
    • 高动态检测分辨率
    • 软件关机模式控制

2、硬件准备

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

硬件接线如下:

传感器引脚 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
#include <Wire.h>
#include "DFRobot\_VEML7700.h"

DFRobot_VEML7700 als;

void setup()
{
Serial.begin(9600);
als.begin();
}

void loop()
{
float lux;

als.getALSLux(lux);
Serial.print("Lux:");
Serial.print(lux);
Serial.println(" lx");

delay(200);
}

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