🛒
0 товар.
0 руб.
Логотип

Интернет-магазин «Неглупый Дом»

☰
ИИ-консультант Wildberries OZON Яндекс Маркет
Поиск по сайту
Гугл таблица с ассортиментом

💡 Проект: люксметр на BH1750 с выводом на LCD1602

Схема люксметра на BH1750 с выводом на LCD1602

BH1750 измеряет освещённость в люксах и по I2C отдаёт готовое число на дисплей LCD1602.

Как это работает

BH1750 — цифровой датчик освещённости со встроенным АЦП: в отличие от аналоговых фоторезисторов, сразу выдаёт по I2C готовое значение в люксах, откалиброванное под чувствительность человеческого глаза. Режим по умолчанию — непрерывное измерение высокого разрешения (1 люкс), обновляется примерно раз в 120 мс.

Для ориентира: прямой солнечный свет — 32000-100000 люкс, пасмурный день — 1000-10000, офисное освещение — 300-500, комфортное чтение — около 50, сумерки — единицы люкс.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, что указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. BH1750: SDA → A4, SCL → A5, VCC → 3.3-5V, GND → GND.
  2. LCD1602 с I2C: та же шина SDA/SCL — у датчика и дисплея разные адреса, конфликта нет.
  3. Контакт ADDR на BH1750 (если выведен) оставьте на GND или не подключайте — выбирает адрес 0x23 по умолчанию.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить.

#include <Wire.h>
#include <BH1750.h>
#include <LiquidCrystal_I2C.h>

BH1750 lightMeter;
LiquidCrystal_I2C lcd(0x27, 16, 2); // адрес 0x27 — самый частый, у некоторых плат 0x3F

void setup() {
  Serial.begin(9600);
  Wire.begin();

  if (!lightMeter.begin()) {
    Serial.println("Ошибка: датчик BH1750 не найден");
  }

  lcd.init();
  lcd.backlight();
}

void loop() {
  float lux = lightMeter.readLightLevel();

  lcd.setCursor(0, 0);
  lcd.print("Lux: ");
  lcd.print(lux);
  lcd.print("     ");

  Serial.print("Освещённость: ");
  Serial.print(lux);
  Serial.println(" лк");

  delay(1000);
}
                

Библиотека BH1750 (автор claws) ставится через Менеджер библиотек. У датчика и дисплея разные адреса на шине, конфликта нет.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🌱 автополив по датчику влажности…🌤️ барометр на BMP280 с выводом н… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу: 345 ₽ 311 ₽ (экономия 34 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина

Поиск


Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA