Для измерения освещенности отлично подходят модули 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
canada drugs online review: Canadian Pharmacy AAPD — is canadian pharmacy legit
https://mexicanpharmacyacp.com/# mexico drug stores pharmacies
purple pharmacy mexico price list
pharmacy rx world canada: Canadian Pharmacy AAPD — canadian pharmacy world
Indian pharmacy international shipping: Indian Pharmacy Abp — Online medicine home delivery
Indian pharmacy international shipping: Best online Indian pharmacy — Indian pharmacy international shipping
Online medicine home delivery: indian pharmacy — Online medicine home delivery
recommended canadian pharmacies: canadian family pharmacy — the canadian pharmacy
Indian pharmacy international shipping: india pharmacy mail order — Best Indian pharmacy
canadian compounding pharmacy: canada drugs online — canadian online drugs
Indian pharmacy online: reputable indian online pharmacy — indian pharmacy
http://indianpharmacyabp.com/# Indian Pharmacy Abp
buying prescription drugs in mexico
Автомат Ballon предлагает уникальные Р±РѕРЅСѓСЃС‹.: balloon game — balloon казино
Сыграйте РЅР° деньги, почувствуйте азарт!: balloon игра на деньги — balloon казино официальный сайт
Азартные РёРіСЂС‹ РїСЂРёРЅРѕСЃСЏС‚ радость Рё азарт.: balloon казино демо — balloon казино играть
Соревнуйтесь СЃ РґСЂСѓР·СЊСЏРјРё РЅР° игровых автоматах.: balloon игра — balloon игра
Казино — это место для больших выигрышей.: balloon казино — balloon game
https://akhbutina.kz/# Ргровые автоматы делают вечер незабываемым.
balloon казино balloon игра на деньги Азартные РёРіСЂС‹ РїСЂРёРЅРѕСЃСЏС‚ радость Рё азарт.
Their international patient care is impeccable.
can you get generic lisinopril prices
Trustworthy and efficient with every international delivery.
Присоединяйтесь Рє игрокам РЅР° автоматах.: balloon казино — balloon игра на деньги
https://neokomsomol.kz/# Динамичная игра на автомате Ballon ждет вас.
Автомат Ballon — идеальный СЃРїРѕСЃРѕР± расслабиться.: balloon игра — balloon казино играть
https://neokomsomol.kz/# Обнаружьте новые стратегии на автомате Ballon.
http://88betviet.pro/# nha cai 88bet
https://88betviet.pro/# keo nha cai 88bet
dang nh?p alo789: alo789in — dang nh?p alo789
http://k8viet.gurum/# link vao k8
https://k8viet.gurum/# k8
https://k8viet.gurum/# k8vip
https://k8viet.gurum/# k8 bet
88bet: 88bet slot — keo nha cai 88bet
https://alo789.auction/# alo789hk
http://88betviet.pro/# keo nha cai 88bet
https://k8viet.guru/# k8vip
https://alo789.auction/# alo 789
http://alo789.auction/# alo 789 dang nh?p
alo789 alo 789 789alo
https://alo789.auction/# alo789 dang nh?p
https://alo789.auction/# alo789in
https://88betviet.pro/# 88bet slot
alo789: alo 789 — alo789 chinh th?c
188bet 88bet 88bet slot 188bet 88bet
alo 789: alo 789 dang nh?p — alo 789
https://k8viet.guru/# nha cai k8
alo 789: alo 789 dang nh?p — alo 789 dang nh?p
http://88betviet.pro/# nha cai 88bet
http://88betviet.pro/# nha cai 88bet
https://alo789.auction/# alo789 chinh th?c
https://k8viet.guru/# link vao k8
https://alo789.auction/# alo789 dang nh?p
https://88betviet.pro/# 88bet
keo nha cai 88bet: 88bet — 188bet 88bet
k8 th? dam: nha cai k8 — k8
http://k8viet.guru/# k8vip
https://indiamedfast.shop/# india online pharmacy store
cross border pharmacy canada
mexican pharmacy online Mexican Pharm Inter mexican pharmacy online store
online pharmacy india India Med Fast IndiaMedFast.com
mexican pharmacy online order: buying from online mexican pharmacy — mexican pharmacy online store
canadian online drugstore: most reliable canadian online pharmacies — canadian pharmacy cheap
online canadian pharmacy most trusted canadian pharmacies online pharmacy com canada
MexicanPharmInter: Mexican Pharm International — Mexican Pharm International
mexican pharmacy online store: reliable mexican pharmacies — Mexican Pharm International
buying prescription drugs from india: lowest prescription prices online india — cheapest online pharmacy india
india pharmacy without prescription: order medicines online india — cheapest online pharmacy india
online medicine shopping in india: India Med Fast — india pharmacy without prescription
https://mexicanpharminter.shop/# mexican drug stores online
canadian drugs pharmacy
mexican pharmacy online order: buying from online mexican pharmacy — mexican pharmacy online store
http://interpharmonline.com/# my canadian pharmacy rx
canadian pharmacy store
canadian drug pharmacy: Online pharmacy USA — canada drugs reviews
https://indiamedfast.com/# cheapest online pharmacy india
adderall canadian pharmacy
mexican drug stores online mexican pharmacy online mexican pharmacy online
order medicines online india: lowest prescription prices online india — lowest prescription prices online india
research paper writing services https://promontoryartists.org/ math homework
india online pharmacy store: cheapest online pharmacy india — India Med Fast
real canadian pharmacy: legitimate canadian pharmacies online — canadian pharmacy 1 internet online drugstore
TadalafilEasyBuy.com cialis without a doctor prescription TadalafilEasyBuy.com
https://tadalafileasybuy.com/# Cheap Cialis
generic sildenafil: Generic100mgEasy — Generic100mgEasy
cialis without a doctor prescription: Tadalafil Easy Buy — cialis without a doctor prescription
kamagra jelly kopen: Kamagra Kopen Online — kamagra 100mg kopen
mba essay editing service https://miorix.com/ someone write my essay