File tree Expand file tree Collapse file tree 3 files changed +9
-0
lines changed Expand file tree Collapse file tree 3 files changed +9
-0
lines changed Original file line number Diff line number Diff line change @@ -195,6 +195,10 @@ int32_t Adafruit_BMP085::readPressure(void) {
195
195
return p;
196
196
}
197
197
198
+ int32_t Adafruit_BMP085::readSealevelPressure (float altitude_meters) {
199
+ float pressure = readPressure ();
200
+ return (int32_t )(pressure / pow (1.0 -altitude_meters/44330 , 5.255 ));
201
+ }
198
202
199
203
float Adafruit_BMP085::readTemperature (void ) {
200
204
int32_t UT, B5; // following ds convention
Original file line number Diff line number Diff line change @@ -58,6 +58,7 @@ class Adafruit_BMP085 {
58
58
boolean begin (uint8_t mode = BMP085_ULTRAHIGHRES); // by default go highres
59
59
float readTemperature (void );
60
60
int32_t readPressure (void );
61
+ int32_t readSealevelPressure (float altitude_meters = 0 );
61
62
float readAltitude (float sealevelPressure = 101325 ); // std atmosphere
62
63
uint16_t readRawTemperature (void );
63
64
uint32_t readRawPressure (void );
Original file line number Diff line number Diff line change @@ -49,6 +49,10 @@ void loop() {
49
49
Serial.print (bmp.readAltitude ());
50
50
Serial.println (" meters" );
51
51
52
+ Serial.print (" Pressure at sealevel (calculated) = " );
53
+ Serial.print (bmp.readSealevelPressure ());
54
+ Serial.println (" Pa" );
55
+
52
56
// you can get a more precise measurement of altitude
53
57
// if you know the current sea level pressure which will
54
58
// vary with weather and such. If it is 1015 millibars
You can’t perform that action at this time.
0 commit comments