Коротко про BMP280
BMP280 — компактний модуль для цифрового вимірювання атмосферного тиску в метеостанціях, реєстраторах даних, висотомірах та інших проєктах на мікроконтролерах.
Ключові характеристики
- Вимірюваний параметр
- Атмосферний тиск
- Діапазон тиску
- 300–1100 гПа
- Точність чипа
- Абсолютна — типово ±1 гПа за 300–1100 гПа та 0–65 °C; відносна — ±0,12 гПа за 700–900 гПа та 25–40 °C [1]
- Інтерфейси
- I²C та SPI
- Адреса I²C
- 0x76 або 0x77; перевіряється сканером шини
- Робоча напруга
- 1,7–3,6 В; рекомендоване підключення — 3,3 В
- Споживаний струм
- Близько 2,7 мкА за частоти вимірювання 1 Гц [1]
- Режими
- Sleep, Forced та Normal
- Розміри модуля
- 14,5 × 11,3 мм
Детальний опис та особливості
Вимірювання тиску
Мікросхема BMP280 перетворює тиск у цифрові дані та передає їх контролеру через I²C або SPI. Доступні налаштування передискретизації, частоти вимірювань і вбудованого IIR-фільтра дають змогу вибрати баланс між швидкістю оновлення, шумом і споживанням енергії.
Абсолютна та відносна точність мають різне призначення. Типова абсолютна точність ±1 гПа характеризує відповідність фактичному тиску, а ±0,12 гПа стосується відносних змін у визначених умовах. Тому значення ±0,12 гПа не слід сприймати як абсолютну точність у всьому діапазоні.
Розрахунок висоти
BMP280 не вимірює висоту безпосередньо. Контролер обчислює її за барометричним тиском, тому результат залежить від заданого тиску на рівні моря та його поточної зміни через погоду. Для відстеження перепаду висоти датчик корисніший після калібрування в точці з відомою висотою.
Температурний канал
Внутрішній температурний канал BMP280 потрібний насамперед для компенсації вимірювання тиску. Його показання залежать від температури плати та самонагрівання і зазвичай відрізняються від фактичної температури повітря [1]. Для точного контролю температури середовища використовуйте окремий датчик, розміщений подалі від компонентів, що нагріваються.
Робота з мікроконтролером
Через I²C модуль займає дві сигнальні лінії та зручний для більшості навчальних і IoT-проєктів. SPI потребує більше ліній, але дає окремий вибір пристрою через CS. Для обох інтерфейсів напруга логічних сигналів не повинна перевищувати допустимий рівень модуля.
Підійде / не підійде
Підійде
- для домашньої метеостанції та спостереження за змінами атмосферного тиску;
- для барометричного висотоміра з програмним калібруванням;
- для реєстратора тиску або IoT-вузла на контролері з логікою 3,3 В;
- для навчання роботі з I²C, SPI та цифровими датчиками.
Не підійде
- для прямого підключення до логіки 5 В без перевірки схеми плати та узгодження рівнів;
- для точного вимірювання температури повітря окремим термометром;
- для вимірювання вологості;
- для навігаційних або інших систем, де помилка датчика може створити небезпеку.
Якщо разом із тиском потрібно вимірювати вологість, розгляньте модуль AHT20 + BMP280.
Приклади застосування
Домашня метеостанція
BMP280 може реєструвати атмосферний тиск і його зміну в часі. Для температури повітря варто додати окремий температурний датчик.
Бездротовий журнал тиску
Модуль можна підключити через I²C до плати ESP32 MiniKit, щоб передавати показання мережею або зберігати їх для побудови графіків.
Відстеження перепаду висоти
Після введення опорного тиску система може оцінювати підйом, спуск або зміну поверху. Для точної абсолютної висоти потрібне регулярне калібрування.
Підключення
Перевірте маркування плати
Зіставте контакти живлення, землі та інтерфейсу з написами на отриманому модулі. Розводка плат різних виробників може відрізнятися.
Подайте живлення 3,3 В
З’єднайте землю модуля і контролера. Не подавайте 5 В на живлення або сигнальні лінії без підтвердженої наявності відповідного стабілізатора та перетворювача рівнів на конкретній платі.
Виберіть I²C або SPI
Для I²C підключіть SDA та SCL; для SPI використовуйте лінії тактування, даних і CS відповідно до маркування модуля та документації контролера.
Знайдіть адресу I²C
Запустіть сканер шини та перевірте 0x76 і 0x77. Передайте виявлену адресу під час ініціалізації бібліотеки.
Налаштуйте режим вимірювання
Для періодичного моніторингу використовуйте Normal, а для економії енергії — Forced із переходом у Sleep між вимірюваннями. Для обчислення висоти введіть актуальний опорний тиск.
Обмеження та безпека
Не подавайте 5 В безпосередньо
Робоча напруга модуля не перевищує 3,6 В. Для контролера з логікою 5 В потрібне коректне узгодження рівнів; наявність захисту слід перевіряти для конкретної плати.
Температура не дорівнює температурі повітря
Вбудований канал відображає температуру сенсора і плати. Не використовуйте його як заміну точному зовнішньому термометру.
Висота залежить від погоди
Зміна атмосферного тиску спричиняє зміну розрахованої висоти навіть без переміщення датчика. Оновлюйте опорний тиск або калібруйте систему в точці з відомою висотою.
Не для відповідальних систем
Модуль не слід використовувати як єдине джерело даних у системах, від яких залежить безпека людей або збереження майна [1].
FAQ
Яка адреса BMP280 на шині I²C?
Модуль може відповідати за адресою 0x76 або 0x77. Найнадійніший спосіб визначення — запустити I²C-сканер після підключення.
Чи можна підключити модуль до Arduino Uno або Nano?
Можна, але живлення та логічні рівні мають відповідати межі 3,6 В. Якщо сигнали контролера працюють на рівні 5 В, використовуйте двонапрямний перетворювач рівнів або інше перевірене узгодження.
Чи вимірює BMP280 висоту?
BMP280 вимірює тиск, а висоту обчислює програма. Точність результату залежить від актуальності опорного тиску на рівні моря та калібрування.
Чи підходить BMP280 для вимірювання температури й вологості?
BMP280 не вимірює вологість, а його температурний канал не замінює точний датчик температури повітря. Для цих параметрів потрібен додатковий сенсор.
Документи та джерела
- Bosch Sensortec, BMP280 Data Sheet, revision 1.26, October 2021 — діапазон, умови точності, споживання, особливості температурного каналу та обмеження застосування.