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

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

BME280 к Arduino Uno и Nano подключается по I2C: SDA на A4, SCL на A5 (у Mega — на 20 и 21). Питание — 3,3 В; модули со стабилизатором допускают и 5 В.

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

BME280Arduino Uno
SCLA5
SDAA4
VCC5V
GNDGND

Схема из примера «Arduino Uno: давление, влажность и температура».

Arduino Uno: давление, влажность и температура

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

Выводы BME280

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

Код для Arduino

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

// BME280 на I2C — A4 и A5.
//
// Адрес у этого датчика бывает двух видов: 0x76 и 0x77, и зависит он от
// того, к чему припаян вывод SDO на плате модуля. Библиотека умеет
// принимать адрес доводом, и проверять оба — обычная практика.
//
// Печать в формате «имя:число» подхватывает вкладка «График»: три ряда
// строятся сами. Давление переводится в миллиметры ртутного столба —
// датчик отдаёт паскали, а по привычке смотрят на миллиметры.

Adafruit_BME280 bme;

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

  if (!bme.begin(0x76) && !bme.begin(0x77)) {
    Serial.println(F("датчик не отозвался: проверьте A4, A5 и питание"));
    return;
  }
}

void loop() {
  float t = bme.readTemperature();
  float h = bme.readHumidity();
  float p = bme.readPressure() / 133.322;   // паскали в мм рт. ст.

  Serial.print("t:");
  Serial.print(t, 1);
  Serial.print(" h:");
  Serial.print(h, 1);
  Serial.print(" p:");
  Serial.println(p, 1);

  delay(1000);
}

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

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

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

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