Subversion Repositories FlightCtrl

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1993 - 1
// BMP085_test2
2
// by Filipe Vieira
3
// Simple test of BMP085 output using default settings using dynamic update.
4
// In order to take full advantage of dynamic measurement, automatic temperature updates must be disabled.
5
// To disable automatic updates set AUTO_UPDATE_TEMPERATURE to false in bmp085.h.
6
// IMPORTANT!! To get correct values you MUST CHANGE init() parameters, in
7
// this example I've set 250m based on GPS data for my location.
8
 
9
#include <Wire.h>
10
#include <BMP085.h>
11
 
12
BMP085 dps = BMP085();      // Digital Pressure Sensor
13
 
14
long Pressure = 0, Altitude = 0;
15
unsigned long time1=0;
16
 
17
void setup(void) {
18
  Serial.begin(9600);
19
  Wire.begin();
20
  delay(1000);
21
 
22
  // uncomment for different initialization settings
23
  //dps.init();     // QFE (Field Elevation above ground level) is set to 0 meters.
24
                  // same as init(MODE_STANDARD, 0, true);
25
 
26
  //dps.init(MODE_STANDARD, 101850, false);  // 101850Pa = 1018.50hPa, false = using Pa units
27
                  // this initialization is useful for normalizing pressure to specific datum.
28
                  // OR setting current local hPa information from a weather station/local airport (QNH).
29
 
30
  dps.init(MODE_STANDARD, 25000, true);  // 250 meters, true = using meter units
31
                  // this initialization is useful if current altitude is known,
32
                  // pressure will be calculated based on TruePressure and known altitude.
33
 
34
  // note: use zeroCal only after initialization.
35
  // dps.zeroCal(101800, 0);    // set zero point
36
}
37
 
38
void loop(void) {
39
  // calculate temperature every 1 sec (dynamic measurement)
40
  // NOTE: in order to take full advantage of dynamic measurement set AUTO_UPDATE_TEMPERATURE to false in bmp085.h
41
  if (((millis() - time1)/1000.0) >= 1.0) {
42
     dps.calcTrueTemperature();
43
     time1 = millis();
44
  }
45
 
46
  dps.getPressure(&Pressure);
47
  dps.getAltitude(&Altitude);
48
 
49
  Serial.print("  Alt(cm):");
50
  Serial.print(Altitude);
51
  Serial.print("  Pressure(Pa):");
52
  Serial.println(Pressure);
53
}