Sensor de Digital de Pressão Atmosférica BMP180

O BMP180 é um sensor capaz de medir a pressão atmosférica/altitude e temperatura. Amplamente utilizado em drones e estações meteorológicas.

Aplicações

Segundo o datasheet do componente, o BMP180 pode ser utilizado nessas seguintes aplicações abaixo:

  • Melhoramento de navegação GPS;
  • Indicador de velocidade vertical;
  • Previsão do tempo;
  • Lazer e esportes.

Especificações

  • Voltagem de Trabalho: 1,8V a 3,6V;
  • Consumo: 5uA amostras por segundo no modo padrão;
  • Tamanho: 3,6mm x 3,8mm x 0.93mm;
  • Interface de comunicação: I²C.

Faixas de Leitura

  • Pressão: 300 a 1100 hPa equivalente a +9000m -500m;
  • 0.06hPa (0.5m) em modo de baixo consumo;
  • 0.02hPa (0.17m) em modo de resolução avançada;

O que é Pressão Atmosférica?

A Pressão atmosférica é a pressão exercida pelo peso do ar atmosférico sobre qualquer superfície em contato com ele.

Experimento realizado pelo físico Evangelista Torricelli.

A imagem acima retrata o primeiro experimento que demonstrou o comportamento atmosférico que foi realizado pelo físico e matemático italiano Evangelista Torricelli. O experimento de Torricelli é composto por um recipiente com mercúrio e um tubo graduado, no qual a altura “h” é alterada devida a mudança de altitude.

Peculiaridades

Como visto acima, os barômetros antigos usavam mercúrio mas o BMP e os demais da linha da BOSCH usam um piezoeléctrico para medir a pressão.

O BMP180 é muito pequeno, um pouco maior que o HTU21D mas é um dos maiores da linha BOSCH, de todos é um dos que menos tem recursos como “sleep mode” sendo um dos mais genéricos da fabricante.

COM-11823 Sparkfun Barometric Pressure Sensor - BMP180 Arduino, Electronics  and Robotics Electan, OnLine Store
BMP180

Leitura

Quanto maior for a pressão atmosférica lida menor será a altitude. Ou seja, é inversamente proporcional como mostra no gráfico abaixo retirado do datasheet oficial do BMP180:

Gráfico da leitura do sensor de pressão atmosférica BMP180

Dimensões

Diferentemente do BME280 o BMP180 é um pouco maior com praticamente o mesmo tamanho do HTU21D.

Dimensões do sensor de pressão atmosférica BMP180

BMP180 com Arduino

Esse sensor é muito simples de ser implementado junto com um Arduino, ESP ou qualquer outro microcontrolador via comunicação I²C.

Diagrama

Antes de montar na protoboard é bom olhar se o BMP180 tem regulador de tensão, pois ele trabalha com até 3v6 e caso não tenha pode queimar o sensor. Se tiver alguma duvida, pergunte ao vendedor ou pode tirar conosco nos comentários. De qualquer forma, o diagrama abaixo terá o BMP180 alimentado com os 3v3.

Código

Por mais que seja estranho o BMP180 é compatível com a biblioteca Adafruit_BMP085.h então não haverá problemas em utiliza-la. O código abaixo pode ser retirado diretamente da biblioteca, por esse motivo não será disponibilizado no github da elcereza.

#include <Adafruit_BMP085.h>
Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(9600);
  if (!bmp.begin()) {
	Serial.println("Could not find a valid BMP085 sensor, check wiring!");
	while (1) {}
  }
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
    
    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" meters");

    Serial.print("Pressure at sealevel (calculated) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");

    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(101500));
    Serial.println(" meters");
    
    Serial.println();
    delay(500);
}

Funcionamento

Considerações

O BMP180 é uma ótima opção para quem busca um sensor de pressão atmosférica pequeno e robusto para aplicações gerais. Não é um dos sensores mais completo da linha BOSCH mas é um ótimo sensor de entrada.