Акции
Блог
О 3DiY
  • О компании
  • Реквизиты
  • Партнеры
  • Клиенты
  • Вакансии
Оплата
Доставка
Гос. закупки
Товары под заказ
ВК Видео
Отзывы
Услуги
  • 3D печать
    • 3D печать пластиком FDM/FFF
    • 3D печать фотополимером
Контакты
  • Как до нас добраться
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3D принтеры3D сканерыПластик для 3D принтераФотополимерыКомплектующие 3DКомплектующие ЧПУЗапчасти 3D принтеров по брендам3D печать на заказ
    3DIY
    Войти
    0Сравнение
    0Избранное
    0Корзина
    3DIY
    Телефоны
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    0
    0
    0
    • Кабинет
    • 0Сравнение
    • 0Избранное
    • 0Корзина
    • Бренды
    • Акции
    • Услуги
      • Услуги
      • 3D печать
        • 3D печать
        • 3D печать пластиком FDM/FFF
        • 3D печать фотополимером
    • Компания
      • Компания
      • О компании
      • Реквизиты
      • Партнеры
      • Клиенты
      • Вакансии
    • Блог
    • Информация
      • Информация
      • Гарантия на товар
      • Возврат товара
      • Положение о персональных данных
      • Политика конфиденциальности
      • Согласие на получение рекламы
      • Пользовательское соглашение
      • Согласие на обработку персональных данных
      • Использование cookie-файлов
      • Договор-оферта
    • Контакты
      • Контакты
      • Как до нас добраться
    8 (800) 500-45-93отдел продаж Россия
    • Телефоны
    • 8 (800) 500-45-93 отдел продаж Россия
    • 8 (495) 565-35-93 отдел продаж Москва
    • info@3d-diy.ru — отдел продаж

      print@3d-diy.ru — 3D печать на заказ

      support@3d-diy.ru — тех. поддержка

      buh@3d-diy.ru — Бухгалтерия
    • Москва, Павелецкая набережная, 2с1
      Как до нас добраться, см. тут
    • пн - пт 09:00—18:00
    Главная
    Блог
    Датчики
    Датчик интенсивности света GY-302 (BH1750)

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

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

    Содержание

    • Обзор
    • Технические характеристики модуля
    • Подключение
    • Пример использования
    • Часто задаваемые вопросы 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.
    Датчики и сенсоры для Arduino купить с доставкой по России можно в нашем магазине!

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

    Рассмотрим пример подключения датчика 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.


    .

     

    Товары из статьи

    Быстрый просмотр
    Датчик интенсивности света GY-302 (BH1750)imageimageimage
    149 ₽
    178.80 ₽
    -17%
    Датчик интенсивности света GY-302 (BH1750)
    0
    0
    Нет в наличии

    Документы

    listing-BH1750
    1,2 Кб
    test_i2c_uno
    938 байт

    Это интересно

    Датчик уровня звука
    Датчики
    Датчик уровня звука
    Датчик влажности и температуры DHT11
    Датчики
    Датчик влажности и температуры DHT11
    Датчик вибрации
    Датчики
    Датчик вибрации
    Датчик угарного газа MQ7
    Датчики
    Датчик угарного газа MQ7
    Ультразвуковой дальномер HC-SR04
    Датчики
    Ультразвуковой дальномер HC-SR04
    Инфракрасный датчик расстояния
    Датчики
    Инфракрасный датчик расстояния
    • Комментарии
    Загрузка комментариев...
    Назад к списку
    • Все публикации277
      • 3D принтеры59
      • 3D печать64
      • ЧПУ10
      • Датчики27
      • Модули38
      • 3D сканеры1
      • Arduino механика6
      • Arduino платы8
      • Дисплеи6
      • Кейсы1
      • Компоненты13
      • Мировые новости35
      • Проекты7
      • Сопутствующие2
    Связаться с нами
    8 (800) 500-45-93
    8 (800) 500-45-93отдел продаж Россия
    8 (495) 565-35-93отдел продаж Москва
    E-mail
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Адрес
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Режим работы
    пн - пт 09:00—18:00
    info@3d-diy.ru — отдел продаж

    print@3d-diy.ru — 3D печать на заказ

    support@3d-diy.ru — тех. поддержка

    buh@3d-diy.ru — Бухгалтерия
    Москва, Павелецкая набережная, 2с1
    Как до нас добраться, см. тут
    Магазин
    Бренды
    Акции
    Каталог
    Услуги
    Компания
    О компании
    Реквизиты
    Партнеры
    Клиенты
    Вакансии
    Информация
    Гарантия на товар
    Возврат товара
    Положение о персональных данных
    Политика конфиденциальности
    Согласие на получение рекламы
    Пользовательское соглашение
    Согласие на обработку персональных данных
    Использование cookie-файлов
    Договор-оферта
    Помощь
    Условия оплаты
    Условия доставки
    Товары под заказ
    Гос. закупки
    Как сделать заказ
    Вопрос-ответ
    2013 - 2026 © 3DiY (Тридиай) - интернет-магазин комплектующих для 3D принтеров, ЧПУ станков и робототехники
    Конфиденциальность
    Оферта
    ГлавнаяКаталог0Корзина0ИзбранныеКабинет0Сравнение
    d =
    Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
    Согласен