8 (800) 550-13-29
Заказать звонок
Связь с директором
  • Контакты
  • Доставка
  • Оплата
  • База знаний
  • Блог
  • Акции
  • Видео
  • О 3DiY
  • Гос. закупки
  • ...
    3DIY
    3D принтеры
    Всё для 3D принтеров
    • Электроника
      Электроника
    • Механика
      Механика
    • Экструдеры
      Экструдеры
    • Пластик
      Пластик
    • 3D принтеры
      3D принтеры
    • 3D ручки
      3D ручки
    • Сопутствующие
      Сопутствующие
    Arduino/робототехника
    • Arduino
      Arduino
    • Raspberry Pi
      Raspberry Pi
    • Orange Pi
      Orange Pi
    • Одноплатники
      Одноплатники
    • Модули (Shield)
      Модули (Shield)
    • Датчики / Сенсоры
      Датчики / Сенсоры
    • Дисплеи
      Дисплеи
    • Механика
      Механика
    • Макетные платы (Breadboard)
      Макетные платы (Breadboard)
    • Светодиоды
      Светодиоды
    • Провода и кабели
      Провода и кабели
    • Источники питания
      Источники питания
    • Радиодетали
      Радиодетали
    ЧПУ
    • Электроника
      Электроника
    • Электротехника
      Электротехника
    • Электропривод
      Электропривод
    • Направляющие
      Направляющие
    • Передачи
      Передачи
    • Механика
      Механика
    • Конструкционный профиль
      Конструкционный профиль
    • Лазерная резка и аксессуары
      Лазерная резка и аксессуары
    Услуги
    • 3D печать
    • Ремонт 3D принтеров
    Ещё
      3DIY
      3D принтеры
      Каталог
      • 3D принтеры и комплектующие
        3D принтеры и комплектующие
        • Электроника
        • Механика
        • Экструдеры
        • Пластик
        • 3D принтеры
        • 3D ручки
        • Сопутствующие
      • Arduino и робототехника
        Arduino и робототехника
        • Arduino
        • Raspberry Pi
        • Orange Pi
        • Одноплатники
        • Модули (Shield)
        • Датчики / Сенсоры
        • Дисплеи
        • Механика
        • Макетные платы (Breadboard)
        • Светодиоды
        • Провода и кабели
        • Источники питания
        • Радиодетали
      • ЧПУ комплектующие
        ЧПУ комплектующие
        • Электроника
        • Электротехника
        • Электропривод
        • Направляющие
        • Передачи
        • Механика
        • Конструкционный профиль
        • Лазерная резка и аксессуары
      Услуги
      • 3D печать
      • Ремонт 3D принтеров
      Блог
      • 3D-печать
      • 3D-принтеры
      База знаний
      • Датчики
      • Модули
      • Платы
      • 3D-принтеры
      • Дисплеи
      • Механика
      • Сопутствующие
      • ЧПУ
      • Проекты
      • Компоненты
      Информация
      • Акции и Скидки
      • Условия доставки
      • Условия оплаты
      • Сashback
      • О нас
        • Наши партнеры
        • Наши клиенты
        • Вакансии
      • Гос. закупки
      Контакты
      • Как до нас добраться
      Ещё
        3DIY
        • 3D принтеры
        • Каталог
          • Назад
          • Каталог
          • 3D принтеры и комплектующие
            • Назад
            • 3D принтеры и комплектующие
            • Электроника
            • Механика
            • Экструдеры
            • Пластик
            • 3D принтеры
            • 3D ручки
            • Сопутствующие
          • Arduino и робототехника
            • Назад
            • Arduino и робототехника
            • Arduino
            • Raspberry Pi
            • Orange Pi
            • Одноплатники
            • Модули (Shield)
            • Датчики / Сенсоры
            • Дисплеи
            • Механика
            • Макетные платы (Breadboard)
            • Светодиоды
            • Провода и кабели
            • Источники питания
            • Радиодетали
          • ЧПУ комплектующие
            • Назад
            • ЧПУ комплектующие
            • Электроника
            • Электротехника
            • Электропривод
            • Направляющие
            • Передачи
            • Механика
            • Конструкционный профиль
            • Лазерная резка и аксессуары
        • Услуги
          • Назад
          • Услуги
          • 3D печать
          • Ремонт 3D принтеров
        • Блог
          • Назад
          • Блог
          • 3D-печать
          • 3D-принтеры
        • База знаний
          • Назад
          • База знаний
          • Датчики
          • Модули
          • Платы
          • 3D-принтеры
          • Дисплеи
          • Механика
          • Сопутствующие
          • ЧПУ
          • Проекты
          • Компоненты
        • Информация
          • Назад
          • Информация
          • Акции и Скидки
          • Условия доставки
          • Условия оплаты
          • Сashback
          • О нас
            • Назад
            • О нас
            • Наши партнеры
            • Наши клиенты
            • Вакансии
          • Гос. закупки
        • Контакты
          • Назад
          • Контакты
          • Как до нас добраться
        • 8 (800) 550-13-29
        Контактная информация
        Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
        info@3d-diy.ru
        • Facebook
        • Вконтакте
        • Instagram
        • YouTube

        Датчик интенсивности света GY-302 (BH1750)

        База знаний
        -
        Датчики
        -
        Света и цвета
        -Датчик интенсивности света GY-302 (BH1750)
        Поделиться
        • Датчик интенсивности света GY-302 (BH1750)
        Датчики / Сенсоры
        Перейти в раздел
        Датчики / Сенсоры
        Товары
          • Датчик интенсивности света GY-302 (BH1750)
            Быстрый просмотр
            Датчик интенсивности света GY-302 (BH1750)
            Много
            286 руб./шт
            Подробнее

          Измерение освещенности является важным параметром при создании приложений домашней автоматики и Интернета вещей. Освещенность измеряют в люксах (lx). Люкс равен освещённости поверхности площадью 1 м2 при световом потоке падающего на неё излучения, равном 1 лм.

          Содержание

          • Обзор
          • Технические характеристики модуля
          • Подключение
          • Пример использования
          • Часто задаваемые вопросы FAQ


          Измерение освещенности  является важным параметром при создании приложений домашней автоматики и Интернета вещей. Освещенность измеряют в люксах (lx). Люкс равен освещённости поверхности площадью 1 м2 при световом потоке падающего на неё излучения, равном 1 лм. Самым распространенным датчиком измерения освещенности у любителей Arduino является фоторезистор аналоговый датчик, меняющий свое сопротивление в зависимости от интенсивности света, однако точность его невысока и значение от выдает не в люксах. В отличие от него, модуль GY302 на базе чипа BH1750 (рисунок 1), представляет собой высокоточный цифровой датчик интенсивности света, выдающий значение как раз в люксах. 

          datchik-intensivnosti-sveta-GY-302.jpg

          Рисунок 1. Модуль GY-302 на базе чипа BH1750


          Технические характеристики GY-302 (BH1750)

          • Напряжение питания - 5 В;
          • Интерфейс: I2C;
          • Чип: BH1750FVI;
          • АЦП: 16 бит;
          • Точность: 1 люкс;
          • Чувствительность: 65536 градаций;
          • Калибровка: не требуется;
          • Размеры: 19 х 13 х 2 мм;
          • Вес: 5 г.

          Подключение к Arduino

          Модуль имеет 5 выводов (рис. 2):
          • VCC — питание 5 В;
          • GND — земля;
          • SDA — данные I2C;
          • SCL—  синхронизация I2C;
          • ADDR — выбор адреса для протокола I2C.

          Vyvody-modulya-GY-302.jpg

          Рисунок 2. Выводы модуля GY-302

          Разберемся с возможными адресами датчика BH1750. Есть два варианта подключения датчика BH1750 к шине I2C (рис. 3).

          Podklyuchenie-datchika-BH1750-Arduino-1024x506.jpg

          Рисунок 3. Подключение датчика BH1750 к Arduino

          Для получения адресов загрузим на Arduino скетч из листинга 1 (сканирование устройств, которые подключены к плате Arduino по шине I2C).

          Листинг 1
          #include "Wire.h"
          void setup() {
             Wire.begin();
             Serial.begin(9600);  // запуск последовательного порта
          }
          
          void loop() {
          int devices;
          byte err, add;
          
             Serial.println("Start scan I2C bus...");
             devices = 0;
             Serial.print("  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");
             for(add = 0; addr<= 127; addr++ ) {
                if((addr% 0x10) == 0) {
                   Serial.println();
                   if(addr< 16)
                   Serial.print('0');
                   Serial.print(addr, 16);
                   Serial.print(" ");
                }
             Wire.beginTransmission(addr);err = Wire.endTransmission();
             if (err == 0) {
                if (addr<16)
                   Serial.print("0");
                Serial.print(addr, HEX);
                devices++;
             }
             else {
                Serial.print("--");
             }
             Serial.print(" ");
             delay(1);  
             }
             Serial.println();
             if (nDevices == 0)
                Serial.println("No I2C devices found\n");
          
             delay(2500);
          }
          
          Скетч сканирует шину I2C и выводит в последовательный порт Arduino таблицу с адресами подключенных устройств (рисунок 4).

          Skaner-I2C-ustrojstv.png

          Рисунок 4. Сканер I2C устройств

          Как видим, модуль BH1750 может иметь, в зависимости от уровня сигнала на входе ADDR два адреса (0x23 и 0x5C). Это значит, что к одной плате Arduino можно подсоединить одновременно два датчика BH1750.

          Пример использования

          Рассмотрим пример подключения датчика BH1750 к плате Arduino и вывода показаний на экран дисплея Nokia 5110. Нам понадобятся следующие детали:
          • плата Arduino Uno
          • датчик BH1750
          • дисплей Nokia 5110
          • макетная плата
          • провода
          Соберем схему соединений согласно рис. 5.

          Skhema-podsoedineniya-Arduino-datchika-BH1750-displeya-Nokia-5110-1024x784.jpg

          Рисунок 5. Схема подсоединения к Arduino датчика BH1750 и дисплея Nokia 5110

          Для работы с Arduino написано несколько  библиотек. Будем использовать одну из них – BH1750FVI ( https://github.com/enjoyneering/BH1750FVI). Данная библиотека поддерживает все режимы датчика BH1750, позволяет производить измерения освещенности с несколькими параметрами чувствительности (0.45 – 3.68) и разрешающей способности (0.5 – 4 lx), а также в режиме энергосбережения. К библиотеке прилагается пример (BH1750FVI_Demo) вывода в последовательный порт Arduino данных с датчика BH1750 при различных режимах измерения (см. рис. 6).

          Primer-vyvoda-dannyh-datchika-BH1750.png

          Рисунок 6. Пример вывода данных с датчика BH1750 в последовательный порт Arduino при различных режимах измерения

          Текущие значения освещенности будем выводить на дисплей Nokia 5110. Нам понадобятся Arduino библиотеки Adafruit_GFX и Adafruit_PCD8544. Данные с датчика BH1750 будем получать со следующими настройками:
          • чувствительность;
          • точность 0.5 lx.
          Периодичность измерения 5 секунд. Создадим в Arduino IDE новый скетч, занесем в него код из листинга 2 и загрузим скетч на на плату Arduino.

          Листинг 2
          // подключение библиотек для nokia 5110
          #include <Adafruit_GFX.h>
          #include <Adafruit_PCD8544.h>
          // подключение библиотеки Wire (для I2C)
          #include <Wire.h>
          // подключение библиотеки для bh1750
          #include <BH1750FVI.h>
          
          // Nokia 5110
          // pin 13 - SCLK
          // pin 12 - DIN
          // pin 11 - D/C
          // pin 10 - CS
          // pin 8 - RST
          Adafruit_PCD8544 Nokia5110 = Adafruit_PCD8544(13, 12, 11, 10, 8);
          // bh1750
          BH1750FVI myBH1750;
          // для периода опроса датчика
          unsigned long millis1=0;
          
          void setup()
          {
             // запуск последовательного порта
             Serial.begin(9600);
             // инициализация дисплея
             Nokia5110.begin();
             // установить контраст фона экрана
             Nokia5110.setContrast(60);
             Nokia5110.clearDisplay();
             Nokia5110.setTextSize(1);
             Nokia5110.setTextColor(BLACK);
             // начальный экран
             Nokia5110.setCursor(10,5);
             Nokia5110.print("MAKERPLUS.RU");
             Nokia5110.setCursor(30,15);
             Nokia5110.print("BH1750");
             Nokia5110.display();
             // запуск bh1750
             myBH1750.begin();
             // пауза для заставки
             delay(2000);
          }
          
          void loop() {
             // раз в 5 секунд
             if(millis()-millis1>=5000) {
                Serial.println(F("Sensitivity - 1.0, Continuous Mode (default settings)"));
                myBH1750.setSensitivity(1);
                Serial.print(F("Light level: "));
                Serial.print(myBH1750.readLightLevel());
                Serial.println(F(" +-0.5 lx"));
                Serial.println(F(""));
                // вывод на дисплей
                Nokia5110.clearDisplay();
                Nokia5110.setCursor(10,5);
                Nokia5110.print("MAKERPLUS.RU");
                Nokia5110.setCursor(15,15);
                Nokia5110.print("Light level: ");
                Nokia5110.setCursor(35,25);
                Nokia5110.print(myBH1750.readLightLevel());
                Nokia5110.setCursor(20,35);
                Nokia5110.print(" +-0.5 lx");
                Nokia5110.display();
                millis1=millis();
             }
          }
          
          Вывод данных в монитор последовательного порта Arduino (рис. 7).

          Vyvod-dannyh-datchika-BH1750-monitor-posledovatelnogo-porta.png

          Рисунок 7. Вывод данных с датчика BH1750 в монитор последовательного порта.


          Часто задаваемые вопросы

          1. Сканер I2C устройств не находит датчика BH1750 или нет данных с датчика
          • Проверьте правильность подключения датчика BH1750 к плате Arduino.
          2. Данные не выводятся на экран дисплея Nokia 5110
          • Проверьте правильность подключения дисплея Nokia 5110 к плате Arduino.


          .

           

          Документы
          listing-BH1750 1,2 кб
          test_i2c_uno 938 байт

          Товары
            • Датчик интенсивности света GY-302 (BH1750)
              Быстрый просмотр
              Датчик интенсивности света GY-302 (BH1750)
              Много
              Подробнее

            Назад к списку
            Компания
            О компании
            Политика
            Услуги
            Партнеры
            Клиенты
            Информация
            Акции и скидки
            Условия оплаты
            Условия доставки
            Гарантия на товар
            Кэшбэк
            Как купить
            Вопрос-ответ
            Блог
            База знаний
            Производители
            Будьте всегда в курсе!
            Узнавайте о скидках и акциях первым
            Оставайтесь на связи
            • Вконтакте
            • Facebook
            • Instagram
            • YouTube
            Наши контакты
            8 (800) 550-13-29
            info@3d-diy.ru
            Москва, Духовской пер. 17с3   |  Пн-Пт 11.00-19.00 | Сб-Вс Выходные
            2021 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники