- Необходими компоненти
- 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 и да добавите заглавния файл към вашия ID на Arduino.
Необходими компоненти
- Arduino
- BMP280
- Свързване на проводници
- Дъска за хляб
- LCD - 16x2
BMP280 Модул за сензор за налягане:
Сензорният модул BMP280 работи с минимално напрежение (VDD) от 1,71 V, докато сензорните модули от предишната версия работят на 1,8 V (VDD). Що се отнася до текущата консумация, BMP280 консумира 2.7uA, докато BMP180 консумира 12uA, а BMP183 и BMP085 консумират по 5uA. BMP280 също поддържа нови режими на филтриране. Сензорният модул BMP280 поддържа протоколи I2c и SPI, докато останалият сензор поддържа I2c или SPI. Сензорният модул BMP280 има точност от ± 0,12 hPa, което е еквивалентно на ± 1 m разлика във височината. Поради тези ключови характеристики, той се използва най-вече в различни приложения. BMP сензорът се състои от сензор за налягане, елемент за влажност и сензор за температура, които са допълнително свързани към предния край на налягането, предния край на влажността и предния край на температурата. Тези интегрални схеми отпред са аналогови усилватели с чувствителност, които се използват за усилване на малки сигнали. Изходът на тези аналогови предни интегрални схеми се подава към ADC като входен сигнал. При това аналоговите стойности се преобразуват в цифрово напрежение и това напрежение се подава към логическите вериги за по-нататъшен интерфейс с външния свят.
Сензорният модул BMP280 се състои от три режима на заспиване, принудителен режим и нормален режим. В режим на заспиване не се извършват измервания и консумацията на енергия е минимум. В принудителен режим се извършва единично измерване според избраните опции за измерване и филтър. Нормалният режим непрекъснато циклира между измерването и периода на готовност, а периодът на циклите ще бъде определен от Tstandby. Токът в режим на готовност е малко по-висок от режима на заспиване.
Схема на интерфейс BMP280 с Arduino:
Схемата за свързване на Arduino със сензора BMP280 и LCD е показана по-долу. Ако сте напълно нови за Arduino и LCD, тогава можете да проверите този урок за Arduino LCD, за да разберете как да използвате Arduino с LCD дисплеи.
Пиновете VCC и GND на сензора са свързани към щифтовете 3v3 и GND на Arduino. SCL и SDA щифтовете на сензора са свързани към A5 и A4 на платката Arduino. LCD връзките са както следва
Име на LCD щифт |
Arduino Pin |
VSS и RW |
GND |
RS |
D9 |
Е. |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Програма Arduino за интерфейс BMP280 с Arduino:
Пълният код BMP280 Arduino може да бъде намерен в долната част на тази страница, който може да бъде качен директно на вашата дъска Arduino. Обяснението на същото е дадено по-долу
Тези библиотеки са включени за активиране на специалните функции. #Include заглавните файлове можем директно да прочетем стойностите, идващи от сензора. #Include
#include
Създаване на BMP на обект за Adafruit_BMP280. За достъп до специални функции се създава обектен файл.
Adafruit_BMP280 bmp; // I2C
Настройване на щифтовете на Arduino за комуникация с LCD. С помощта на тези щифтове данните ще бъдат прехвърлени.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Инициализиране на LCD и серийната комуникация.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("тест BMP280")); lcd.print ("Добре дошли в"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); забавяне (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Не можах да намеря валиден BMP280 сензор, проверете окабеляването!")); докато (1); }
Тази функция работи, когато инициализирането на bmp обекта е неуспешно.
/ * Настройки по подразбиране от листа с данни. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Работен режим. * / Adafruit_BMP280:: SAMPLING_X2, / * Темп. свръхсемплиране * / Adafruit_BMP280:: SAMPLING_X16, / * Презамплиране под налягане * / Adafruit_BMP216:: FIL_TERMPIL * / Adafruit_BMP280:: STANDBY_MS_500); / * Време в режим на готовност. * /}
Тази част от кода отпечатва температурата на сериен монитор и е с цел отстраняване на грешки.
цикъл на празнота () {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 команда отпечатва данните от позицията, зададена от програмиста. Ако не е зададена позиция за LCD по подразбиране, тя приема (0,0) като начална позиция и непрекъснат печат на данните. Следващите данни заемат позицията на следващата колона и процедурата продължава, докато стигне до края на реда и се премести към следващия ред.
BMP280 може да се използва се използва в летящи играчки, мобилни телефони, таблети, компютри, GPS устройства, преносими здравни устройства, домашни метеорологични станции и др. Следвайки тази процедура и използвайки заглавни файлове и някои специални функции, можем лесно да свържем BMP280 с Arduino. Пълната работа може да се намери и във видеото, дадено по-долу, надявам се, че сте се насладили на този урок BMP280 Arduino и сте научили нещо полезно. Ако имате някакви въпроси, оставете ги в раздела за коментари по-долу или използвайте форумите за други технически въпроси.