SEN0636

产品简介

这是⼀款能直接输出紫外线UV指数的传感器,能检测240-370nm波⻓范围内的紫外线强度,涵盖UVA\UVB\UVC三种波长范围。主要波长集中在UVB段,常⽤于皮肤健康评估和UV指数监测。

UV Index 240370 Sensor通过底层MCU的计算,能直接输出0-11的UV指数等级,无需做任何转换,就能得到准确的紫外线指数。并且还会输出1-5之间的危害风险警告,以便做出有效的防护措施。

该传感器⽀持I2C和UART两种数据输出模式,适配绝大多数主控读取数据。

紫外线(UV)科普知识

什么是紫外线?

紫外线(UV)是⼀种不可见的电磁波,波⻓比可见光短,但比X射线长。它的波长范围通常从10纳米(nm)到400纳米之间。紫外线按波长可分为三种主要类型:UVA、UVB和UVC。

  1. 生物影响:
  • UVA(320-400nm): 最常见,穿透力最强,能穿透皮肤的真皮层。长期暴露可能导致皮肤⽼化、皱纹和皮肤癌。

  • UVB(280-320nm): 穿透力较弱,主要作用于皮肤的表皮层,是造成晒伤的主要原因,也是合成维生素D的重要源泉,但也能引起皮肤癌。

  • UVC(100-280nm): 具有最强的杀菌作用,通常被地球的大气层吸收,未能到达地表。然而,人工UVC光源(如消毒灯)在工业和医疗中有广泛应用。

  1. 自然界的作用:
  • 合成维生素D: 紫外线帮助皮肤合成维生素D,对骨骼健康至关重要。

  • 生态系统: UV光影响植物的光合作用及植物的生长周期,对生态平衡有重要作用。

  1. 紫外线的危害:
  • 皮肤损伤: 紫外线能破坏皮肤细胞的DNA,增加⽪肤癌的风险。

  • 眼睛损伤: 长时间暴露于紫外线下可引发白内障、角膜炎等眼部疾病。

  • 免疫系统抑制: 紫外线过量可能会影响免疫系统的正常功能。

紫外线指数(UV Index)范围和健康建议

  1. 0-2:低风险
  • 健康影响:对大多数人来说,紫外线辐射对健康的影响非常小。

  • 建议:即使在这类低风险情况下,也可以采取⼀些基本的防护措施,如佩戴太阳镜。

  1. 3-5:中等风险
  • 健康影响:紫外线辐射对健康的影响开始变得显著,特别是在长时间暴露下。

  • 建议:在户外活动时,建议采取⼀些防护措施,如使用防晒霜、穿遮阳衣物和佩戴太阳镜。

  1. 6-7:高风险
  • 健康影响:紫外线辐射对健康的影响较大,可能导致皮肤晒伤和眼睛损伤。

  • 建议:避免在中午时分(10:00 AM 到 4:00 PM)长时间暴露于阳光下。穿戴保护性衣物、使用高SPF防晒霜,并佩戴太阳镜。

  1. 8-10:很高风险
  • 健康影响:紫外线辐射对健康的影响非常显著,晒伤的风险很⾼。

  • 建议:尽量避免在阳光下长时间活动。采取全面的防护措施,包括穿着遮阳衣物、涂抹高SPF防晒霜、佩戴帽子和太阳镜,尤其是在阳光强烈的时段。

  1. 11+:极高风险
  • 健康影响:紫外线辐射极其强烈,短时间内就能导致严重的晒伤。

  • 建议:尽量避免在阳光下活动,特别是在中午时分。采取所有可能的防护措施,尽量待在阴凉处。

产品特性

  • UV波长范围240-370nm

  • 高性能紫外线传感器芯片,质量可靠

  • 直接输出紫外线指数与危害等级,⽆需转换

  • 支持3.3V-5V电压及电平范围

  • 支持I2C和UART两种通讯方式

应用场景

  • 环境监测:用于检测和监控紫外线辐射水平,帮助评估环境中的UV污染情况。

  • 健康保护:可以监测紫外线强度,提醒用户保护皮肤免受过度暴露于紫外线的伤害。

  • 光伏系统:用于优化太阳能电池板的性能,通过测量UV辐射来评估太阳能资源。

  • 农业:用于监控植物的光环境,帮助优化植物的生长条件和防止紫外线对植物的损害。

  • 实验室研究:在科学研究中,用于测量和分析紫外线辐射对不同材料或生物体的影响。

规格参数

  • 工作电压:3.3-5V DC
  • 通讯方式:I2C、UART
  • I2C地址:0x23
  • UV波长范围:240-370nm
  • 工作温度:-30~80°C
  • 尺寸:30mm×22mm

功能示意图

标号 接口名称 说明
1 D/R I2C数据线SDA或串口UART接收端RXD
2 C/T I2C时钟线SCL或串口UART发送端TXD
3 GND 电源负极
4 VCC 电源正极(3.3~5V)
5 通讯模式选择开关 选择I2C/UART通讯模式

尺寸图

紫外线指数表

紫外线指数 0 1 2 3 4 5 6 7 8 9 10 11
紫外线原始值 <50 227 318 408 503 606 696 795 881 976 1079 1170
紫外线风险等级 很高 很高 很高 极高

Arduino使用教程

软硬件准备

使用I2C读取数据

接线图

