Барометр (Troyka-модуль)

Барометр (Troyka-модуль) позволяет измерять атмосферное давление, высоту над уровнем моря и температуру.

Видеообзор

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

Барометр общается с управляющей электроникой по протоколу I²C / TWI. Для подключения используется два 3-проводных шлейфа. При подключении модуля к Arduino удобно использовать Troyka Shield. Для получения данных с барометра мы написали библиотеку Troyka-IMU. Она скрывает в себе все тонкости протокола, через который передаются данные c барометра и предоставляет простые и понятные функции для вывода значений.

Пример работы

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

barometer.ino
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с модулями IMU
#include <TroykaIMU.h>
// создаём объект для работы с барометром
Barometer barometer;
 
void setup()
{
  // открываем последовательный порт
  Serial.begin(115200);
  // выводим сообщение о начале инициализации
  Serial.println("Begin init...");
  // инициализация барометра
  barometer.begin();
  // выводим сообщение об удачной инициализации
  Serial.println("Initialization completed");
}
 
void loop()
{
  // создаём переменную и присваиваем ей значения абсолютного давления
  float pressure = barometer.readPressureMillibars();
  // создаём переменную и присваиваем ей значения высоты над уровнем море
  float altitude = barometer.pressureToAltitudeMeters(pressure);
  // создаём переменную и присваиваем ей температуру окружающей среды
  float temperature = barometer.readTemperatureC();
 
  // Вывод данных в Serial порт
  Serial.print("p: ");
  Serial.print(pressure);
  Serial.print(" mbar \t");
  Serial.print("h: ");
  Serial.print(altitude);
  Serial.print(" m \t");
  Serial.print("t: ");
  Serial.print(temperature);
  Serial.println(" C");
  delay(100);
}

Элементы платы

Барометр на LPS331

Барометр основан на чипе LPS331 и выполнен по технологии MEMS компании STMicroelectronics в корпусе HCLGA-16L (3 x 3 x 1 mm). Общение барометра с управляющей электроникой осуществляется по протоколу I²C / TWI. Адрес устройства равен 0b1011100.

Обвязка для согласования уровней напряжения

Необходима для сопряжения устройств с разными питающими напряжениями. В нашем случае это управляющее устройство Arduino с 5 вольтовой логикой и модуль барометра LPS331 с 3,3 вольтовой логикой.

Контакты подключения 3-проводных шлейфов

Контакты питания:

  • Земля (G) — чёрный провод. Соедините с пином GND Arduino.
  • Питание (V) — красный провод. Соедините с пином 5V Arduino.
  • Не используется.

Контакты шины I²C:

  • Сигнальный (D) — Подключите к SDA пину Arduino.
  • Сигнальный (С) — Подключите к SCL пину Arduino.
  • Не используется.

Принципиальная схема

Характеристики

  • Напряжение питания: 3.3–5 В
  • Выходной интерфейс: I²C
  • Диапазон измерения: 260…1260 мбар
  • Частота обновления сигнала: 1…25 Гц
  • Температурный диапазон: −40…+85 °C
  • Габариты: 25×25 мм