De BMP 180 en de oudere BMP085 zijn barometer sensors, zij meten de luchtdruk (en de themperatuur) en kunnnen daarmee de hoogte bepalen ten opzichte van zeeniveau. Om de sensor te gebruiken moet je twee 'libraries' installeren in de map libraries in de Arduino map (die zit meestal in program files).
Sluit de sensor aan volgens het schema hierboven (scl naar analoog 5, sda naar analoog 4).
Ga voor het gebruik van de sensor en de libraries naar:
https://learn.adafruit.com/bmp085/overview
en: https://sites.google.com/site/hwcontwerpen/sensoren/libraries-installeren
Hieronder de bijna letterlijke Adafruit sketch met een kleine aanpassing om een led te laten branden boven een bepaalde druk.
// bpm085 testsketch.
// De Adafruit sketch met een kleine aanpassing om een led te laten branden boven een
// bepaalde druk
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP085_U.h>
int ledPin = 13;
Adafruit_BMP085_Unified bmp = Adafruit_BMP085_Unified(10085);
void setup(void)
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
Serial.println("Pressure Sensor Test"); Serial.println("");
if (!bmp.begin()) // Initialise the sensor
{
/* There was a problem detecting the BMP085 ... check your connections */
Serial.print("Ooops, no BMP085 detected ... Check your wiring or I2C ADDR!");
while (1);
}
}
void loop(void){
sensors_event_t event; // Get a new sensor event
bmp.getEvent(&event);
if (event.pressure) { // Display the results (barometric pressure is measure in hPa)
Serial.print("Pressure: "); Serial.print(event.pressure); Serial.println(" hPa");
}
else
{
Serial.println("Sensor error");
}
if (event.pressure > 980.50) {
digitalWrite (ledPin, HIGH);
}
else {
digitalWrite (ledPin, LOW);
}
delay(250);
}