Подключение датчика BME280 к плате NodeMCU на базе ESP8266
Цель работы
Научиться использовать датчик BME280 с микроконтроллером NodeMCU на базе ESP8266
Задачи работы
- Собрать схему
- Разработать скетч
Инструменты для выполения работы
- Компьютер с подключением к сети Internet
- Датчик BME280
- NodeMCU
- Провода
Теоретическая часть
BME280 - универсальный датчик для измерения температуры, давления и влажности. Работает по интерфейсам I2C и SPI.
Выполнение работы
Сборка схемы
Подключаем датчик к плате по схеме:
VCC -> 3V
GND -> G
SCL -> D1
SDA -> D2
Разработка скетча
Создаем новый скетч. Через менеджер библиотек загружаем библиотеку BME280 от автора Tyler Glenn. Закрываем менеджер библиотек и подключаем ее к скетчу (Скетч -> Подключить библиотеку -> BME280). Потом подключаем библиотеку Wire.
Создаем глобальную переменную
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_Celsius);
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);