ESP8266-Arduino编程实例-VEML6070紫外光传感器驱动

VEML6070紫外光传感器驱动

1、VEML6070介绍

VEML6070 是一款先进的紫外 (UV) 光传感器,具有 I2C 协议接口,采用 CMOS 工艺设计。 它可以通过简单的 I2C 命令轻松操作。 具有阈值窗口设置的主动确认 (ACK) 功能
允许 UV 传感器发出 UVI 警报信息。 在强烈的太阳能 UVI 条件下,可以通过软件编程轻松实现智能 ACK 信号。 VEML6070 将光电二极管、放大器和模拟/数字电路集成到单个芯片中。 VEML6070 采用 FiltronTM UV 技术提供了最佳的光谱灵敏度以覆盖 UV 光谱感应。 它具有出色的温度补偿和稳健的刷新率设置,无需使用外部 RC 低通滤波器。

VEML6070 对太阳紫外线具有线性灵敏度,可通过外部电阻轻松调节。 提供软件关断模式,可将功耗降至 1 μA 以下。 VEML6070 的工作电压范围为 2.7 V 至 5.5 V。

在这里插入图片描述

紫外线指数如表所示:

紫外线指数 媒体图形颜色 对于普通成年人来说,不受保护的日晒造成伤害的风险 建议防护
0.0–2.9 绿色 Low 紫外线指数读数为 0 到 2 意味着普通人受到太阳紫外线的危害较低。在阳光明媚的日子里戴上太阳镜。 如果您容易燃烧,请遮盖并使用广谱 SPF 30+ 防晒霜。 明亮的表面,例如沙子、水和雪,会增加紫外线照射。
3.0–5.9 黄色 Moderate 紫外线指数读数为 3 到 5 意味着不受保护的阳光照射造成的伤害风险适中。在太阳最强的中午附近,请待在阴凉处。 如果在户外,请穿防晒服、宽边帽和防紫外线太阳镜。 每 2 小时涂抹一次广谱 SPF 30+ 防晒霜,即使在阴天、游泳或出汗后也是如此。 明亮的表面,例如沙子、水和雪,会增加紫外线照射。
6.0–7.9 橙色 High 紫外线指数读数为 6 到 7 意味着不受保护的阳光照射造成的伤害风险很高。 需要保护皮肤和眼睛免受伤害。减少上午 10 点至下午 4 点之间的日晒时间。 如果在户外,请寻找阴凉处并穿上防晒服、宽边帽和防紫外线太阳镜。 每 2 小时涂抹一次广谱 SPF 30+ 防晒霜,即使在阴天、游泳或出汗后也是如此。 明亮的表面,例如沙子、水和雪,会增加紫外线照射。
8.0–10.9 红色 Very high 紫外线指数读数为 8 到 10 意味着不受保护的阳光照射造成的伤害风险非常高。 采取额外的预防措施,因为未受保护的皮肤和眼睛会受损并且会迅速燃烧。尽量减少上午 10 点到下午 4 点之间的阳光照射。 如果在户外,请寻找阴凉处并穿上防晒服、宽边帽和防紫外线太阳镜。 每 2 小时涂抹一次广谱 SPF 30+ 防晒霜,即使在阴天、游泳或出汗后也是如此。 明亮的表面,例如沙子、水和雪,会增加紫外线照射。
11.0+ 紫色 Extreme 紫外线指数读数为 11 或更高意味着不受保护的日晒造成伤害的极高风险。 采取一切预防措施,因为未受保护的皮肤和眼睛会在几分钟内灼伤。尽量避免在上午 10 点到下午 4 点之间暴露在阳光下。 如果在户外,请寻找阴凉处并穿上防晒服、宽边帽和防紫外线太阳镜。 每 2 小时涂抹一次广谱 SPF 30+ 防晒霜,即使在阴天、游泳或出汗后也是如此。 明亮的表面,例如沙子、水和雪,会增加紫外线照射。

2、硬件准备

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

硬件接线如下:

在这里插入图片描述

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
#include <Wire.h>
#include "Adafruit\_VEML6070.h"

Adafruit_VEML6070 uv = Adafruit\_VEML6070();

void setup()
{
Serial.begin(9600);
Serial.println("VEML6070 Test");
uv.begin(VEML6070_1_T); // pass in the integration time constant
}


void loop()
{
Serial.print("UV light level: ");
Serial.println(uv.readUV());
delay(1000);
}

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