Sensor de Presión Barometrica BMP180
- Chip
- Bosch BMP180
- Presión
- 300 a 1100 hPa (de unos −500 a 9000 m de altura)
- Resolución
- Hasta 0,03 hPa (unos 25 cm de altura)
- Temperatura
- También la mide, con resolución de 0,1 °C
Características
Sensor de presión del aire (barómetro) y temperatura de Bosch, en el módulo GY-68. Como la presión baja a medida que se sube, también sirve para estimar la altura sobre el nivel del mar. Se comunica por I2C.
Se usa en estaciones meteorológicas, altímetros para drones y cohetes, y para seguir los cambios del clima.
| Chip | Bosch BMP180 |
|---|---|
| Presión | 300 a 1100 hPa (de unos −500 a 9000 m de altura) |
| Resolución | Hasta 0,03 hPa (unos 25 cm de altura) |
| Temperatura | También la mide, con resolución de 0,1 °C |
| Alimentación | 3,3 a 5 V en VCC (regulador en la placa) |
| Comunicación | I2C, dirección 0x77 (fija) |
| Pines | VCC, GND, SCL, SDA y 3.3 |
¿Para qué sirve?
- Estaciones meteorológicas caseras
- Altímetros para drones, cohetes y globos
- Medir la presión del aire en experimentos
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| rojo | VCC | 5V | |
| negro | GND | GND | |
| amarillo | SCL | A5 | Reloj I2C |
| azul | SDA | A4 | Datos I2C |
Código de prueba
Instala desde el Gestor de librerías del IDE de Arduino: Adafruit BMP085 Library
// Prueba del BMP180: muestra la temperatura, la presión del aire y la
// altura aproximada sobre el nivel del mar.
#include <Wire.h>
#include <Adafruit_BMP085.h> // la misma librería sirve para el BMP085 y el BMP180
Adafruit_BMP085 bmp;
void setup() {
Serial.begin(9600);
if (!bmp.begin()) {
Serial.println("No se encontró el BMP180: revisa SDA (A4) y SCL (A5).");
while (true) {}
}
}
void loop() {
float presion = bmp.readPressure() / 100.0; // de pascales a hectopascales (hPa)
Serial.print("Temperatura: ");
Serial.print(bmp.readTemperature(), 1);
Serial.print(" °C Presión: ");
Serial.print(presion, 1);
Serial.print(" hPa Altura aprox.: ");
Serial.print(bmp.readAltitude(), 0); // supone 1013,25 hPa a nivel del mar
Serial.println(" m");
delay(2000);
}
Abre el Monitor serie a 9600 baudios. En ciudades altas como Quito o Cuenca la presión sale mucho menor que 1013 hPa: es normal. La altura es aproximada porque supone la presión normal a nivel del mar, que cambia con el clima.
Precauciones
- Alimenta el módulo solo por VCC; deja libre el pin 3.3.
- Para medir la altura con precisión, cambia en el código la presión a nivel del mar por la del día.
- Si quieres medir la temperatura del ambiente, no lo pongas al sol ni junto a algo que caliente.
- No dejes que le entre agua o polvo por el agujerito del sensor.
Fuentes consultadas: Phipps Electronics: BMP180 GY-68 · ShillehTek: manual del BMP180 · Librería Adafruit BMP085 (GitHub). Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.