Подключение BME280 к ESP32

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

BME280 к ESP32 подключается по I2C четырьмя проводами: 3,3 В, земля, SDA и SCL. На ESP32 для шины I2C по умолчанию используются GPIO21 (SDA) и GPIO22 (SCL).

Схема подключения BME280 к ESP32

BME280ESP32
SCLGPIO22
SDAGPIO21
VCC3V3
GNDGND

Схема из примера «BME280: три величины сразу».

BME280: три величины сразу

Открыть пример целиком

Выводы BME280

ВыводНазначение
SCLтактовая линия I2C
SDAлиния данных I2C
VCCпитание
GNDобщий провод

Код для ESP32

#include <Adafruit_BME280.h>

Adafruit_BME280 bme;

void setup() {
  Serial.begin(115200);
  delay(200);

  // Адрес зависит от вывода SDO: 0x76 при земле, 0x77 при питании.
  // Перепутанный адрес выглядит как неисправный датчик.
  if (!bme.begin(0x76)) {
    Serial.println("BME280 не отвечает: проверьте адрес и провода");
    while (true) delay(1000);
  }
}

void loop() {
  Serial.printf("%.2f C  %.1f %%  %.2f гПа\n",
                bme.readTemperature(),
                bme.readHumidity(),
                bme.readPressure() / 100.0F);
  delay(1000);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

Частые ошибки при подключении к ESP32

Другие детали для ESP32