Освещенность
Освещенность - это физическая величина, равная отношению светового потока к плоскости, на которую он падает. Значение освещенности зависит от нескольких факторов:- Угол падения потока света. Если он составляет 90°, то освещенность максимальная, когда угол направленности уменьшается, то интенсивность освещенности снижается.
- Сила светового источника. Чем она больше, тем выше освещенность.
- Наличие помех в виде частичек пыли и влаги. Это снижает качество освещения.
Освещенность в системе международных единиц измеряется в люксах. 1 люкс равен 1 люмену на м2. В системе физических единиц для обозначения этого показателя используют фоты. 1 фот равен 10 000 люксов.
Существуют нормы освещенности разных видов помещений в люксах, потому что свет оказывает большое влияние на человека. Этот показатель измеряют приборами и настраивают освещение так, чтобы оно было подходящим.
Датчик освещенности BH11750FVI
Это цифровое устройство для измерения рассеянного или фонового света, улавливающее диапазон 1–65 000 люксов. Датчик реагирует на свет, видимый человеком, и почти не воспринимает инфракрасного излучения. Корпус датчика полупрозрачный с заданным коэффициентом пропускания светового потока. Устройство состоит из чувствительного фотодиода bh1750, усилителя сигнала фотодиода, приемника оптического излучения. Результат измерения выдается в люксах.Принцип работы
В зависимости от количества света, который попадает на чувствительный элемент, меняется сопротивление сенсора. При низком уровне освещенности его сопротивление растет, что меняет напряжение. Датчик преобразует полученные данные в люксы и передает их на микроконтроллер.Подключение датчика
Подключим модуль с датчиком к ESP8266 согласно схеме ниже. Питание подсоединяем к 5V или 3.3V, ПИН SDA к D2, а SCL к D1.Подключение библиотеки
Для работы с датчиком BH1750FVI добавим в Arduino IDE библиотеку. Открываем менеджер библиотек и находим библиотеку BH1750FVI by PeterEmbedded.Примечание. На GitHub есть библиотека с таким же названием, но от другого разработчика. Скетч представленный ниже работает только с библиотекой от PeterEmbedded
Скетч
#include <BH1750FVI.h>
BH1750FVI LightSensor(BH1750FVI::k_DevModeContLowRes); // D2 - SDA, D1 - SCL
void setup()
{
Serial.begin(115200);
LightSensor.begin(); // Инициализируем датчик
}
void loop()
{
uint16_t lux = LightSensor.GetLightIntensity();
Serial.print("Освещенность: ");
Serial.print(lux);
Serial.println(" lX");
delay(250);
}