Подключение датчика BME280 к плате NodeMCU на базе ESP8266

Цель работы

Научиться использовать датчик BME280 с микроконтроллером NodeMCU на базе ESP8266

Задачи работы

  1. Собрать схему
  2. Разработать скетч

Инструменты для выполения работы

  1. Компьютер с подключением к сети Internet
  2. Датчик BME280
  3. NodeMCU
  4. Провода

Теоретическая часть

BME280 - универсальный датчик для измерения температуры, давления и влажности. Работает по интерфейсам I2C и SPI.

Выполнение работы

Сборка схемы

Подключаем датчик к плате по схеме:
VCC -> 3V
GND -> G
SCL -> D1
SDA -> D2

Разработка скетча

Создаем новый скетч. Через менеджер библиотек загружаем библиотеку BME280 от автора Tyler Glenn. Закрываем менеджер библиотек и подключаем ее к скетчу (Скетч -> Подключить библиотеку -> BME280).
Создаем глобальную переменную

BME280I2C bme;

В функции setup() запускем Serial и датчик

Serial.begin(9600);
Wire.begin();
while(!bme.begin())
{
    Serial.println("Could not find BME280 sensor!");
    delay(1000);
}

В функции loop() считываем значения температуры, влажности и давления с датчика и выводим в Serial

float temp(NAN), hum(NAN), pres(NAN);

BME280::TempUnit tempUnit(BME280::TempUnit_Celcius);
BME280::PresUnit presUnit(BME280::PresUnit_Pa);

bme.read(pres,temp,hum,tempUnit,presUnit);

Serial.print("Temp: ");
Serial.print(temp);
Serial.println("°C");
Serial.print("Humidity: ");
Serial.print(hum);
Serial.println("% RH");
Serial.print("Pressure: ");
Serial.print(pres);
Serial.println(" Pa");
delay(500);