edit

# Grove - Barometer Sensor (BMP180)

This is a Grove module for the Bosch BMP180 high-precision, low-power digital barometer. The BMP180 offers a pressure measuring range of 300 to 1100 hPa with an accuracy down to 0.02 hPa in advanced resolution mode. It’s based on piezo-resistive technology for high accuracy, ruggedness and long term stability. The chip only accepts 1.8V to 3.6V input voltage. However, with outer circuit added, this module becomes compatible with 3.3V and 5V. Therefore, it can be used on Arduino/Seeeduino or Seeeduino Stalker without modification. It is designed to be connected directly to a micro-controller via the I2C bus.

## Features¶

• Digital two wire (I2C) interface
• Wide barometric pressure range
• Flexible supply voltage range
• Ultra-low power consumption
• Low noise measurement
• Factory-calibrated
• -40 to +85°C operational range, ±2°C temperature accuracy

Note

If you want to use multiplue I2C devices, please refer to Software I2C.

Tip

## Application Ideas¶

• Leisure and sports
• Weather forecast
• Vertical velocity indication (rise/sink speed)

## Specifications¶

Item Min Typical Max Unit
Voltage 3 5 5.5 VDC
Current 1.1 / 20 uA
Pressure Range 300 / 1100 hPa
Faster I2C data transfer / / 3.4 MHZ
Dimension 40.1*20.2*9.7 mm

## Platforms Supported¶

Arduino Raspberry Pi BeagleBone Wio LinkIt ONE

Caution

The platforms mentioned above as supported is/are an indication of the module's software or theoritical compatibility. We only provide software library or code examples for Arduino platform in most cases. It is not possible to provide software library / demo code for all possible MCU platforms. Hence, users have to write their own software library.

## Getting started¶

### Play with Arduino¶

#### Hardware¶

• Step 1. Prepare the below stuffs:
Seeeduino V4.2 Base Shield Grove-Barometer_Sensor-BMP180
Get One Now Get One Now Get One Now
• Step 2. Connect Grove-Barometer_Sensor-BMP180 to port I2C of Grove-Base Shield.
• Step 3. Plug Grove - Base Shield into Seeeduino.
• Step 4. Connect Seeeduino to PC via a USB cable.

Note

If we don't have Grove Base Shield, We also can directly connect this module to Seeeduino as below.

Seeeduino_v4 Grove-Barometer_Sensor-BMP180
5V VCC
GND GND
SDA SDA
SCL SCL

#### Software¶

Step 2. Refer How to install library to install library for Arduino.

Step 3. Create a new Arduino sketch and paste the codes below to it or open the code directly by the path:File -> Example ->Barometer_Sensor->Barometer_Sensor.

Here is the code

  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39  #include "Barometer.h" #include float temperature; float pressure; float atm; float altitude; Barometer myBarometer; void setup(){ Serial.begin(9600); myBarometer.init(); } void loop() { temperature = myBarometer.bmp085GetTemperature(myBarometer.bmp085ReadUT()); //Get the temperature, bmp085ReadUT MUST be called first pressure = myBarometer.bmp085GetPressure(myBarometer.bmp085ReadUP());//Get the temperature altitude = myBarometer.calcAltitude(pressure); //Uncompensated calculation - in Meters atm = pressure / 101325; Serial.print("Temperature: "); Serial.print(temperature, 2); //display 2 decimal places Serial.println("deg C"); Serial.print("Pressure: "); Serial.print(pressure, 0); //whole number only. Serial.println(" Pa"); Serial.print("Ralated Atmosphere: "); Serial.println(atm, 4); //display 4 decimal places Serial.print("Altitude: "); Serial.print(altitude, 2); //display 2 decimal places Serial.println(" m"); Serial.println(); delay(1000); //wait a second and get values again. } 

Step 4. Open the serial monitor to receive the sensor's data including temperature, barometric pressure value, relative atmosphere pressure and altitude.

### Play With Raspberry Pi¶

#### Hardware¶

• Step 1. Prepare the below stuffs:
Raspberry pi GrovePi_Plus Grove-Barometer_Sensor-BMP180
Get One Now Get One Now Get One Now
• Step 2. Plug the GrovePi_Plus into Raspberry.
• Step 3. Connect Grove-Barometer_Sensor-BMP180 to I2C port of GrovePi_Plus.
• Step 4. Connect the Raspberry to PC through USB cable.

#### Software¶

• Step 1. Follow Setting Software to configure the development environment.
• Step 2. Git clone the Github repository.
 1 2 cd ~ git clone https://github.com/DexterInd/GrovePi.git 
• Step 3. Excute below commands to use this sensor
 1 2 cd ~/GrovePi/Software/Python/grove_barometer_sensors/barometric_sensor_bmp180 python grove_i2c_barometic_sensor_example.py 
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #!/usr/bin/python import time import smbus import RPi.GPIO as GPIO #import grovepi from grove_i2c_barometic_sensor_BMP180 import BMP085 # =========================================================================== # Example Code # =========================================================================== # Initialise the BMP085 and use STANDARD mode (default value) # bmp = BMP085(0x77, debug=True) bmp = BMP085(0x77, 1) # To specify a different operating mode, uncomment one of the following: # bmp = BMP085(0x77, 0) # ULTRALOWPOWER Mode # bmp = BMP085(0x77, 1) # STANDARD Mode # bmp = BMP085(0x77, 2) # HIRES Mode # bmp = BMP085(0x77, 3) # ULTRAHIRES Mode rev = GPIO.RPI_REVISION if rev == 2 or rev == 3: bus = smbus.SMBus(1) else: bus = smbus.SMBus(0) while True : temp = bmp.readTemperature() # Read the current barometric pressure level pressure = bmp.readPressure() # To calculate altitude based on an estimated mean sea level pressure # (1013.25 hPa) call the function as follows, but this won't be very accurate # altitude = bmp.readAltitude() # To specify a more accurate altitude, enter the correct mean sea level # pressure level. For example, if the current pressure level is 1023.50 hPa # enter 102350 since we include two decimal places in the integer value altitude = bmp.readAltitude(101560) print("Temperature: %.2f C" % temp) print("Pressure: %.2f hPa" % (pressure / 100.0)) print("Altitude: %.2f m" % altitude) time.sleep(.1) 
• Step 4. Here is the result:

## Projects¶

Weather and Security Station with Blynk: Monitor weather and security remotely with Blynk and the CC32000 LaunchPad!

## Tech Support¶

Please submit any technical issue into our forum.