- Потрібні компоненти
- Модуль датчика тиску BMP280:
- Схема для інтерфейсу BMP280 з Arduino:
- Програма Arduino для взаємодії BMP280 з Arduino:
- Робота проекту взаємодії датчиків тиску Arduino BMP280
Якщо ви хочете побудувати власну систему моніторингу температури або виміряти висоту вашого безпілотника або просто хочете виміряти атмосферний тиск у вашій місцевості, тоді одним з найкращих модулів для використання у вашому проекті є модуль датчика тиску BMP280. BMP280 - це датчик абсолютного контролю тиску та температури, який є оновленою версією датчиків BMP085, BMP180, BMP183. Чому це називається оновленою версією? Це буде обговорюватися в наступних розділах. Ми вже використовували стару версію BMP180 з Arduino в одному з наших попередніх підручників.
Модуль датчика BMP280 можна використовувати разом з мікроконтролерами, такими як Arduino, PIC, AVR та ін. Для цього проекту ми будемо використовувати Arduino Uno з BMP280 разом з модулем дисплея LCD 16x2 для відображення значень температури та тиску. Перш ніж взаємодіяти BMP280 з Arduino, нам потрібно завантажити бібліотеку BMP280 Arduino, яку розробляє Adafruit. Клацніть на це посилання на бібліотеку Adafruit BMP280, щоб відкрити відповідну сторінку Github та додати заголовочний файл у вашу IDE Arduino.
Потрібні компоненти
- Ардуїно
- BMP280
- Підключення проводів
- Хлібна дошка
- РК-16x2
Модуль датчика тиску BMP280:
Модуль датчика BMP280 працює з мінімальною напругою (VDD) 1,71 В, тоді як модулі датчиків попередньої версії працюють на 1,8 В (VDD). Що стосується поточного споживання, BMP280 споживає 2,7uA, тоді як BMP180 споживає 12uA, а BMP183 і BMP085 споживають по 5uA. BMP280 також підтримує нові режими фільтрування. Модуль датчика BMP280 підтримує протоколи I2c та SPI, тоді як решта датчика підтримує I2c або SPI. Модуль датчика BMP280 має точність ± 0,12 гПа, що еквівалентно ± 1 м різниці у висоті. Завдяки цим ключовим особливостям він здебільшого використовується в різних додатках. Датчик BMP складається з датчика тиску, датчика вологості та датчика температури, які додатково з'єднані з передньою частиною тиску, передньою частиною вологості та температурою. Ці передні мікросхеми є аналоговими підсилювачами чутливості, які використовуються для посилення малих сигналів. Вихід цих аналогових інтерфейсних ІС надходить на АЦП як вхідний сигнал. При цьому аналогові значення перетворюються в цифрову напругу, і ця напруга подається в логічні схеми для подальшого взаємодії із зовнішнім світом.
Модуль датчика BMP280 складається з трьох режимів живлення, режиму сну, примусового режиму та нормального режиму. У режимі сну вимірювання не проводяться, а споживання енергії мінімальне. У форсованому режимі виконується одноразове вимірювання відповідно до обраних параметрів вимірювання та фільтрації. Звичайний режим безперервно перемикається між вимірюванням та періодом очікування, а період часу циклів визначатиметься в режимі очікування. Струм у режимі очікування трохи перевищує режим сну.
Схема для інтерфейсу BMP280 з Arduino:
Схема підключення Arduino з датчиком BMP280 та РК-дисплеєм наведена нижче. Якщо ви зовсім не знайомі з Arduino та LCD, тоді ви можете переглянути цей посібник з Arduino LCD, щоб зрозуміти, як використовувати Arduino з РК-дисплеями.
Виводи VCC і GND датчика з'єднані з виводами 3v3 і GND Arduino. Виводи SCL і SDA датчика підключені до A5 і A4 плати Arduino. РК-з'єднання такі
Назва PIN-коду РК-дисплея |
Pin Arduino |
VSS та RW |
GND |
RS |
D9 |
Е |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Програма Arduino для взаємодії BMP280 з Arduino:
Повний код BMP280 Arduino можна знайти внизу цієї сторінки, який можна завантажити безпосередньо на вашу плату Arduino. Пояснення цього ж подано нижче
Ці бібліотеки включені для увімкнення спеціальних функцій. За допомогою заголовка #include ми можемо безпосередньо читати значення, що надходять від датчика. #Include
#включати
Створення на об'єкті BMP для Adafruit_BMP280. Об'єктний файл створюється для доступу до спеціальних функцій.
Adafruit_BMP280 bmp; // I2C
Встановлення контактів Arduino для зв'язку з РК-дисплеєм. За допомогою цих штифтів дані будуть передані.
Рідкокристалічний РК-дисплей (9, 8, 5, 4, 3, 2);
Ініціалізація РК-дисплея та послідовного зв'язку.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("тест BMP280")); lcd.print ("Ласкаво просимо до"); lcd.setCursor (0,1); lcd.print ("СХЕМ ДАЙДЖЕСТУ"); затримка (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Не вдалося знайти дійсний датчик BMP280, перевірте проводку!")); в той час як (1); }
Ця функція працює, коли не вдалося ініціалізувати bmp-об'єкт.
/ * Налаштування за замовчуванням з таблиці. * / bmp. * / Adafruit_BMP280:: STANDBY_MS_500); / * Час очікування. * /}
Ця частина коду друкує температуру на послідовному моніторі та призначена для налагодження.
void loop () {Serial.print (F ("Температура =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Функції bmp.readPressure та bmp.readTemprature використовуються для виклику спеціальних функцій та повернення значень температури та тиску.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Робота проекту взаємодії датчиків тиску Arduino BMP280
Функції bmp.readTemprature () та bmp.readPressure () використовуються для повернення значень температури та тиску. Ці функції являють собою групу операторів, які виконують спеціальне завдання, у нашому випадку для повернення файлів температури та тиску. Ці функції викликаються за допомогою функцій bmp.readTemprature () та bmp.readPressure () . Lcd.setCursor встановлює курсор дисплея в необхідне положення на екрані. lcd.print команда друкує дані з положення, встановленого програмістом. Якщо за замовчуванням для ЖК-дисплея не встановлено жодне положення, це приймається (0,0) як початкове положення та безперервний друк даних. Наступні дані займають позицію наступного стовпця, і процедура продовжується, поки не дійде до кінця рядка і не перейде до наступного рядка.
BMP280 може бути використаний у літаючих іграшках, мобільних телефонах, планшетах, ПК, GPS-пристроях, портативних медичних приладах, домашніх метеостанціях тощо. Дотримуючись цієї процедури та використовуючи файли заголовків та деякі спеціальні функції, ми можемо легко взаємодіяти BMP280 з Ардуїно. Повну роботу також можна знайти у відео, поданому нижче, сподіваємося, вам сподобався цей підручник з BMP280 Arduino і ви дізналися щось корисне. Якщо у вас є питання, залиште їх у розділі коментарів нижче або використовуйте форуми для інших технічних питань.