Описание и подключение
Барометр — это устройство для измерения атмосферного давления. В робототехнике барометр часто используется для определения высоты полёта беспилотных летательных аппаратов, тех же квадрокоптеров. Также с помощью этого датчика можно сделать погодную станцию и наблюдать за изменением атмосферного давления в течение длительного времени.
В одном из ранних уроков мы подробно разбирались с понятием электронного МЭМС барометра и подключали к Ардуино датчик BMP180. На этот раз мы будем работать с более новой версией датчика — BMP280. А именно, с платой BMP280 ROC, разработанной в лаборатории RobotClass.

В отличие от BMP180, новый датчик может измерять давление более точно, а значит и высоту беспилотник будет удерживать надёжнее. Вот некоторые важные характеристики BMP280:
- напряжение питания: от 3,3 до 5 В;
- макс скорость I2C интерфейса: 3,4 МГц;
- потребляемый ток: 2,7 мкA при частоте отсчетов в 1 Гц;
- относительная точность (от 950 до 1050гПа, 25°C.): 0,12 гПа (1м);
- абсолютная точность (от 950 до 1050гПа, от 0 до 40°C.): 1 гПа;
- уровень шума: до 0,2 Па (1,7 см) и 0,01 температуры;
- диапазон измеряемого давления: от 300 гПа до 1100 гПа (от 9000 м до -500 м).
Важные отличия от BMP180:
BMP180 | BMP280 | |
Точность измерения давления | 1 Па | 0.16 Па |
Точность измерения температуры | 0.1 С | 0.01 С |
Частота измерений | до 120 Гц | до 157 Гц |
Рабочий ток (при эквивалентной точности) | 12 мкА | 2.7 мкА |
На плате есть семь контактов для подключения:
- VIN — питание, от 4,5 до 5,5 В;
- 3V3 — питание 3,3 В;
- GND — земля GND;
- CS — контакт Chip Select для шины SPI;
- MO/SDA — контакт MOSI для SPI, либо контакт SDA для шины I2C;
- MI/SCL — контакт MISO для SPI, либо контакт SCL для шины I2C;
- CK — тактовый сигнал для шины SPI.
На этом уроке мы подключим датчик BMP280 к контроллеру двумя способами: по шине I2C и по шине SPI. Разберемся с его настройкой и научимся вычислять высоту над уровнем моря.
Список необходимых компонентов
Для выполнения простого примера с датчиком BMP280 от RobotClass, кроме самого модуля датчика, потребуется Ардуино-совместимый контроллер и немного проводов вилка-розетка. Если вам не хватает что-то из этого, можно добавить эти компоненты в корзину прямо здесь и затем оформить заказ в нашем интернет-магазине.
Подключение
Для подключения к Ардуино можно использовать как интерфейс I2C, так и SPI. Также плата датчика ROC поддерживает два рабочих напряжения: 5В и 3,3В, а значит его можно подключать и к Ардуино и к низковольтным (в плане логики) платам типа ESP или STM32. Ниже представлены два варианта схем подключения.
Подключение BMP280 I2C
Arduino Uno | Gnd | 5V | A4 | A5 |
BMP280 ROC | Gnd | VIN | SDA | SCL |
Подключение BMP280 SPI
Arduino Uno | Gnd | 5V | 10 | 11 | 12 | 13 |
BMP280 ROC | Gnd | VIN | CS | MO | MI | CK |
Сделал корректировку высоты , а в результатах не отображается высота (Approx altitude = inf m), в чем может быть проблема ?