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.

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.

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:

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

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.
Você precisa fazer log in para comentar.