Для измерения освещенности отлично подходят модули Gy-30 и Gy-302 на базе сенсора BH1750. Сенсор предназначен для измерения фонового освещения, имеет высокую чувствительность, а спектр чувствительности совпадает с кривой чувствительности человеческого глаза. Подключается BH1750 к Arduino по распространенному I2C интерфейсу. Внутренняя логика BH1750 избавляет от необходимости каких-либо сложных вычислений, поскольку он напрямую выводит значимые цифровые данные в люксах (лк). С помощью BH1750 можно изготовить самодельный люксметр на Ардуино.
Установка библиотеки BH1750
Библиотеку можно установить из самой среды следующим образом:
- Скачиваем библиотеку BH1750 с github;
- В Arduino IDE открываем менеджер библиотек: Скетч->Подключить библиотеку->Добавить .ZIP библиотеку…
- Выбираем .ZIP архив и кликаем Open/Открыть.
- Библиотека установлена.
Подключение BH1750 к Arduino
Модуль модуль GY-302 оборудован пяти-пиновым разъемом стандарта 2.54мм:
- VCC: Питание «+»
- GND: Земля «-«
- SCL: Линия тактирования (Serial CLock)
- SDA: Линия данных (Serial Data)
- ADDR: Выбор адреса
Выводы отвечающие за интерфейс I2C на платах Arduino на базе различных контроллеров разнятся:
Arduino Mega | Arduino Uno/Nano/Pro Mini | BH1750 модуль | Цвет проводов на фото |
---|---|---|---|
GND | GND | GND | Черный |
5V | 5V | VCC | Красный |
20 (SDA) | A4 | SDA | Синий |
21 (SCL) | A5 | SCL | Зелёный |
3.3V | 3.3V | ADDR | Жёлтый |
Схема подключения BH1750 к Arduino по I2C
На следующем рисунке показана схема подключения датчика внешней освещенности BH1750 к Arduino UNO. Вывод ADD можно оставить «висящим»:
но вы можете подключить его к 3.3 В. Это переведет вывод ADD в высокий логический уровень, и адрес ведомого I2C датчика внешней освещенности BH1750 станет 0x5C. Это важно в программировании. Если вывод ADD переведен в низкое логическое состояние путем подключения к земле, адрес ведомого устройства I2C датчика внешней освещенности BH1750 будет 0x23. Таким образом, два датчика внешней освещенности BH1750 могут быть подключены к одной шине I2C, где один вывод ADD имеет низкое логическое состояние, а другой вывод ADD высокое.
Пример скетча
В скетче мы каждые 1000 мсек считываем с датчика BH1750 показания освещённости в люксах и выводим эти данные в последовательный порт.
/* Подключяем библиотеку Wire (для I2C) */ #include <Wire.h> /* Подключяем библиотеку для bh1750 */ #include <BH1750.h> /* Объявляем объект lightMeter */ BH1750 lightMeter; void setup() { /* Запускаем последовательный порт */ Serial.begin(9600); /* Инициализируем шину I2C (библиотека BH1750 не делает это автоматически) На esp8266 вы можете выбрать выводы SCL и SDA, используя Wire.begin (D4, D3); */ Wire.begin(); /* Инициализируем и запускаем BH1750 */ lightMeter.begin(); Serial.println(F("BH1750 тест")); } void loop() { /* Считываем показания с BH1750 */ float lux = lightMeter.readLightLevel(); /* Отправляем значение освещенности в последовательный порт */ Serial.print("Light: "); Serial.print(lux); Serial.println(" lx"); /* раз в секунду */ delay(1000); }
Результат
Открыть монитор последовательного порта можно сочетанием клавиш Ctrl+Shift+M или через меню Инструменты. В мониторе последовательного порта побегут значения освещённости с нашего датчика BH1750.
Сравнение BH1750 и TSL2561
Спектр видимого света колеблется от 380 нм (фиолетовый) до 780 нм (красный) (в вакууме). Короче говоря, BH1750 просто измеряет это. TSL2561, помимо видимого спектра, также измеряет инфракрасное излучение. Он имеет два диода, один для видимого, а второй для инфракрасного. На мой взгляд, BH1750 соответствует большинству требований, тогда как TSL2561 предлагает более широкий спектр, большую чувствительность и большую точность.
Для сравнения, оба датчика были размещены параллельно в макете, один рядом с другим. Таким образом, можно получить практически одинаковое излучение на оба датчика.
Более подробно о том, как работать с TSL2561 в Ардуино, можете найти в отдельной статье Подключение цифрового датчика освещенности TSL2561 к Arduino.
Схема подключения TSL2561 и BH1750 к Arduino по I2C
На следующем рисунке показана схема подключения датчиков внешней освещенности TSL2561 и BH1750 к Arduino UNO.
Пример скетча
#include <Wire.h> #include <BH1750.h> #include <Adafruit_TSL2561_U.h> BH1750 bh1750; Adafruit_TSL2561_Unified tsl2561 = Adafruit_TSL2561_Unified(TSL2561_ADDR_FLOAT, 12345); void setup() { Serial.begin(9600); Wire.begin(); /* TSL2561 */ if (!tsl2561.begin()) { Serial.print(F("При обнаружении TSL2561 возникла проблема ... проверьте подключение!")); while (1); } tsl2561.setGain(TSL2561_GAIN_1X); tsl2561.setIntegrationTime(TSL2561_INTEGRATIONTIME_402MS); /* BH1750 */ bh1750.begin(BH1750::ONE_TIME_HIGH_RES_MODE); Serial.println(F("BH1750 vs TSL2561")); } void loop() { /* Считываем показания с TSL2561 */ sensors_event_t event; tsl2561.getEvent(&event); /* Считываем показания с BH1750 */ float lux = bh1750.readLightLevel(); /* Отправляем значение освещенности в последовательный порт */ if (event.light) { Serial.print(F("TSL2561: ")); Serial.print(event.light); Serial.println(F(" lx")); } else { /* Если event.light = 0 люкса датчик, вероятно, насыщенные и достоверные данные не может быть сгенерированы! */ Serial.println(F("Насыщенные TSL2561")); } Serial.print(F("BH1750 : ")); Serial.print(lux); Serial.println(F(" lx")); delay(1000); }
Результат
По результатам TSL2561 и BH1750 дают практически идентичные показатели в одинаковых условиях. Это говорит о том, что сами датчики идут откалиброванными с завода.
Материалы
datasheet bh1721fvc-e.pdf
GitHub — claws/BH1750: An Arduino library for the digital light sensor breakout boards containing the BH1750FVI IC
BH1750 — Цифровой датчик освещенности/люксметр — MicroPi
non perscription online pharmacies
sildenafil walmart
pharmacy prices compare
best viagra for men
list of safe online pharmacies
биржа аккаунтов безопасная сделка аккаунтов
аккаунт для рекламы маркетплейс аккаунтов соцсетей
купить аккаунт маркетплейс для реселлеров
продажа аккаунтов https://pokupka-akkauntov-online.ru/
Account Trading Buy Account
Account Sale Account Selling Platform
Sell Account Account Exchange Service
Purchase Ready-Made Accounts Accounts marketplace
Account trading platform Online Account Store
Account Acquisition Verified Accounts for Sale
social media account marketplace account purchase
account trading sell account
sell pre-made account account catalog
account trading account buying platform
sell account account buying service
marketplace for ready-made accounts account sale
accounts marketplace account trading platform
gaming account marketplace https://accounts-marketplace.org
find accounts for sale social media account marketplace
website for selling accounts account market
account trading platform buy accounts
buy pre-made account account market
accounts for sale sell pre-made account
purchase ready-made accounts account exchange
social media account marketplace secure account sales
account sale account selling service
website for buying accounts account sale
account purchase secure account sales
account trading platform account market
account trading service buy and sell accounts
account exchange buy account
secure account purchasing platform https://buy-best-accounts.org
verified accounts for sale https://social-accounts-marketplaces.live
sell accounts https://social-accounts-marketplace.xyz/
account exchange service https://buy-accounts.space
account store https://buy-accounts-shop.pro/
buy account https://buy-accounts.live
account acquisition https://accounts-marketplace-best.pro
маркетплейс аккаунтов соцсетей akkaunty-na-prodazhu.pro
магазин аккаунтов rynok-akkauntov.top
маркетплейс аккаунтов https://akkaunt-magazin.online/
продажа аккаунтов https://akkaunty-market.live
маркетплейс аккаунтов соцсетей https://akkaunty-optom.live/
покупка аккаунтов магазины аккаунтов
продажа аккаунтов kupit-akkaunt.online
buying facebook account https://buy-adsaccounts.work
buy a facebook ad account https://buy-ad-accounts.click
buy facebook ads manager buy accounts facebook
buy a facebook ad account https://ad-account-buy.top/
buy fb ad account https://buy-ads-account.work
cheap facebook account buy-ad-account.click
buy fb ad account facebook ad account for sale
buy google adwords account buy google ads accounts
buy facebook account https://buy-accounts.click
google ads accounts for sale https://buy-ads-invoice-account.top
buy google ads invoice account https://ads-agency-account-buy.click
google ads accounts for sale https://buy-verified-ads-account.work
buy verified facebook business manager account buy-business-manager-acc.org
buy verified business manager https://buy-verified-business-manager-account.org/
buy facebook business manager https://business-manager-for-sale.org
business manager for sale https://buy-business-manager-verified.org
buy bm facebook https://verified-business-manager-for-sale.org/
buy facebook business account buy-business-manager-accounts.org
buy tiktok business account https://buy-tiktok-ads-account.org
tiktok ads agency account https://tiktok-ads-account-buy.org
tiktok ads account buy tiktok ads agency account
buy tiktok ad account https://tiktok-agency-account-for-sale.org
tiktok ad accounts https://buy-tiktok-ads-accounts.org
buy tiktok ad account https://buy-tiktok-business-account.org
tiktok agency account for sale https://buy-tiktok-ads.org
buy tiktok ads https://tiktok-ads-agency-account.org
шкафы на парковку москва http://shkaf-parking-3.ru/ .
canada online pharmacy
Народные приметы https://inforigin.ru .
Лунный календарь https://istoriamashin.ru/ .
dragonslots dragonslots .
the pokies net 106 the pokies net 106 .
карнизы с электроприводом купить карнизы с электроприводом купить .
ставки на хоккей прогнозы от профессионалов http://www.prognoz-na-segodnya-na-sport.ru .
анализ матчей анализ матчей .
прогнозы на хоккей с подробным анализом https://luchshie-prognozy-na-khokkej1.ru .