ESPsmart » Блог » Подключение датчика давления BMP180 к ESP8266
Приглашаем всех желающих, принять участие в тестировании системы управления микроконтроллерами ESP8266/ESP32. Принять участие.

Подключение датчика давления BMP180 к ESP8266

Атмосферное давление и температура меняются постоянно о чем мы неоднократно слышим из прогноза погоды. Для измерения этих показателей отлично подойдет недорогой датчик давления BMP180 от Bosch. С помощью датчика BMP180 мы можем сделать неплохой барометр или домашнюю метеостанцию.

Подключение датчика давления BMP180 к ESP8266

Атмосферное давление

Это сила, которая действует на воздух так, что он давит на поверхность нашей планеты и на все, что на ней находится. Измеряется в миллиметрах ртутного столба, а в Международной системе единиц СИ в паскалях.

Атмосферное давление – это сила, которая возникает в результате давления воздушной массы атмосферы, направленная на поверхность. На его показатели влияет несколько факторов:
  • Перепады температуры: при ее понижении воздух становится тяжелее и давление увеличивается, при повышении – наоборот.
  • Тип движения потоков воздуха. Когда они нагреваются, то становятся менее плотными, легкими и поднимаются наверх, ослабляя свой натиск – их называют восходящими. Когда движущийся воздух охлаждается, то уплотняется, тяжелеет и от того опускается – это нисходящие потоки, при которых давление повышается.
  • Высота над уровнем моря. Чем выше, тем меньше плотность воздуха, что уменьшает его вес и силу воздействия.

Датчик ВМР180

Он состоит из пьезорезистивного датчика, который определяет атмосферное давление в ГПа, термодатчика, аналого-цифрового преобразователя и микроконтроллера. Данные допускается передавать по шинам I2С или SPI. Сенсор можно разместить в любом месте.

Принцип работы

Датчик представляет собой герметичную камеру, одна из стенок которой является гибкой мембраной. На мембране установлены тензодатчики, в зависимости разности давления снаружи и внутри камеры, меняется сопротивление, что фиксирует датчик.

Подключение датчика

Подключим модуль с датчиком к ESP8266 согласно схеме ниже. Питание подсоединяем к 5V или 3.3V, SCL к D1 (SCL) SDA к D2 (SDA).



Подключение библиотеки

Для работы с датчиком BMP180 добавим в Arduino IDE библиотеку. Открываем менеджер библиотек и находим библиотеку Adafruit BMP085 Library by Adafruit .




Скетч

#include <Wire.h>
#include <Adafruit_BMP085.h>

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(115200); // Устанавливаем скорость соединения с последовательным портом
  bmp.begin(); // Инициализируем датчик давления. Датчик должен быть подключен к ПИНАМ: D1 (SCL), D2 (SDA)
}
  
void loop() {
    Serial.print("Температура (*C) = ");
    Serial.print(bmp.readTemperature()); // Выводим температуру c датчика в консоль
    Serial.println();
    
    Serial.print("Давление (мм рт. ст.) = ");
    Serial.print(bmp.readPressure() * 0.00750063755419211); // Переводим давление из ПА в мм рт. ст. и выводим в консоль
    Serial.println();
    
    delay(500);
}


Монитор порта (консоль)

Загружаем скетч выше на плату и открываем "Монитор порта." Видим текущее давление и температуру воздуха.

Комментарии

от 15 июля 2022 17:50
Спасибо! Искал как данные в мм рт. ст. перевести :)
от 23 ноября 2022 02:10
как в этот скетч добавить OLED1306?

И не понятно из скетча, почему надо использовать именно SCL D1 (SCL) SDA к D2 (SDA)или это как-то регламентируется библиотекой
Old
от 14 января 2024 13:25
Цитата: Роман
как в этот скетч добавить OLED1306?

И не понятно из скетча, почему надо использовать именно SCL D1 (SCL) SDA к D2 (SDA)или это как-то регламентируется библиотекой


Потому что на этих пинах у d1 работает I2C

Оставить комментарий