цифровая электроника
вычислительная техника
встраиваемые системы

 


ESP32 и барометрический датчик BMP180

Автор: Mike(admin) от 15-05-2019, 04:55

ESP32 и датчик давления BMP180


В этом примере будет показано, как использовать барометрический датчик BMP180 с ESP32 для считывания давления, температуры и оценки высоты. Мы покажем вам, как подключить датчик к ESP32, установить необходимую библиотеку и как написать скетч в IDE Arduino.


BMP180 – это цифровой датчик давления, который измеряет абсолютное давление воздуха вокруг него.


BMP180

Он имеет диапазон измерения от 300 до 1100 гПа с точностью до 0,02 гПа. Поскольку температура влияет на давление, датчик поставляется с датчиком температуры, который обеспечивает показания давления с температурной компенсацией. Кроме того, поскольку давление изменяется с высотой, вы также можете оценить высоту на основе текущего измерения давления.


Барометрический датчик BMP180 использует протокол связи I2C. Значит вам нужно будет использовать выводы SDA и SCL ESP32. В следующей таблице показано, как подключить датчик.


ESP32 и барометрический датчик BMP180

Схема подключения довольно проста. Подключите барометрический датчик BMP180 к ESP32, как показано на следующей принципиальной схеме.


ESP32 и барометрический датчик BMP180

Один из самых простых способов измерения давления, температуры и высоты с помощью датчика BMP180 – использование библиотеки BMP_085 от Adafruit. Эта библиотека совместима с датчиками BMP085 и BMP180. Выполните следующие шаги, чтобы установить библиотеку в Arduino IDE. Откройте вашу Arduino IDE и выберите Sketch - Include Library - Manage Libraries (Скетч – Включить библиотеку – Управление библиотеками). Должен открыться менеджер библиотек. Введите «BMP085» в поле поиска и установите библиотеку BMP085 от Adafruit.


ESP32 и барометрический датчик BMP180

После установки перезапустите вашу Arduino IDE.


Библиотека предоставляет пример, показывающий, как получить температуру, давление и высоту. Перейдите в File – Examples – Adafruit BMP085 Library – BMP085test (Файл – Примеры – Adafruit BMP085 Library – BMP085test). Ниже приведен код с комментариями на русском.



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

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085/BMP180 sensor, check wiring!");
	while (1) {}
  }
}
  
void loop() {
  Serial.print("Temperature = ");
  Serial.print(bmp.readTemperature());
  Serial.println(" *C");
    
  Serial.print("Pressure = ");
  Serial.print(bmp.readPressure());
  Serial.println(" Pa");
    
  // Рассчитайте высоту, предполагая, что
  // «стандартное» атмосферное давление составляет 1013,25 миллибар = 101325 Паскаль
  Serial.print("Altitude = ");
  Serial.print(bmp.readAltitude());
  Serial.println(" meters");

  Serial.print("Pressure at sealevel (calculated) = ");
  Serial.print(bmp.readSealevelPressure());
  Serial.println(" Pa");

  // Вы можете получить более точное измерение высоты
  // если вы знаете текущее давление на уровне моря
  // которое будет меняться в зависимости от погоды.
  // Если это 1015 миллибар, то оно равно 101500 паскалям.
  Serial.print("Real altitude = ");
  Serial.print(bmp.readAltitude(102000));
  Serial.println(" meters");
    
  Serial.println();
  delay(500);
}

Загрузите код в свой ESP32. Убедитесь, что вы выбрали правильную плату и COM-порт.


ESP32 и барометрический датчик BMP180

Затем откройте последовательный монитор со скоростью 9600 бод. Вы должны получить показания датчика, как показано на следующем изображении.


ESP32 и барометрический датчик BMP180



© digitrode.ru


Теги: ESP32, BMP180, датчик давления




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

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