Grove - Sensor de Barômetro (BMP180)

Este é um módulo Grove para o barômetro digital de alta precisão e baixo consumo Bosch BMP180. O BMP180 oferece uma faixa de medição de pressão de 300 a 1100 hPa com uma precisão de até 0,02 hPa no modo de resolução avançada. Ele é baseado em tecnologia piezoresistiva para alta precisão, robustez e estabilidade em longo prazo. O chip aceita apenas tensão de entrada de 1,8 V a 3,6 V. No entanto, com o circuito externo adicionado, este módulo se torna compatível com 3,3 V e 5 V. Portanto, pode ser usado em Arduino/Seeeduino ou Seeeduino Stalker sem modificação. Ele é projetado para ser conectado diretamente a um microcontrolador via barramento I2C.
Recursos
- Interface digital de dois fios (I2C)
- Ampla faixa de pressão barométrica
- Faixa flexível de tensão de alimentação
- Consumo de energia ultrabaixo
- Medição de baixo ruído
- Calibrado de fábrica
- Faixa operacional de -40 a +85°C, precisão de temperatura de ±2°C
- Endereço I2C: 0x77
Se você quiser usar vários dispositivos I2C, consulte Software I2C.
Para mais detalhes sobre módulos Grove, consulte Grove System
Ideias de Aplicação
- Aprimoramento da navegação por GPS
- Navegação interna e externa
- Lazer e esportes
- Previsão do tempo
- Indicação de velocidade vertical (taxa de subida/descida)
Especificações
Item | Mín | Típico | Máx | Unidade |
|---|---|---|---|---|
Tensão | 3 | 5 | 5.5 | VDC |
Corrente | 1.1 | / | 20 | uA |
Faixa de Pressão | 300 | / | 1100 | hPa |
Transferência de dados I2C mais rápida | / | / | 3.4 | MHZ |
Dimensão | 40.120.29.7 | mm | ||
Plataformas Suportadas
| Arduino | Raspberry Pi |
|---|---|
|
|
As plataformas mencionadas acima como suportadas são uma indicação da compatibilidade teórica ou de software do módulo. Na maioria dos casos, fornecemos somente biblioteca de software ou exemplos de código para a plataforma Arduino. Não é possível fornecer biblioteca de software / código de demonstração para todas as possíveis plataformas de MCU. Portanto, os usuários precisam escrever sua própria biblioteca de software.
Primeiros Passos
Brincar com Arduino
Hardware
- Passo 1. Prepare os itens abaixo:
| Seeeduino V4.2 | Base Shield | Grove-Barometer_Sensor-BMP180 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o Grove-Barometer_Sensor-BMP180 à porta I2C do Grove-Base Shield.
- Passo 3. Conecte o Grove - Base Shield ao Seeeduino.
- Passo 4. Conecte o Seeeduino ao PC através de um cabo USB.

Se não tivermos o Grove Base Shield, também podemos conectar este módulo diretamente ao Seeeduino, como abaixo.
| Seeeduino_v4 | Grove-Barometer_Sensor-BMP180 |
|---|---|
| 5V | VCC |
| GND | GND |
| SDA | SDA |
| SCL | SCL |
Software
Passo 1. Baixe a biblioteca do Github.
Passo 2. Consulte How to install library para instalar a biblioteca para Arduino.
Passo 3. Crie um novo sketch Arduino e cole o código abaixo nele ou abra o código diretamente pelo caminho: File -> Example ->Barometer_Sensor->Barometer_Sensor.
Aqui está o código
#include "Barometer.h"
#include <Wire.h>
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.
}
Passo 4. Abra o monitor serial para receber os dados do sensor, incluindo temperatura, valor de pressão barométrica, pressão atmosférica relativa e altitude.

Brincar com Raspberry Pi
Hardware
- Passo 1. Prepare os itens abaixo:
| Raspberry pi | GrovePi_Plus | Grove-Barometer_Sensor-BMP180 |
|---|---|---|
|
|
|
| Adquira agora | Adquira agora | Adquira agora |
- Passo 2. Conecte o GrovePi_Plus ao Raspberry.
- Passo 3. Conecte o Grove-Barometer_Sensor-BMP180 à porta I2C do GrovePi_Plus.
- Passo 4. Conecte o Raspberry ao PC através de um cabo USB.

Software
- Passo 1. Siga Setting Software para configurar o ambiente de desenvolvimento.
- Passo 2. Faça git clone do repositório no Github.
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- Passo 3. Execute os comandos abaixo para usar este sensor
cd ~/GrovePi/Software/Python/grove_barometer_sensors/barometric_sensor_bmp180
python grove_i2c_barometic_sensor_example.py
#!/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)
- Passo 4. Aqui está o resultado:

Visualizador de Esquemático Online
Recursos
- [Eagle] Grove - Barometer Sensor(BMP180) Arquivo Eagle
- [Library] Biblioteca Barometer_Sensor
- [Datasheet] Datasheet do BMP180
- [Altitude Vs. Pressure] A seguir está um gráfico de referência que mostra a relação entre a altitude acima do nível do mar e a pressão barométrica.

Projetos
Estação de Clima e Segurança com Blynk: Monitore clima e segurança remotamente com Blynk e o CC32000 LaunchPad!
Suporte Técnico & Discussão de Produto
Atualizável para Sensores Industriais
Com o controlador S2110 e o registrador de dados S2100 da SenseCAP, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não só ajuda você na prototipagem, como também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
O invólucro IP66, a configuração por Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o forte suporte pelo APP fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8-em-1. Experimente o mais recente SenseCAP S210x no seu próximo projeto industrial de sucesso.








