Prog Shield Barometer BMP085
Dette elektroniske barometer kan måle lufttryk og temperatur.
Software
Softwaren er baseret på et Adafruit[1] bibliotek, der er skrevet til BMP085 og BMP180[2]. Biblioteket downloades og installeres som beskrevet under Arduinos biblioteker.
Softwaren der beskrives her er BMP085test.ino.
Anvendelsen af softwaren
Som alle andre biblioteker skal der sættes de grundlæggende ting op for at kontakte biblioteket og der defineres et objekt bmp, som indeholder forbindelsen til BMP085.
#include <Wire.h>
#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
Inde i setup() skal der sættes gang i objektet ved hjælp af begin-metoden, og her låses softwaren, hvis der ikke findes et modul, som vist her:
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("Could not find a valid BMP085 sensor, check wiring!");
while (1) {}
}
}
I loop() læses de parametre som BMP085 understøtter:
void loop() {
Serial.print("Temperature = ");
Serial.print(bmp.readTemperature());
Serial.println(" *C");
Serial.print("Pressure = ");
Serial.print(bmp.readPressure());
Serial.println(" Pa");
// Calculate altitude assuming 'standard' barometric
// pressure of 1013.25 millibar = 101325 Pascal
Serial.print("Altitude = ");
Serial.print(bmp.readAltitude());
Serial.println(" meters");
Serial.print("Pressure at sealevel (calculated) = ");
Serial.print(bmp.readSealevelPressure());
Serial.println(" Pa");
// you can get a more precise measurement of altitude
// if you know the current sea level pressure which will
// vary with weather and such. If it is 1015 millibars
// that is equal to 101500 Pascals.
Serial.print("Real altitude = ");
Serial.print(bmp.readAltitude(101500));
Serial.println(" meters");
Serial.println();
delay(500);
}
Dette giver følgende udskrift i Serial Monitor:
Temperature = 21.10 *C Pressure = 100980 Pa Altitude = 28.60 meters Pressure at sealevel (calculated) = 100984 Pa Real altitude = 42.73 meters Temperature = 21.00 *C Pressure = 100977 Pa Altitude = 28.52 meters Pressure at sealevel (calculated) = 100987 Pa Real altitude = 43.23 meters
Yderligere muligheder i softwaren
Der ligger yderligere muligheder i klassen man kan anvende, hvis man ønsker andre måder at anvende BMP085 Barometeret på:
Adafruit_BMP085();
boolean begin(uint8_t mode = BMP085_ULTRAHIGHRES); // by default go highres
float readTemperature(void);
int32_t readPressure(void);
int32_t readSealevelPressure(float altitude_meters = 0);
float readAltitude(float sealevelPressure = 101325); // std atmosphere
uint16_t readRawTemperature(void);
uint32_t readRawPressure(void);
Hardware
Princippet i hardwaren er at der anvendes I2C til kommunikation med modulet.
Layout
BMP085 Barometerets placering på programmerings-shieldet kan ses her:
Placering af BMP085 Barometer
Referencer
- ↑ Adafruit hjemmeside
- ↑ Adafruit BMP085 bibliotek placeret ved GitHub