- Potrebne komponente
- Modul senzorja tlaka BMP280:
- Shema vezja za vmesnik BMP280 z Arduino:
- Program Arduino za vmesnik BMP280 z Arduino:
- Delovanje projekta povezovanja senzorjev tlaka Arduino BMP280
Če želite zgraditi lasten sistem za spremljanje temperature ali izmeriti nadmorsko višino svojega drona ali preprosto izmeriti atmosferski tlak na svojem območju, potem je eden najboljših modulov za uporabo v vašem projektu modul senzorja tlaka BMP280. BMP280 je senzor za nadzor absolutnega tlaka in temperature, ki je nadgrajena različica senzorjev BMP085, BMP180, BMP183. Zakaj se imenuje nadgrajena različica? O njej bomo razpravljali v naslednjih poglavjih. Starejšo različico BMP180 z Arduinom smo že uporabili v enem od naših prejšnjih vadnic.
Senzorski modul BMP280 se lahko uporablja skupaj z mikrokrmilniki, kot so Arduino, PIC, AVR itd. Za ta projekt bomo uporabili Arduino Uno z BMP280 skupaj z zaslonskim modulom LCD 16x2 za prikaz vrednosti temperature in tlaka. Preden povežemo BMP280 z Arduino, moramo prenesti knjižnico BMP280 Arduino, ki jo je razvil Adafruit. Kliknite to povezavo knjižnice Adafruit BMP280, da odprete ustrezno stran Github in dodate glavo v svoj ID Arduino.
Potrebne komponente
- Arduino
- BMP280
- Povezovanje žic
- Odbor za kruh
- LCD - 16x2
Modul senzorja tlaka BMP280:
Senzorski modul BMP280 deluje z minimalno napetostjo (VDD) 1,71 V, medtem ko moduli senzorjev prejšnje različice delujejo z napetostjo 1,8 V (VDD). Ko gre za trenutno porabo, BMP280 porabi 2,7uA, medtem ko BMP180 porabi 12uA, BMP183 in BMP085 pa po 5uA. BMP280 podpira tudi nove načine filtriranja. Modul senzorja BMP280 podpira protokole I2c in SPI, preostali senzor pa podpira I2c ali SPI. Senzorski modul BMP280 ima natančnost ± 0,12 hPa, kar ustreza ± 1 m višinske razlike. Zaradi teh ključnih lastnosti se večinoma uporablja v različnih aplikacijah. Senzor BMP je sestavljen iz elementa za zaznavanje tlaka, elementa za zaznavanje vlažnosti in elementa za zaznavanje temperature, ki so nadalje povezani s čelnim delom tlaka, čelnim delom vlage in sprednjim delom temperature. Ti IC-ji na sprednji strani so analogni ojačevalniki občutljivosti, ki se uporabljajo za ojačanje majhnih signalov. Izhod teh analognih IC-čelnih signalov se napaja v ADC kot vhodni signal. Pri tem se analogne vrednosti pretvorijo v digitalno napetost in ta napetost se napaja v logična vezja za nadaljnji vmesnik z zunanjim svetom.
Modul senzorja BMP280 je sestavljen iz treh načinov napajanja, načina mirovanja, prisilnega načina in običajnega načina. V načinu spanja se meritve ne izvajajo, poraba energije pa je najmanjša. V prisilnem načinu se izvede ena meritev glede na izbrane možnosti merjenja in filtra. Običajni način neprekinjeno kroži med merjenjem in obdobjem pripravljenosti, časovno obdobje ciklov pa bo določil Tstandby. Tok v stanju pripravljenosti je nekoliko višji od načina spanja.
Shema vezja za vmesnik BMP280 z Arduino:
Shema vezja za povezavo Arduina s senzorjem BMP280 in LCD je prikazana spodaj. Če ste popolnoma novi v Arduinu in LCD-ju, si lahko ogledate to vadnico za Arduino LCD, da boste razumeli, kako uporabljati Arduino z LCD-zasloni.
Zatiči VCC in GND senzorja so povezani z zatiči 3v3 in GND na Arduinu. Zatiči SCL in SDA senzorja so povezani z A5 in A4 plošče Arduino. Povezave LCD so naslednje
Ime pin LCD |
Arduino Pin |
VSS in RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Program Arduino za vmesnik BMP280 z Arduino:
Popolno kodo BMP280 Arduino najdete na dnu te strani in jo lahko naložite neposredno na vašo ploščo Arduino. Razlaga istega je podana spodaj
Te knjižnice so vključene za omogočanje posebnih funkcij. #Include header files lahko neposredno beremo vrednosti, ki prihajajo s senzorja. #Include
#include
Ustvarjanje na objektu BMP za Adafruit_BMP280. Za dostop do posebnih funkcij se ustvari predmetna datoteka.
Adafruit_BMP280 bmp; // I2C
Nastavitev zatičev Arduina za komunikacijo z LCD-jem. S pomočjo teh zatičev bodo podatki preneseni.
LCD LiquidCrystal (9, 8, 5, 4, 3, 2);
Inicializacija LCD-ja in serijske komunikacije.
void setup () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("test BMP280")); lcd.print ("Dobrodošli v"); lcd.setCursor (0,1); lcd.print ("DIGEST CIRCUIT"); zamuda (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Ne najdem veljavnega senzorja BMP280, preverite ožičenje!")); medtem ko (1); }
Ta funkcija deluje, kadar inicializacija bmp-objekta ni uspela.
/ * Privzete nastavitve iz podatkovnega lista. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Način delovanja. * / Adafruit_BMP280:: SAMPLING_X2, / * Previsoko vzorčenje temp. * / Adafruit_BMP280:: STANDBY_MS_500); / * Čas pripravljenosti. * /}
Ta del kode natisne temperaturo na serijski monitor in je namenjen odpravljanju napak.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Funkcija bmp.readPressure in bmp.readTemprature se uporabljajo, da bo uveljavljal posebne funkcije in vrne vrednosti temperature in tlaka.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Delovanje projekta povezovanja senzorjev tlaka Arduino BMP280
Naloge bmp.readTemprature () in bmp.readPressure () uporabljamo za vrnitev vrednosti temperature in tlaka. Te funkcije so skupina stavkov, ki izvajajo posebno nalogo, v našem primeru datoteke za vračanje temperature in tlaka. Te funkcije se prikličejo s funkcijama bmp.readTemprature () in bmp.readPressure () . Lcd.setCursor določa kazalec na zaslonu na zahtevano mesto na zaslonu. lcd.print ukaz natisne podatke s položaja, ki ga nastavi programer. Če za LCD zaslon privzeto ni nastavljen položaj, je za začetni položaj potreben (0,0) in neprekinjeno tiskanje podatkov. Naslednji podatki zavzamejo položaj naslednjega stolpca, postopek pa se nadaljuje, dokler ne doseže konca vrstice in se premakne v naslednjo vrstico.
BMP280 se lahko uporablja v letečih igračah, mobilnih telefonih, tabličnih računalnikih, osebnih računalnikih, GPS napravah, prenosnih zdravstvenih napravah, domačih vremenskih postajah itd. Arduino. Celotno delo najdete tudi v spodnjem videoposnetku, upam, da ste uživali v tej vadnici BMP280 Arduino in se naučili nekaj koristnega. Če imate kakršno koli vprašanje, ga pustite v spodnjem oddelku za komentarje ali uporabite forum za druga tehnična vprašanja.