- Súčasti sú povinné
- Modul snímača tlaku BMP280:
- Schéma zapojenia do rozhrania BMP280 s Arduino:
- Program Arduino na prepojenie BMP280 s Arduino:
- Práce na projekte prepojenia senzora tlaku Arduino BMP280
Ak si chcete zostaviť svoj vlastný systém monitorovania teploty alebo merať nadmorskú výšku svojho dronu alebo jednoducho chcete merať atmosférický tlak vo vašej oblasti, jedným z najlepších modulov, ktoré môžete vo svojom projekte použiť, je modul tlakového snímača BMP280. BMP280 je snímač na monitorovanie absolútneho tlaku a teploty, ktorý je vylepšenou verziou snímačov BMP085, BMP180, BMP183. Prečo sa to nazýva inovovaná verzia? Bude sa o nich diskutovať v nasledujúcich častiach. Staršiu verziu BMP180 s Arduinom sme už použili v jednom z našich predchádzajúcich tutoriálov.
Modul senzora BMP280 je možné použiť spolu s mikrokontrolérmi ako Arduino, PIC, AVR atď. Pre tento projekt použijeme Arduino Uno s BMP280 spolu s modulom displeja LCD 16x2, aby sme zobrazili hodnoty teploty a tlaku. Pred prepojením BMP280 s Arduinom si musíme stiahnuť knižnicu BMP280 Arduino, ktorú vyvinul Adafruit. Kliknutím na tento odkaz na knižnicu Adafruit BMP280 otvoríte príslušnú stránku Github a pridáte hlavičkový súbor do svojho Arduino IDE.
Súčasti sú povinné
- Arduino
- BMP280
- Pripojenie drôtov
- Chlebová doska
- LCD - 16x2
Modul snímača tlaku BMP280:
Modul snímača BMP280 pracuje s minimálnym napätím (VDD) 1,71 V, zatiaľ čo moduly snímačov predchádzajúcej verzie pracujú s napätím 1,8 V (VDD). Pokiaľ ide o súčasnú spotrebu, BMP280 spotrebuje 2,7uA, zatiaľ čo BMP180 spotrebuje 12uA a BMP183 a BMP085 spotrebujú po 5uA. BMP280 podporuje aj nové režimy filtrovania. Modul snímača BMP280 podporuje protokoly I2c a SPI, zatiaľ čo zvyšný snímač podporuje buď I2c alebo SPI. Modul snímača BMP280 má presnosť ± 0,12 hPa, čo zodpovedá výškovému rozdielu ± 1 m. Vďaka týmto kľúčovým vlastnostiam sa väčšinou používa v rôznych aplikáciách. Senzor BMP sa skladá z prvku na snímanie tlaku, prvku na snímanie vlhkosti a prvku na snímanie teploty, ktoré sú ďalej spojené s predným panelom tlaku, predným panelom vlhkosti a predným panelom teploty. Tieto predné integrované obvody sú analógové zosilňovače citlivosti, ktoré sa používajú na zosilnenie malých signálov. Výstup z týchto analógových predných obvodov IC je privádzaný do ADC ako vstupný signál. V tomto prípade sa analógové hodnoty prevádzajú na digitálne napätie a toto napätie sa privádza do logických obvodov pre ďalšie rozhranie s vonkajším svetom.
Modul snímača BMP280 sa skladá z troch režimov napájania - režim spánku, vynútený režim a normálny režim. V režime spánku sa nevykonávajú žiadne merania a spotreba energie je minimálna. V nútenom režime sa vykoná jednotlivé meranie podľa zvolených možností merania a filtra. Normálny režim nepretržite cykluje medzi meraním a pohotovostným obdobím a časové obdobie cyklov bude definované Tstandby. Prúd v pohotovostnom režime je o niečo vyšší ako v režime spánku.
Schéma zapojenia do rozhrania BMP280 s Arduino:
Schéma zapojenia pre pripojenie Arduina k senzoru BMP280 a LCD je zobrazené nižšie. Ak ste v Arduine a LCD úplne nováčikom, môžete si prečítať tento výukový program Arduino LCD, aby ste pochopili, ako používať Arduino s LCD displejmi.
Kolíky VCC a GND snímača sú spojené s kolíkmi 3v3 a GND Arduina. Kolíky SCL a SDA snímača sú pripojené k A5 a A4 dosky Arduino. Pripojenia LCD sú nasledovné
Názov kolíka LCD |
Pin Arduino |
VSS a RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Program Arduino na prepojenie BMP280 s Arduino:
Kompletný kód BMP280 Arduino možno nájsť v dolnej časti tejto stránky, ktoré možno nahrať priamo do vášho Arduino doske. Vysvetlenie toho istého je uvedené nižšie
Tieto knižnice sú zahrnuté pre povolenie špeciálnych funkcií. Súbory hlavičiek #include môžeme priamo načítať hodnoty pochádzajúce zo senzora. # Zahrnúť
#include
Vytváranie na objekte BMP pre Adafruit_BMP280. Vytvorí sa súbor objektov na prístup k špeciálnym funkciám.
Adafruit_BMP280 bmp; // I2C
Nastavenie kolíkov Arduina na komunikáciu s LCD. Pomocou týchto pinov sa prenesú údaje.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Inicializácia LCD a sériová komunikácia.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("test BMP280")); lcd.print („Vitajte na“); lcd.setCursor (0,1); lcd.print ("OKRUH DIGEST"); oneskorenie (1 000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Nenašiel som platný snímač BMP280, skontrolujte zapojenie!")); while (1); }
Táto funkcia funguje, keď zlyhá inicializácia objektu bmp.
/ * Predvolené nastavenia z údajového listu. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * prevádzkový režim. * / Adafruit_BMP280:: SAMPLING_X2, / * nadmerné vzorkovanie teploty * / Adafruit_BMP280:: SAMPLING_X16, / * nadmerné vzorkovanie tlaku * / Adafruit_BMP280:: FILTER_X16, * FILTER_X16, * FILTER_X16, * / Adafruit_BMP280:: STANDBY_MS_500); / * Pohotovostný čas. * /}
Táto časť kódu tlačí teplotu na sériovom monitore a slúži na ladenie.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Funkcie bmp.readPressure a bmp.readTemprature sa používajú na vyvolanie špeciálnych funkcií a vrátenie hodnôt teploty a tlaku.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Práce na projekte prepojenia senzora tlaku Arduino BMP280
Funkcie bmp.readTemprature () a bmp.readPressure () sa používajú na vrátenie hodnôt teploty a tlaku. Tieto funkcie sú skupinou príkazov, ktoré vykonávajú špeciálnu úlohu, v našom prípade na vrátenie súborov teploty a tlaku. Tieto funkcie sa vyvolávajú pomocou funkcií bmp.readTemprature () a bmp.readPressure () . Lcd.setCursor nastaví kurzor na displeji do požadovanej polohy na obrazovke. lcd.print príkaz vytlačí údaje z polohy nastavenej programátorom. Ak pre LCD nie je v predvolenom nastavení nastavená žiadna poloha, bude sa za východiskovú polohu považovať hodnota (0,0) a údaje sa budú tlačiť nepretržite. Nasledujúce údaje zaujmú pozíciu nasledujúceho stĺpca a postup pokračuje, kým nedôjde na koniec riadku a nepresunie sa na ďalší riadok.
BMP280 sa dá použiť v lietajúcich hračkách, mobilných telefónoch, tabletoch, počítačoch, zariadeniach GPS, prenosných zdravotníckych zariadeniach, domácich meteorologických staniciach atď. Podľa tohto postupu a pomocou hlavičkových súborov a niektorých špeciálnych funkcií môžeme ľahko prepojiť BMP280 s Arduino. Kompletnú prácu nájdete tiež vo videu uvedenom nižšie. Dúfam, že sa vám tento tutoriál BMP280 Arduino páčil a dozvedeli ste sa niečo užitočné. Ak máte akékoľvek otázky, nechajte ich v sekcii komentárov nižšie alebo použite fóra pre ďalšie technické otázky.