Подключение датчика атмосферного давления BMP280 к Orange Pi, Banana Pi, Raspberry Pi

Подключение BMP280 к Orange Pi, Banana Pi, Raspberry Pi - BMP280Подключить датчик атмосферного давления BMP280 к Orange Pi PC можно как по I2C, так и по SPI, благо их несколько у Orange Pi PC. Также для работы с GPIO необходимо установить WiringOP, если вы работаете с Orange Pi, а если у вас Banana Pi — BPI-WiringPi.

Барометр на BMP280

BMP280 – это датчик атмосферного давления от BOSCH Sensortec и является улучшенной версией датчика BMP180. Отличается от него меньшими размерами (2 x 2.5 x 0.95 мм), пониженным энергопотреблением, высокой точностью работы и наличием точной заводской калибровки и двумя последовательными интерфейсами: I2C и SPI.
Логика работы датчика BMP280 осталась такой же, но претерпела некоторые долгожданные улучшения.

В таблице приведены улучшения, которые претерпел датчик BMP280:

Параметр BMP180 BMP280
Размеры 3.6 x 3.8 mm 2.0 x 2.5 mm
Мин VDD 1.80 V 1.71 V
Мин VDDIO 1.62 V 1.20 V
Потребляемый ток @3 Pa RMS шум 12 μA 2.7 μA
RMS Шум 3 Pa 1.3 Pa
Разрешение давления 1 Pa 0.16 Pa
Разрешение температуры 0.1°C 0.01°C
Интерфейсы I²C I²C & SPI (3 и 4 линии связи,
mode ‘00’ and ‘11’)
Режимы измерения Только P или T, принудительное P и T, принудительное или периодическое
Частота измерений до 120 Гц до 157 Гц
Параметры фильтра Нет Пять параметров фильтрации

Режимами работы

От предыдущих моделей (BMP085 и BMP180) датчик отличается тремя режимами работы:

  1. SLEEP — режим пониженного энергопотребления
  2. FORCED – режим, аналогичный, режиму работы датчиков BMP085 и BMP180. По команде контроллера датчик выходит из режима сна, производит измерения, выдает результаты измерения контроллеру и переходит в режим пониженного энергопотребления
  3. NORMAL — уникальный для этого датчика режим. Датчик самостоятельно просыпается, производит измерения давления и температуры и засыпает. Все временные параметры этого режима программируются независимо. Считывать данные в этом режиме можно в любое время.

Фильтрация результатов измерений

В датчике предусмотрена фильтрация результатов измерений с настройкой таких параметров фильтрации:

  1. OVERSAMPLING для температуры (16, 17, 18, 19, 20 бит)
  2. OVERSAMPLING для давления (16, 17, 18, 19, 20 бит)
  3. TSB – время между между измерениями (0.5, 62.5, 125, 250, 500, 1000, 2000, 4000 мс)
  4. FILTER_COEFFICIENT – коэффициент фильтрации

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

  • Напряжение питания: от 1.71 В до 3.6 В
  • Макс скорость I2C интерфейса: 3.4 МГц
  • Потребляемый ток: 2.7 мкA при частоте отсчетов в 1 Гц
  • Интерфейс: I2C, SPI (4 Провода), SPI (3 Провода)
  • Калибровка: заводская
  • Уровень шума: до 0.2 Па (1.7 см) и 0.01 температуры
  • Диапазон измеряемого давления: от 300 hPa до 1100 hPa (9000 м до -500 м)
  • Размер: 2.5 мм х 2.0 мм х 0.95 мм

BMP280 библиотека

BMP280RawData.h

BMP280CalibrationData.h

BMP280Data.h

bmp280.h

bmp280.cpp

Схема подключения BMP280 к Orange Pi

Подключение BMP280 к Orange Pi, Banana Pi, Raspberry Pi - GPIO40Я с этими датчиками работаю только по I2C. Подключяется BMP280 к Orange Pi очень просто: на Vcc даём 3.3 В, GND, SCL и SDA.

Рабочее напряжение датчика от 1.71 В до 3.6 В. Не стоит питать от 5 В, так как вероятность того, что он выйдет из строя, очень высока.

Ниже приведён пример программы для проверки вышеуказанной библиотеки.

Данная программа создаёт новый объект для работы с датчиком:

соединяется с датчиком:

и сбрасывает все его настройки:

после чего задаёт новые настройки (режим работы, фильтры и др.):

и раз в секунду читает и выводит на экран данные с BMP280:

main.cpp

Результат

Подключение BMP280 к Orange Pi, Banana Pi, Raspberry Pi - Результат

Скачать проект CodeLite

Для программирования на С/С++ я использую CodeLite IDE, так как с Code::Blocks у меня были проблемы.

Проект: BMP280_Banana_Pi_M3.zip
Flyer: BST-BMP280-FL000-00 (Bosch_Sensortec_Flyer_BMP280_onl.pdf)
Datasheet: BST-BMP280-DS001-12 (BST-BMP280-DS001-12.pdf)
Driver: BMP280 driver

Купить BME280 на AliExpress




Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *