Блог ветерана разработок

Датчики - BH1750 GY-30 16-бит сенсор освещенности

НАЗНАЧЕНИЕ
Сенсор освещенности GY-30   на базе микросхемы BH1750  представляет собой люксметр для определения освещенности с  широким  диапазоном измерения - 16-бит ~ 33 000 градаций серого.


•    Цифровой интерфейс – I2C
•    Высокое разрешение – до 0,5 Лк
•    Малый потребляемый ток и функция спящего режима
•    Фильтрация световых шумов 50/60 Гц
•    Малая зависимость от источника света (лампа накаливания, светодиод и так далее)
•    Малое влияние инфракрасного излучения
•    Возможно выбрать 2 адреса микросхемы для I2C интерфейса (можно подключить одновременно два таких датчика к одной шине)
•    Не требует калибровки, что максимально удобно для применения в любых проектах
•    Очень малые габариты датчика

Электрические характеристики:

•    Напряжение питания – 2,4 – 5В
•    Ток потребления – 120 мкА
•    Ток потребления в спящем режиме – 0,01 мкА
•    Измеряемая длина волны – 560 нм
•    Точность в режиме высокого разрешения – 1 Лк
•    Точность в режиме низкого разрешения – 4 Лк
•    Период измерения в режиме высокого разрешения – 120 мс
•    Период измерения в режиме низкого разрешения – 16 мс
•    АЦП – 16 бит

 

СХЕМА ЭЛЕКТРИЧЕСКАЯ

СХЕМА  ПОДКЛЮЧЕНИЯ К Arduino UNO

НАЧАЛО РАБОТЫ
1. Собрать схему как показано на  Рисунке 3
2. Загрузить в Arduino UNO скетч  I2C_Scan_OK.ino
3. Сенсор должен откликнутся на адрес 0х23
4. Загружаем следующий  скетч  Luxmeter_BH1750_Test_UNO_OK.ino и поворачивая сенсор в разных направлениях увидим меняющиеся показании значения освещенности.
5. К Arduino UNO по каналу I2C можно подключит два   сенсора  освещенности GY-30   (BH1750FVI)  для этого на контакт AD0 второго сенсора   надо подать   Лог 1.
Сканер устройств I2C обнаружит второе устроцство с адресом 0x5C

 

БИБЛИОТЕКИ
BH1750.h
Библиотека для работы с оптическим сенсором освещенности  BH1750
Wire.h – библиотека
Данная библиотека позволяет Arduino взаимодействовать с различными устройствами по интерфейсу I2C / TWI. Встроена в Arduino IDE – не требует дополнительного подключения.

 

СКЕТЧИ
Luxmeter _BH1750_Test_UNO_OK.ino


/*************************************************************************
Программа тестирования Модуля освещенности GY-30 на базе микросхеме BH1750

     Файл Luxmeter_BH1750_Test_UNO_OK.ino
     26 января 2016г   Мащенко В.И.   mvi54@mail.ru

Arduino Uno     Сенсор  BH1750  
SDA  pin A4        SDA
SCL  pin A5        SCL
        +5V        VCC
        GND        GND
         --        AD0             

*****************************************************************************/
BH1750 my_Luxmeter;

const int Time_Measurement=1000; // Будем измерять освещенность каждую секунду

void setup(){
  Serial.begin(9600);
  my_Luxmeter.begin();         // Инициализируем сенсора BH1750
  Serial.println("Running...");
}

void loop() {
  uint16_t lux = my_Luxmeter.readLightLevel();  // Инмеряем освещенность в lux
  Serial.print("Illumination= ");               //  Результат выводим на печать         
  Serial.print(lux);
  Serial.println(" lux");
  delay(Time_Measurement);
}

 

 

Share This Post: