измерение УФ-излучения ShineBlink

Интернет вещей

Датчик измерения УФ

1. Введение датчика

在这里插入图片描述

  • Обеспечивает надежность и точность измерения ультрафиолетового индекса (UVI)
  • Подходит для измерения общей интенсивности ультрафиолетового излучения солнечного света;
  • Согласно стандарту классификации УФ-индекса Всемирной организации здравоохранения
  • Длина волны обнаружения УФ: 200-370 нм;
  • Быстрый отклик, менее 0,5 секунды;

在这里插入图片描述 在这里插入图片描述

2. Схема подключения

在这里插入图片描述

3. Таблица преобразования УФ-индекса

在这里插入图片描述

4. Полный код

--定义函数:将传感器输出电压(单位:mv)转换成紫外线指数index
function GetUvIndex(v)
    if v < 50.0 then
        index = 0
    elseif v < 227.0 then
        index = 1;
    elseif v < 318.0 then
        index = 2;
    elseif v < 408.0 then
        index = 3;
    elseif v < 503.0 then
        index = 4;
    elseif v < 606.0 then
        index = 5;
    elseif v < 696.0 then
        index = 6;
    elseif v < 795.0 then
        index = 7;
    elseif v < 881.0 then
        index = 8;
    elseif v < 976.0 then
        index = 9;
    elseif v < 1079.0 then
        index = 10;
    else
        index = 11
    end
    return index
end
--配置Core的USB口以虚拟串口模式工作,这样print()输出的内容就可以在电脑串口终端上显示了
LIB_UsbConfig("CDC")
--配置AD电压采集功能,最大值采样值4096对应3.6V输入电压
--当通道采集满1个点时缓存满,每个点的采集时间间隔为300ms
LIB_ADConfig(1,300000)
--开始大循环
while(GC(1) == true)
do
    --每隔300ms查询A0通道是否转换完成
    --开发者也可以将传感器接至A1-A3中的任一通道,也可以多个通道接多个传感器,用法都和下面一样
    LIB_DelayMs(300)
    A0_full_flag, A0_buf = LIB_ADCheckBufFull("A0")
    if A0_full_flag == 1 then
        vol_mv =  A0_buf[1]*3600/4096.0 --将AD原始值转换成电压(单位:mv)
        uv_index = GetUvIndex(vol_mv)--将电压转换成紫外等级指数
        --打印输出A0通道的AD采样值以及对应的电压值和紫外线强度
        print(string.format("A0=%04d vol=%.0fmv index=%02d",A0_buf[1],vol_mv,uv_index))
    end
end

5. Результаты тестирования кода (погода: солнечно в начале лета, солнце в десять часов утра)

Шаг 1. Поместите датчик в помещении без солнечного света. 在这里插入图片描述В это время выходное напряжение датчика близко к 0 мВ, а уровень УФ-индекса также равен 0.Шаг 2. Поместите датчик в помещении с солнечным светом, но отделенным от него окном. 在这里插入图片描述В это время выходное напряжение датчика составляет 150 В.160 мВ или около того, уровень УФ-индекса равен 1Шаг 3: Поместите датчик в помещение с прямым солнечным светом. 在这里插入图片描述В это время выходное напряжение датчика составляет 470 В.480 мВ или около того, уровень УФ-индекса 4Шаг 4. Поместите датчик под прямые солнечные лучи на открытом воздухе. 在这里插入图片描述В это время выходное напряжение датчика составляет около 660~670 мВ, а уровень УФ-индекса также равен 6.в заключении:Из приведенных выше экспериментов видно, что значения напряжения, выдаваемые датчиком в четырех состояниях «без солнечного света» --> «внутри помещения, разделенного стеклом» --> «внутри помещения без стекла» --> «лицом наружу солнце" соответственно Для: 0 мВ, 160 мВ, 480 мВ, 670 мВ, что соответствует уровням УФ-индекса 0, 1, 4, 6.

Можно видеть, что чем выше интенсивность УФ-излучения, тем выше значение напряжения, выдаваемое датчиком, и тем выше соответствующий уровень УФ-индекса.