• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Luxmeter

aZholtikov

Active member
Всем привет!

Нужна помощь. Есть ли на форуме человек у которого присутствует одновременно ESP32/8266 + BH1750(датчик освещенности) + нормальный профессиональный/полупрофессиональный люксметр?

Если есть - отзовитесь пожалуйста в личку.
 

enjoynering

Well-known member

pvvx

Активный участник сообщества
BH1750FVI полностью устарел: VCC Voltage 2.4..3.6
Ныне нужно от 1.8В.
 

aZholtikov

Active member
Спасибо.

Вопрос не в библиотеках и не собственно в датчике, а в том, что проявились в его работе некоторые "тонкости", противоречащие datasheet. И мне просто стало интересно разобраться для себя "любимого". :) А без опоры на реальные показания нормального прибора это не получится... Будем искать...
 

aZholtikov

Active member
Спасибо.

Но под "опорой" я подразумевал более/менее заводской прибор, с которым можно сравнить показания BH1750 (при одинаковых единомоментных физических условиях) после моих манипуляций с его регистрами.

P.S. Прибор уже нашел в отделе метрологии на работе.
P.P.S. Всем спасибо. По результатам отпишу.
 

aZholtikov

Active member
Сразу оговорюсь - датчик у меня один. Возможно бракованный. Еще один на подходе недели через 2...

Смысл следующий (во время теста освещенность очень стабильна и почти неизменна - точечный светильник). Тест в каждом из 3-х opmode одинаков. Питание датчика не отключалось. Тестил раз 10 наверное...

1. Работа с чувствительностью по умолчанию (то есть регистр не менял, по умолчанию по datasheet 69). Все нормально.
2. Меняем чувствительность (разные числа, кроме 69) - разные показания. Все нормально.
3. Ставим чувствительность на 69 - вроде все должно соответствовать пункту 1? А вот хрен! Отличаются.
4. Меняем чувствительность (разные числа, кроме 69) - разные показания, но не соответствуют пункту 2 при одинаковых установленных значениях!

При сбросе питания состояние датчика возвращается к 1.
Формулы расчета не использовал. В тесте только полученное с сенсора uint16_t число.

Вопрос - в каком случае (1-2) или (3-4) показания соответствуют реальным? Нужно ли "пнуть" датчик после подачи питания принудительной установкой значения по умолчанию?
 

enjoynering

Well-known member
Поведение в п.3 действительно странно. Остальное вроде правильно там же по формуле:

rawValue / accuracy * sensitivity и это в простых mode

В high res mode 2 там половина диапазона:

0.5 * rawValue / accuracy * sensitivity

Я понимаю, что вы очень умный, но иногда смотреть чужой код совсем не западло.
 

aZholtikov

Active member
Довольно обидны Ваши слова.

Я же написал - В тесте только полученное с сенсора uint16_t число. Без формул расчета.
И так-же уточнил - Тест в каждом из 3-х opmode одинаков. Результат сравнения результатов измерений, а не конкретного значения.

А это значит что - при первой установке принудительно значения чувствительности 69 все дальнейшие измерения отличаются от проведенных до этого изменения (при одинаковых условиях и настройках).
 

aZholtikov

Active member
Как пример:
Вы измеряете в High_mode - получаете например 5000.
Далее в High_mode_2 - получаете например 2500.
Принудительно ставите чувствительность 69.
Опять измеряете в High_mode - получаете например 5500.
И в High_mode_2 - получаете например 2750.

Почему так? Что изменилось? Чувствительность ведь не поменялась? А какое измерение верное?
Наверное не западло более внимательно читать написанное?
 
Сверху Снизу