- Požadované komponenty
- Modul snímače tlaku BMP280:
- Schéma zapojení rozhraní BMP280 s Arduino:
- Program Arduino pro propojení BMP280 s Arduino:
- Práce na projektu propojení snímače tlaku Arduino BMP280
Pokud si chcete postavit svůj vlastní systém monitorování teploty nebo měřit nadmořskou výšku svého dronu nebo jednoduše chcete měřit atmosférický tlak ve vaší oblasti, pak jedním z nejlepších modulů, které můžete ve svém projektu použít, je modul snímače tlaku BMP280. BMP280 je senzor pro monitorování absolutního tlaku a teploty, což je upgradovaná verze senzorů BMP085, BMP180, BMP183. Proč se tomu říká upgradovaná verze? Bude o něm pojednáno v následujících částech. Starší verzi BMP180 s Arduinem jsme již použili v jednom z našich předchozích tutoriálů.
Modul snímače BMP280 lze použít spolu s mikrokontroléry jako Arduino, PIC, AVR atd. Pro tento projekt použijeme Arduino Uno s BMP280 spolu s modulem displeje LCD 16x2, pro zobrazení hodnot teploty a tlaku. Před propojením BMP280 s Arduinem si musíme stáhnout knihovnu BMP280 Arduino, kterou vyvinul Adafruit. Kliknutím na tento odkaz knihovny Adafruit BMP280 otevřete příslušnou stránku Github a přidáte soubor záhlaví do svého IDE Arduino.
Požadované komponenty
- Arduino
- BMP280
- Připojení vodičů
- Chlebová deska
- LCD - 16x2
Modul snímače tlaku BMP280:
Modul senzoru BMP280 pracuje s minimálním napětím (VDD) 1,71 V, zatímco předchozí senzory fungují na 1,8 V (VDD). Pokud jde o aktuální spotřebu, BMP280 spotřebuje 2,7uA, zatímco BMP180 spotřebuje 12uA a BMP183 a BMP085 spotřebují každý 5uA. BMP280 také podporuje nové režimy filtrování. Modul snímače BMP280 podporuje protokoly I2c a SPI, zatímco zbývající snímač podporuje buď I2c nebo SPI. Modul snímače BMP280 má přesnost ± 0,12 hPa, což odpovídá výškovému rozdílu ± 1 m. Díky těmto klíčovým vlastnostem se většinou používá v různých aplikacích. Senzor BMP se skládá z prvku pro snímání tlaku, prvku pro snímání vlhkosti a prvku pro snímání teploty, které jsou dále spojeny s předním dílem tlaku, předním panelem vlhkosti a předním panelem teploty. Tyto integrované obvody front-end jsou analogové zesilovače citlivosti, které se používají při zesilování malých signálů. Výstup těchto analogových předních integrovaných obvodů je přiváděn do ADC jako vstupní signál. V tomto jsou analogové hodnoty převedeny na digitální napětí a toto napětí je přiváděno do logických obvodů pro další rozhraní s vnějším světem.
Modul snímače BMP280 se skládá ze tří režimů napájení, režimu spánku, vynuceného režimu a normálního režimu. V režimu spánku se neprovádí žádná měření a spotřeba energie je minimální. V nuceném režimu se provádí jedno měření podle zvolených možností měření a filtrování. Normální režim nepřetržitě cykluje mezi měřením a pohotovostním obdobím a časové období cyklů bude definováno Tstandby. Proud v pohotovostním režimu je o něco vyšší než v režimu spánku.
Schéma zapojení rozhraní BMP280 s Arduino:
Schéma zapojení pro připojení Arduina se snímačem BMP280 a LCD je zobrazeno níže. Pokud jste pro Arduino a LCD úplně noví, můžete si prohlédnout tento výukový program Arduino LCD, abyste pochopili, jak používat Arduino s LCD displeji.
Kolíky VCC a GND snímače jsou připojeny k kolíkům 3v3 a GND Arduina. Kolíky SCL a SDA snímače jsou připojeny k A5 a A4 desky Arduino. Připojení LCD jsou následující
Název PINu LCD |
Pin Arduino |
VSS a RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Program Arduino pro propojení BMP280 s Arduino:
Kompletní kód BMP280 Arduino najdete ve spodní části této stránky, který lze nahrát přímo na vaši desku Arduino. Vysvětlení je uvedeno níže
Tyto knihovny jsou zahrnuty pro povolení speciálních funkcí. Soubory záhlaví #include můžeme přímo číst hodnoty pocházející ze snímače. # Zahrnout
#zahrnout
Vytváření na objektu BMP pro Adafruit_BMP280. Soubor objektu je vytvořen pro přístup ke speciálním funkcím.
Adafruit_BMP280 bmp; // I2C
Nastavení kontaktů Arduina pro komunikaci s LCD. Pomocí těchto pinů budou přenesena data.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Inicializace LCD a sériové komunikace.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("test BMP280")); lcd.print („Vítejte v“); lcd.setCursor (0,1); lcd.print ("OKRUH DIGEST"); zpoždění (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Nelze najít platný snímač BMP280, zkontrolujte zapojení!")); while (1); }
Tato funkce funguje, když se nezdaří inicializace objektu bmp.
/ * Výchozí nastavení z datového listu. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * provozní režim. * / Adafruit_BMP280:: SAMPLING_X2, / * převzorkování teploty * / Adafruit_BMP280:: SAMPLING_X16, / * převzorkování tlaku * / Adafruit_BMP280:: FILTER_X16, * FILTER_X16, * FILTER_X16, * / Adafruit_BMP280:: STANDBY_MS_500); / * Pohotovostní doba. * /}
Tato část kódu vytiskne teplotu na sériovém monitoru a slouží k ladění.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Funkce bmp.readPressure a bmp.readTemprature se používají k vyvolání speciálních funkcí a vrácení hodnot teploty a tlaku.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Práce na projektu propojení snímače tlaku Arduino BMP280
Funkce bmp.readTemprature () a bmp.readPressure () slouží k vrácení hodnot teploty a tlaku. Tyto funkce jsou skupinou příkazů, které provádějí speciální úkol, v našem případě soubory teploty a tlaku. Tyto funkce jsou vyvolány pomocí funkcí bmp.readTemprature () a bmp.readPressure () . Lcd.setCursor nastaví kurzor na displeji do požadované polohy na obrazovce. lcd.print příkaz vytiskne data z polohy nastavené programátorem. Pokud pro LCD není ve výchozím nastavení nastavena žádná poloha, bude jako výchozí poloha (0,0) a nepřetržitý tisk dat. Další data zaujmou pozici dalšího sloupce a procedura pokračuje, dokud nedosáhne konce řádku a nepřesune se na další řádek.
BMP280 lze použít v létajících hračkách, mobilních telefonech, tabletech, počítačích, zařízeních GPS, přenosných zdravotnických zařízeních, domácích meteorologických stanicích atd. Podle tohoto postupu a pomocí hlavičkových souborů a některých speciálních funkcí můžeme snadno propojit BMP280 s Arduino. Kompletní práci najdete také ve videu níže, doufám, že se vám tento tutoriál BMP280 Arduino líbil a naučili se něco užitečného. Máte-li jakékoli dotazy, nechte je v sekci komentářů níže nebo použijte fóra pro další technické otázky.