样例代码

  • 将模块与UNO控制器按照上方的连线图相连,当然你也可以配合扩展板使用,可以更方便、更快速的完成项目原型搭建。
  • 将传感器上的选择开关,拨到I2C一侧。
  • 下载并安装UVIndex240370Sensor和RTU库。
  • 打开Arduino IDE,将下面的代码上传到UNO控制器。
  • 打开Arduino IDE的串口监控视器,把波特率调至115200,观察串口打印结果。
#include "DFRobot_UVIndex240370Sensor.h"
#include <Wire.h>

DFRobot_UVIndex240370Sensor UVIndex240370Sensor(&Wire);

void setup()
{
  Serial.begin(115200);
  
  while(UVIndex240370Sensor.begin() != true){
    Serial.println(" Sensor initialize failed!!");
    delay(1000);
  }
  Serial.println(" Sensor  initialize success!!");
}

void loop()
{
  uint16_t voltage = UVIndex240370Sensor.readUvOriginalData();
  uint16_t index  = UVIndex240370Sensor.readUvIndexData();
  uint16_t level = UVIndex240370Sensor.readRiskLevelData();
  Serial.print("voltage:"); Serial.print(voltage); Serial.println(" mV");
  Serial.print("index:"); Serial.println(index);
  if(level==0)
    Serial.println("Low Risk");
  else if(level==1)
    Serial.println("Moderate Risk");
  else if(level==2)
    Serial.println("High Risk");
  else if(level==3)
    Serial.println("Very High Risk");
  else if(level==4)
    Serial.println("Extreme Risk");
  delay(100);
}

结果

本实验需要到阳光下面测试,串口监视器会打印类似以下的信息:

voltage:82 mV
index:1
Low Risk

其中,“voltage:82 mV”表示紫外线的原始值,“index:1”表示紫外线指数,“Low Risk”表示当前的紫外线为低风险

使用UART读取数据

接线图

样例代码

  • 将模块与UNO控制器按照上方的连线图相连,当然你也可以配合扩展板使用,可以更方便、更快速的完成项目原型搭建。
  • 将传感器上的选择开关,拨到UART一侧。
  • 下载并安装UVIndex240370Sensor和RTU库。
  • 打开Arduino IDE,将下面的代码上传到UNO控制器。
  • 打开Arduino IDE的串口监控视器,把波特率调至115200,观察串口打印结果。
#include "DFRobot_UVIndex240370Sensor.h"
#include <SoftwareSerial.h>

SoftwareSerial mySerial(4, 5);
DFRobot_UVIndex240370Sensor UVIndex240370Sensor(&mySerial);

void setup()
{
  mySerial.begin(9600);
  Serial.begin(115200);
  
  while(UVIndex240370Sensor.begin() != true){
    Serial.println(" Sensor initialize failed!!");
    delay(1000);
  }
  Serial.println(" Sensor  initialize success!!");
}

void loop()
{
  uint16_t voltage = UVIndex240370Sensor.readUvOriginalData();
  uint16_t index  = UVIndex240370Sensor.readUvIndexData();
  uint16_t level = UVIndex240370Sensor.readRiskLevelData();
  Serial.print("voltage:"); Serial.print(voltage); Serial.println(" mV");
  Serial.print("index:"); Serial.println(index);
  if(level==0)
    Serial.println("Low Risk");
  else if(level==1)
    Serial.println("Moderate Risk");
  else if(level==2)
    Serial.println("High Risk");
  else if(level==3)
    Serial.println("Very High Risk");
  else if(level==4)
    Serial.println("Extreme Risk");
  delay(100);
}

结果

本实验需要到阳光下面测试,串口监视器会打印类似以下的信息:

voltage:82 mV
index:1
Low Risk

其中,“voltage:82 mV”表示紫外线的原始值,“index:1”表示紫外线指数,“Low Risk”表示当前的紫外线为低风险

API函数

 /**
   * @fn begin
   * @brief 初始化传感器
   * @return 初始化结果
   * @retval true  成功
   * @retval false 失败
   */
  int8_t begin(void);

  /**
   * @fn readUvOriginalData
   * @brief 读取紫外线电压值
   * @return 电压值 (单位:mV)
   */
  uint16_t readUvOriginalData(void);

  /**
   * @fn readUvIndexData
   * @brief 读取紫外线指数
   * @return 紫外线指数(0-11)
   */
  uint16_t readUvIndexData(void);

  /**
   * @fn readRiskLevelData
   * @brief 读取风险等级
   * @return 0-4 (低风险,中风险,高风险,很高风险,极高风险)
   */
  uint16_t readRiskLevelData(void);

Mind+(基于Scratch3.0)图形化编程

  • 下载Mind+编程软件。 点击下载Mind+

  • 详细安装教程:Mind+基础wiki教程-软件下载安装

  • 打开Mind+软件,选择上传模式,“扩展”中选择“主控板”中的“Arduino Uno”,然后点击用户库。

  • 复制以下链接:https://gitee.com/dfrobotcd/ext-uvindex240370sensor,在用户库搜索栏中粘贴,然后进行搜索,添加紫外线模块。

  • 进行编程,程序如下图:

Makecode使用教程

  • 在浏览器输入网址打开MakeCode编程平台:https://makecode.microbit.org/

  • 新建项目并为项目命名。

  • 载入紫外线传感器的程序库:依次点击 “设置”、“扩展”,然后在搜索框中粘贴链接:https://github.com/cdjq/pxt-DFRobot_UVIndex240370Sensor

  • 进行编程,程序如下图:

  • 点击下载,程序上传完毕后,打开“Show data设备”即可看到数据输出。

更多资料下载

常见问题

还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!

更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖。

DFshopping_car1.png DFRobot商城购买链接