Главная → Датчики

BME280: обзор датчика температуры, влажности и давления

4 сентября 2026 · Датчики

BME280 — комбинированный датчик Bosch Sensortec, который в одном корпусе размером с рисовое зерно измеряет сразу три величины: температуру, относительную влажность и атмосферное давление. Для метеостанции на Arduino или ESP32 это самый практичный выбор: один модуль вместо трёх, две линии связи вместо шести и потребление, при котором датчик спокойно живёт на батарейке год.

Подключение датчика BME280 по I2C и его паспортная точность
Подключение датчика BME280 по I2C и его паспортная точность

Характеристики

Ниже — паспортные значения с сайта Bosch Sensortec, а не пересказ из каталогов магазинов.

Параметр Значение
Диапазон температур −40…+85 °C
Влажность, точность ±3 % RH, гистерезис ≤2 %
Влажность, время отклика 1 с
Давление, диапазон 300…1100 гПа
Давление, погрешность чувствительности ±0,25 %
Давление, шум (RMS) 0,2 Па — это около 1,7 см по высоте
Температурный дрейф давления ±1,5 Па/К
Питание VDD / VDDIO 1,71…3,6 В / 1,2…3,6 В
Ток в работе 3,6 мкА при опросе раз в секунду (все три величины)
Ток в режиме сна 0,1 мкА
Интерфейсы I²C и SPI
Корпус LGA, 8 выводов, 2,5 × 2,5 × 0,93 мм

Что означает шум 1,7 см

Цифра выглядит странно для датчика давления, но она самая полезная в паспорте. Собственный шум измерения — 0,2 Па, а перепад в 0,2 Па атмосфера даёт примерно на 1,7 см подъёма. То есть датчик способен заметить, что вы подняли его со стола на уровень глаз. На практике это значит, что для прогноза погоды разрешения хватает с огромным запасом, а вот для определения этажа в здании уже нужна калибровка по опорной точке: абсолютная погрешность куда больше шума.

Питание и потребление

Датчик рассчитан на 1,8 и 3,3 В. Пятивольтовую логику Arduino Uno он не переносит — нужен либо модуль со встроенным стабилизатором и преобразователем уровней (такие продаются как «BME280 5V»), либо делитель на линиях SCL и SDA. С ESP32 и всеми платами на 3,3 В датчик соединяется напрямую.

3,6 мкА при опросе раз в секунду — это режим, в котором датчик почти не влияет на баланс питания: на типовой батарейке 18650 такой ток жил бы годами. Реальное потребление узла определяет не датчик, а радиомодуль.

Подключение по I²C

Четыре провода, стандартные пины платы:

BME280   ESP32        Arduino Uno (3,3 В!)
VIN   -> 3V3          3V3
GND   -> GND          GND
SCL   -> GPIO 22      A5
SDA   -> GPIO 21      A4

Адрес на шине — 0x76 или 0x77, зависит от того, как разведён вывод SDO на конкретном модуле. Если библиотека не находит датчик по адресу из примера, попробуйте второй: это самая частая причина ошибки «Could not find a valid BME280 sensor».

Код для проверки

#include <Wire.h>
#include <Adafruit_BME280.h>

Adafruit_BME280 bme;

void setup() {
  Serial.begin(115200);
  if (!bme.begin(0x76)) {          // не нашёл — пробуйте 0x77
    Serial.println("Датчик не отвечает");
    while (1) delay(10);
  }
}

void loop() {
  Serial.print(bme.readTemperature());      Serial.print(" C, ");
  Serial.print(bme.readHumidity());         Serial.print(" %, ");
  Serial.print(bme.readPressure() / 100.0F); Serial.println(" hPa");
  delay(2000);
}

Библиотека Adafruit BME280 ставится через менеджер библиотек Arduino IDE, вместе с ней нужна Adafruit Unified Sensor.

Частая ошибка: температура завышена

Модуль греется сам: рядом с чувствительным элементом стоит кристалл, и в режиме непрерывного измерения датчик показывает на 1–2 градуса больше реальной температуры воздуха. Лечится двумя способами — реже опрашивать (режим forced mode вместо normal) и не ставить плату в закрытый корпус рядом с преобразователем питания.

BME280 или BMP280

Модули выглядят одинаково, отличаются одной буквой и наличием измерения влажности. BMP280 меряет только температуру и давление и стоит примерно вдвое дешевле. Если продавец отдаёт «BME280» по цене BMP280 — скорее всего, это и есть BMP280: проверьте после сборки, отдаёт ли датчик влажность.

Против DHT22

DHT22 умеет только температуру и влажность, работает по своему однопроводному протоколу и опрашивается не чаще раза в две секунды. Точность по влажности у него ±2–5 %, у BME280 — ±3 %, но BME280 при этом даёт давление и живёт на I²C вместе с другими устройствами. Подробный разбор DHT22 — в отдельном обзоре.

Короткий вывод: если проект про погоду и питание от батареи — берите BME280. Если нужна только влажность в помещении и важна цена — хватит DHT22.

Информация собрана из открытых источников и паспортов производителей и не является истиной в последней инстанции. Характеристики, распиновку и совместимость проверяйте по документации конкретной партии модуля перед покупкой и подключением.

Читайте дальше

Контроллеры

Обзор: Arduino Uno, Nano и Pro Mini — чем отличаются и что взять под задачу

Три платы — один чип Uno, Nano и Pro Mini построены на одном ATmega328P: 32 КБ флеша, 2 КБ ОЗУ, 1 КБ…

Читать обзор →
Связь

nRF24L01+: радиосвязь между платами без Wi-Fi

Когда датчик надо вынести на улицу, в теплицу или в подвал, тянуть провод неудобно, а Wi-Fi там либо не добивает, либо съедает…

Читать обзор →
Готовые проекты

Автополив теплицы на ESP32: датчик влажности почвы, помпа и реле

Что собираем Теплица живёт по своему расписанию: вода нужна растениям каждый день, а хозяин бывает раз в неделю. Соберём систему, которая поливает…

Читать обзор →