If you look for the GY-65 at ebay, you can find the sensor for about 5 euro. The sensor has a usual I2C interface so only two wires are needed. Additionally, the I2Cdev library is needed which can be downloaded here. The source code is as simple as possible, at first the sensor is initialised, then measuring the pressure is set and afterwards the pressure is read out and calculated into the height. A basic program looks like this:
#include <I2Cdev.h>
#include "BMP085.h"
#include <Wire.h>
BMP085 barometer;
double pressure;
double altitude;
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("starting...");
//initialize the barometer
barometer.initialize();
}
void loop()
{
// request pressure (3x oversampling mode, high detail, 23.5ms delay).
// Let's just wait a bit more to be sure...
barometer.setControl(BMP085_MODE_PRESSURE_3);
delay(30);
// read calibrated pressure value in Pascals (Pa)
pressure = barometer.getPressure();
// calculate absolute altitude in meters based on known pressure
// (may pass a second "sea level pressure" parameter here,
// otherwise uses the standard value of 101325 Pa)
altitude = barometer.getAltitude(pressure);
// print back the calculated altitude
Serial.println(altitude);
// do this every second
delay(1000);
}
No comments:
Post a Comment