Для измерения освещенности отлично подходят модули 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
buy tadalafil online
canadian pharmacies that ship to us
cheap canadian drugs
sildenafil walmart
super viagra
non prescription on line pharmacies
best canadian online pharmacies
pharmacy prices compare
canada pharmacy online canada pharmacies
best viagra for men
otc viagra
buy prescription drugs without doctor
olympe casino avis: olympe casino — olympe casino
olympe casino en ligne: olympe — olympe casino cresus
olympe casino cresus: olympe casino cresus — olympe
olympe casino: olympe — olympe
olympe casino olympe casino avis
kamagra pas cher: kamagra gel — kamagra livraison 24h
pharmacie en ligne pas cher: pharmacie en ligne sans ordonnance — trouver un mГ©dicament en pharmacie pharmafst.com
https://tadalmed.com/# Pharmacie en ligne Cialis sans ordonnance
Achat mГ©dicament en ligne fiable: Medicaments en ligne livres en 24h — Achat mГ©dicament en ligne fiable pharmafst.com
kamagra gel kamagra gel Acheter Kamagra site fiable
vente de mГ©dicament en ligne: Medicaments en ligne livres en 24h — pharmacie en ligne france livraison internationale pharmafst.com
https://tadalmed.com/# Cialis generique prix
kamagra livraison 24h: kamagra livraison 24h — kamagra oral jelly
Acheter Cialis 20 mg pas cher: Acheter Cialis — Tadalafil sans ordonnance en ligne tadalmed.shop
Kamagra Oral Jelly pas cher: kamagra 100mg prix — kamagra en ligne
cialis prix cialis generique cialis prix tadalmed.com
pharmacie en ligne pas cher: pharmacie en ligne pas cher — pharmacie en ligne france fiable pharmafst.com
Tadalafil 20 mg prix sans ordonnance: cialis sans ordonnance — Cialis sans ordonnance 24h tadalmed.shop
kamagra en ligne Acheter Kamagra site fiable achat kamagra
pharmacie en ligne france livraison belgique: Pharmacies en ligne certifiees — pharmacie en ligne avec ordonnance pharmafst.com
Cialis sans ordonnance pas cher: Acheter Cialis 20 mg pas cher — Acheter Viagra Cialis sans ordonnance tadalmed.shop
acheter mГ©dicament en ligne sans ordonnance: Pharmacies en ligne certifiees — п»їpharmacie en ligne france pharmafst.com
kamagra oral jelly [url=https://kamagraprix.shop/#]kamagra oral jelly[/url] kamagra gel
п»їpharmacie en ligne france: Medicaments en ligne livres en 24h — pharmacies en ligne certifiГ©es pharmafst.com
https://tadalmed.com/# Tadalafil 20 mg prix sans ordonnance
pharmacies en ligne certifiГ©es: Meilleure pharmacie en ligne — pharmacie en ligne france livraison belgique pharmafst.com
Tadalafil sans ordonnance en ligne: Tadalafil sans ordonnance en ligne — Acheter Cialis tadalmed.shop
http://kamagraprix.com/# kamagra en ligne
pharmacie en ligne sans ordonnance: pharmacie en ligne — pharmacie en ligne france livraison internationale pharmafst.com
kamagra gel: kamagra gel — Kamagra Oral Jelly pas cher
kamagra livraison 24h: Kamagra Oral Jelly pas cher — kamagra en ligne
kamagra en ligne: Acheter Kamagra site fiable — Kamagra pharmacie en ligne
Kamagra Oral Jelly pas cher: kamagra pas cher — Acheter Kamagra site fiable
https://pharmafst.shop/# pharmacie en ligne france fiable
cialis sans ordonnance: Tadalafil 20 mg prix sans ordonnance — Cialis generique prix tadalmed.shop
https://tadalmed.shop/# Acheter Cialis
Pharmacie en ligne livraison Europe pharmacie en ligne pharmacie en ligne france livraison internationale pharmafst.shop
https://kamagraprix.com/# kamagra en ligne
https://kamagraprix.com/# kamagra livraison 24h
Tadalafil 20 mg prix en pharmacie: Acheter Cialis 20 mg pas cher — Tadalafil 20 mg prix en pharmacie tadalmed.shop
list of safe online pharmacies
Cialis en ligne Acheter Viagra Cialis sans ordonnance Tadalafil achat en ligne tadalmed.com
RxExpressMexico: Rx Express Mexico — mexico pharmacy order online
Medicine From India: indian pharmacy — medicine courier from India to USA
best online canadian pharmacy: northwest pharmacy canada — legitimate canadian pharmacy
indian pharmacy Medicine From India medicine courier from India to USA
mexico pharmacies prescription drugs: RxExpressMexico — RxExpressMexico
indian pharmacy online: Medicine From India — indian pharmacy
legit canadian pharmacy online: Canadian pharmacy shipping to USA — global pharmacy canada
canadian online drugs: adderall canadian pharmacy — global pharmacy canada
https://medicinefromindia.shop/# indian pharmacy online shopping
Medicine From India: Medicine From India — indian pharmacy online shopping
Rx Express Mexico: Rx Express Mexico — mexico drug stores pharmacies
Medicine From India Medicine From India indian pharmacy online shopping
medicine courier from India to USA: indian pharmacy — indian pharmacy online shopping
canadian pharmacy review: Express Rx Canada — canadianpharmacymeds com
http://rxexpressmexico.com/# mexico drug stores pharmacies
http://medicinefromindia.com/# Medicine From India
mexican rx online: mexico pharmacy order online — mexico drug stores pharmacies
http://rxexpressmexico.com/# Rx Express Mexico
mexico drug stores pharmacies: Rx Express Mexico — RxExpressMexico
medicine courier from India to USA: indian pharmacy online shopping — Medicine From India
canadian pharmacy 24h com Generic drugs from Canada canadian pharmacy no scripts
Rx Express Mexico: mexican online pharmacy — mexico pharmacies prescription drugs
indian pharmacy online shopping: Medicine From India — indian pharmacy online
http://expressrxcanada.com/# my canadian pharmacy review
https://expressrxcanada.com/# legal to buy prescription drugs from canada
reputable mexican pharmacies online: mexican online pharmacy — Rx Express Mexico
http://expressrxcanada.com/# pharmacy com canada
pinup az pin up casino pin up casino
http://pinuprus.pro/# пин ап казино
пин ап вход: пин ап казино официальный сайт — пинап казино
pinup az: pinup az — pin up azerbaycan
пин ап казино: пин ап вход — пин ап зеркало
пин ап вход пин ап зеркало пинап казино
pinup az: pin-up — pin up azerbaycan
http://vavadavhod.tech/# вавада
pin up azerbaycan: pin up — pin up
vavada casino: вавада зеркало — vavada вход
vavada casino: vavada casino — vavada вход
pin up casino pin up casino pinup az
пин ап казино официальный сайт пин ап казино pin up вход
биржа аккаунтов безопасная сделка аккаунтов
аккаунт для рекламы маркетплейс аккаунтов соцсетей