- Komponenter kreves
- BMP280 trykksensormodul:
- Kretsskjema for å grensesnitt BMP280 med Arduino:
- Arduino-program for å grensesnitt BMP280 med Arduino:
- Arbeid av Arduino BMP280 Pressure Sensor Interfacing Project
Hvis du vil bygge ditt eget temperaturovervåkingssystem eller måle høyden på dronen din eller bare vil måle atmosfæretrykket i ditt område, er en av de beste modulene du kan bruke i prosjektet ditt, BMP280 trykksensormodul. BMP280 er sensor for absolutt trykk og temperaturovervåking, som er den oppgraderte versjonen av BMP085, BMP180, BMP183 sensorer. Hvorfor kalles det en oppgradert versjon? Det vil bli diskutert i de følgende avsnittene. Vi har allerede brukt den eldre versjonen BMP180 med Arduino i en av våre tidligere opplæringsprogrammer.
BMP280 sensormodul kan brukes sammen med mikrokontrollere som Arduino, PIC, AVR, etc. For dette prosjektet skal vi bruke Arduino Uno med BMP280 sammen med en LCD 16x2 displaymodul, for å vise verdier for temperatur og trykk. Før vi kobler BMP280 med Arduino, må vi laste ned BMP280 Arduino-biblioteket, som er utviklet av Adafruit. Klikk på denne Adafruit BMP280-bibliotekkoblingen for å åpne den respektive Github-siden og legge til toppteksten til Arduino IDE.
Komponenter kreves
- Arduino
- BMP280
- Koble ledninger
- Brødtavle
- LCD- 16x2
BMP280 trykksensormodul:
BMP280 sensormodulen fungerer med minimum spenning (VDD) på 1,71V, mens forrige versjon sensormoduler fungerer på 1,8V (VDD). Når det gjelder strømforbruk forbruker BMP280 2.7uA, mens BMP180 bruker 12uA, og BMP183 og BMP085 bruker 5uA hver. BMP280 støtter også nye filtermodi. BMP280-sensormodulen støtter I2c og SPI-protokoller, mens den gjenværende sensoren støtter enten I2c eller SPI. BMP280-sensormodulen har en nøyaktighet på ± 0,12 hPa, som tilsvarer ± 1 m høydeforskjell. På grunn av disse nøkkelfunksjonene brukes den mest i forskjellige applikasjoner. BMP-sensoren består av et trykkfølerelement, fuktighetsfølerelement og temperaturfølerelement som videre er koblet til trykkfronten, fuktighetsfronten og temperaturfronten. Disse frontend-IC-ene er følsomme analoge forsterkere som brukes til forsterkning av små signaler. Utgangen fra denne analoge front-IC-en blir matet til ADC som et inngangssignal. I dette konverteres de analoge verdiene til digital spenning, og denne spenningen mates til de logiske kretsene for ytterligere grensesnitt med omverdenen.
BMP280 sensormodulen består av tre strømmodus hvilemodus, tvungen modus og normal modus. I hvilemodus utføres ingen målinger og strømforbruket er på et minimum. I tvungen modus utføres en enkelt måling i henhold til de valgte måle- og filteralternativene. Normal modus går kontinuerlig mellom måling og standby-periode, og syklusens tidsperiode vil bli definert av Tstandby. Strømmen i standby-modus er litt høyere enn hvilemodus.
Kretsskjema for å grensesnitt BMP280 med Arduino:
Kretsskjemaet for å koble Arduino med BMP280- sensoren og LCD-skjermen er vist nedenfor. Hvis du er helt ny på Arduino og LCD, kan du sjekke denne Arduino LCD-opplæringen for å forstå hvordan du bruker Arduino med LCD-skjermer.
VCC- og GND-pinnene til sensoren er koblet til 3v3- og GND-pinnene på Arduino. SCL- og SDA-pinnene på sensoren er koblet til A5 og A4 på Arduino-kortet. LCD-tilkoblingene er som følger
LCD-pinnens navn |
Arduino Pin |
VSS og RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Arduino-program for å grensesnitt BMP280 med Arduino:
Den komplette BMP280 Arduino-koden finner du nederst på denne siden, som kan lastes opp direkte til Arduino-kortet. Forklaringen på det samme er gitt nedenfor
Disse bibliotekene er inkludert for å aktivere spesialfunksjonene. #Include header-filene kan vi lese verdiene som kommer fra sensoren direkte. # Inkluderer
#inkludere
Oppretter på objekt BMP for Adafruit_BMP280. En objektfil opprettes for å få tilgang til spesialfunksjoner.
Adafruit_BMP280 bmp; // I2C
Stille inn pinnene på Arduino for å kommunisere med LCD-skjermen. Ved å bruke disse pinnene vil data overføres.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Initialisere LCD og seriell kommunikasjon.
ugyldig oppsett () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 test")); lcd.print ("Velkommen til"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); forsinkelse (1000); lcd.clear (); hvis (! bmp.begin ()) {Serial.println (F ("Kunne ikke finne en gyldig BMP280-sensor, sjekk ledningene!"); mens (1); }
Denne funksjonen fungerer når initialiseringen av bmp-objektet mislykkes.
/ * Standardinnstillinger fra datablad. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Driftsmodus. * / Adafruit_BMP280:: SAMPLING_X2, / * Temp. oversampling * / Adafruit_BMP280:: SAMPLING_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X. * / Adafruit_BMP280:: STANDBY_MS_500); /* Standby-tid. * /}
Denne delen av koden skriver ut temperaturen på seriell skjerm og er for feilsøking.
ugyldig sløyfe () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Funksjonen bmp.readPressure og bmp.readTemprature brukes til å påkalle spesielle funksjoner og returnere temperatur- og trykkverdiene.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Arbeid av Arduino BMP280 Pressure Sensor Interfacing Project
Funksjonene bmp.readTemprature () og bmp.readPressure () brukes til å returnere temperatur- og trykkverdiene. Disse funksjonene er en gruppe utsagn som utfører en spesiell oppgave, i vårt tilfelle å returnere temperatur- og trykkfiler. Disse funksjonene påkalles ved hjelp av funksjonene bmp.readTemprature () og bmp.readPressure () . Den lcd.setCursor setter markøren på skjermen til ønsket posisjon på skjermen. den lcd.print kommandoen skriver ut dataene fra posisjonen som er satt av programmereren. Hvis det ikke er angitt noen posisjon for LCD-skjermen som standard, tar den (0,0) som utgangsposisjon, og kontinuerlig utskrift av dataene. De neste dataene tar posisjonen til neste kolonne, og prosedyren fortsetter til den når slutten av raden og skifter til neste rad.
BMP280 kan brukes i flygende leker, mobiltelefoner, nettbrett, PC-er, GPS-enheter, bærbare helseenheter, værstasjoner hjemme osv. Ved å følge denne prosedyren og bruke headerfiler og noen spesielle funksjoner, kan vi enkelt grensesnitt BMP280 med Arduino. Komplett arbeid kan også bli funnet i videoen gitt nedenfor, håper du likte denne BMP280 Arduino-opplæringen og lærte noe nyttig. Hvis du har spørsmål, la dem være i kommentarseksjonen nedenfor, eller bruk forumene til andre tekniske spørsmål.