- Komponenter krävs
- BMP280 trycksensormodul:
- Kretsschema för gränssnitt BMP280 med Arduino:
- Arduino-program för gränssnitt BMP280 med Arduino:
- Arbetar med Arduino BMP280-tryckgränssnittsprojekt
Om du vill bygga ditt eget temperaturövervakningssystem eller mäta höjden på din drönare eller bara vill mäta atmosfärstrycket i ditt område, är en av de bästa modulerna för dig att använda i ditt projekt BMP280 trycksensormodul. BMP280 är sensor för absolut tryck och temperaturövervakning som är den uppgraderade versionen av BMP085-, BMP180-, BMP183-sensorer. Varför kallas det en uppgraderad version? Det kommer att diskuteras i följande avsnitt. Vi har redan använt den äldre versionen BMP180 med Arduino i en av våra tidigare självstudier.
BMP280-sensormodulen kan användas tillsammans med mikrokontroller som Arduino, PIC, AVR, etc. För detta projekt ska vi använda Arduino Uno med BMP280 tillsammans med en LCD 16x2 displaymodul för att visa värden på temperatur och tryck. Innan du kopplar ihop BMP280 med Arduino måste vi ladda ner BMP280 Arduino-biblioteket, som är utvecklat av Adafruit. Klicka på den här Adafruit BMP280-bibliotekslänken för att öppna respektive Github-sida och lägg till rubrikfilen till din Arduino IDE.
Komponenter krävs
- Arduino
- BMP280
- Anslutande ledningar
- Brödbräda
- LCD-16x2
BMP280 trycksensormodul:
Sensormodulen BMP280 fungerar med en minsta spänning (VDD) på 1,71V, medan den tidigare versionen av sensormoduler fungerar på 1,8V (VDD). När det gäller strömförbrukning förbrukar BMP280 2,7uA, medan BMP180 förbrukar 12uA och BMP183 och BMP085 förbrukar 5uA vardera. BMP280 stöder också nya filterlägen. BMP280-sensormodulen stöder I2c- och SPI-protokoll, medan den återstående sensorn stöder antingen I2c eller SPI. Sensormodulen BMP280 har en noggrannhet på ± 0,12 hPa, vilket motsvarar ± 1 m höjdskillnad. På grund av dessa nyckelfunktioner används den oftast i olika applikationer. BMP-sensorn består av ett tryckavkänningselement, fuktavkänningselement och temperaturavkänningselement som är ytterligare anslutna till tryckfronten, fuktighetsfronten och temperaturfronten. Dessa frontend-IC: er är känsliga analoga förstärkare som används vid förstärkning av små signaler. Utgången från dessa analoga frontend-IC: er matas till ADC som en insignal. I detta omvandlas de analoga värdena till digital spänning och denna spänning matas till logikkretsarna för ytterligare gränssnitt med omvärlden.
BMP280-sensormodulen består av tre strömlägen viloläge, tvångsläge och normalt läge. I viloläge utförs inga mätningar och energiförbrukningen är på ett minimum. I tvångsläge utförs en enda mätning enligt de valda mätnings- och filteralternativen. Normalt läge växlar kontinuerligt mellan mätning och standby-period, och cykeltiden definieras av Tstandby. Strömmen i vänteläge är något högre än viloläget.
Kretsschema för gränssnitt BMP280 med Arduino:
Kretsschemat för att ansluta Arduino med BMP280- sensorn och LCD-skärmen visas nedan. Om du är helt ny på Arduino och LCD kan du kontrollera den här Arduino LCD-handboken för att förstå hur du använder Arduino med LCD-skärmar.
VCC och GND-stiften på sensorn är anslutna till 3v3- och GND-stiften på Arduino. SCL- och SDA-stiften på sensorn är anslutna till A5 och A4 på Arduino-kortet. LCD-anslutningarna är som följer
LCD-stiftnamn |
Arduino Pin |
VSS och RW |
GND |
RS |
D9 |
E |
D8 |
D4, D5, D6, D7 |
D5, D4, D3, D2 |
Arduino-program för gränssnitt BMP280 med Arduino:
Den kompletta BMP280 Arduino-koden finns längst ner på denna sida som kan laddas upp direkt till ditt Arduino-kort. Förklaringen av detsamma ges nedan
Dessa bibliotek ingår för att aktivera specialfunktionerna. #Include header-filer kan vi direkt läsa värdena som kommer från sensorn. # Inkludera
#omfatta
Skapa på objekt BMP för Adafruit_BMP280. En objektfil skapas för att komma åt specialfunktioner.
Adafruit_BMP280 bmp; // I2C
Ställa in stiften på Arduino för att kommunicera med LCD-skärmen. Med hjälp av dessa stift kommer data att överföras.
LiquidCrystal LCD (9, 8, 5, 4, 3, 2);
Initiera LCD och seriekommunikation.
ogiltig installation () {lcd.begin (16,2); Serial.begin (9600); Serial.println (F ("BMP280 test")); lcd.print ("Välkommen till"); lcd.setCursor (0,1); lcd.print ("CIRCUIT DIGEST"); fördröjning (1000); lcd.clear (); if (! bmp.begin ()) {Serial.println (F ("Det gick inte att hitta en giltig BMP280-sensor, kontrollera ledningarna!"); medan (1); }
Denna funktion fungerar när initialiseringen av bmp-objektet misslyckades.
/ * Standardinställningar från datablad. * / bmp.setSampling (Adafruit_BMP280:: MODE_NORMAL, / * Driftläge. * / Adafruit_BMP280:: SAMPLING_X2, / * Temp. översampling * / Adafruit_BMP280:: SAMPLING_X16, / * Pressure oversampling * / Adafruit_BMP280:: FILTER_X. * / Adafruit_BMP280:: STANDBY_MS_500); / * Standby-tid. * /}
Den här delen av koden skriver ut temperaturen på seriell bildskärm och är avsedd för felsökning.
void loop () {Serial.print (F ("Temperature =")); Serial.print (bmp.readTemperature ()); Serial.println ("* C");
Funktionen bmp.readPressure och bmp.readTemprature används för att åberopa specialfunktioner och återställa temperatur- och tryckvärdena.
lcd.print (bmp.readTemperature ()); lcd.print (bmp.readPressure ());
Arbetar med Arduino BMP280-tryckgränssnittsprojekt
Funktionerna bmp.readTemprature () och bmp.readPressure () används för att returnera temperatur- och tryckvärdena. Dessa funktioner är en grupp uttalanden som utför en speciell uppgift, i vårt fall att returnera temperatur- och tryckfiler. Dessa funktioner anropas med funktionerna bmp.readTemprature () och bmp.readPressure () . Den lcd.setCursor ställer markören på LCD till önskad position på skärmen. den lcd.print kommandot skriver ut data från den position som programmeraren har ställt in. Om det inte finns någon inställning för LCD-skärmen som standard tar (0,0) som utgångsläge och kontinuerlig utskrift av data. Nästa data tar positionen för nästa kolumn och proceduren fortsätter tills den når slutet av raden och växlar till nästa rad.
BMP280 kan användas i flygande leksaker, mobiltelefoner, surfplattor, datorer, GPS-enheter, bärbara hälsovårdsenheter, hemväderstationer etc. Genom att följa denna procedur och använda rubrikfiler och några specialfunktioner kan vi enkelt koppla BMP280 Arduino. Hela arbetet kan också hittas i videon nedan, hoppas att du tyckte om denna BMP280 Arduino-handledning och lärde dig något användbart. Om du har några frågor lämnar du dem i kommentarsektionen nedan eller använder forumet för andra tekniska frågor.