Sensor de presión y temperatura BMP280

¿Qué es el sensor de presión y temperatura BMP280 ?


El sensor BMP280 es un dispositivo de medición de presión atmosférica y temperatura. Es el sucesor del muy conocido BMP180 (que se puede ver unas líneas más abajor). BMP280 utiliza un sensor de presión y temperatura de alta precisión para proporcionar lecturas exactas.

Puede medir la presión atmosférica en un rango de 300 a 1100 hPa (hectopascales) y la temperatura en un rango de -40 a 85 grados Celsius. con una precisión absoluta de ±1 hPa o °C. Este sensor, fabricado por Bosch, racias a su precisión, pequeño tamaño y bajo consumo de energía, es una opción popular para proyectos que requieren seguimiento climático, altitud o cualquier aplicación que involucre mediciones de presión y temperatura.


DATASHEET BMP280: BMP280 Digital Pressure Sensor by BOSH

Información obtenida: Adafruit.com/BMP280

La temperatura se calcula en grados C, para convertirla convertirla a Fahrenheit se puede emplear la ecuación F = C * 9/5 + 32.

La presión se devuelve en las unidades SI de Pascales . 100 Pascales = 1 hPa = 1 milibar. (hPa = hectoPascales)

También puedes calcular la altitud. Para calcular esta de forma precisa hay que indicar la presión hPa al nivel del mar para tu ubicación y día. El sensor es bastante preciso, pero si no tiene los datos actualizados para el día actual, puede resultar difícil obtener una precisión superior a 10 metros.

Especificaciones generales:
Tamaño: 2.0 × 2.5 mm
Consumo: 2.7μA
Vcc mínimo: 1.71V
Nivel Lógico: 3.3V
Interfaz: I2C, SPI
Rango presión: 300 ~ 1100 hPa
Rango temperatura: -40 ~ 85ºC
Presión del aire: ± 1 hPa
Precisión de temperatura: ± 1.0ºC

Soldadura


Fuente vídeo: Canal youtube GranaSAT Team.


Montaje


Materiales necesarios:

Arduino (por ejemplo, Arduino Uno).
Sensor BMP280.
Protoboard.
Cables de puente (jumpers).

Conexiones:

Conectar el BMP280 a la Protoboard:
Conecta un cable (rojo) desde el pin 3,3V del sensor BMP280 al pin 3,3V en el Arduino.
Conecta un cable (negro) desde el pin GND del sensor BMP280 al pin GND en el Arduino.
Conecta un cable (verde) desde el pin SCL del sensor BMP280 al pin A5 en el Arduino.
Conecta un cable (naranja) desde el pin SDA del sensor BMP280 al pin A4 en el Arduino.
Deja al aire el pin CSB del sensor BMP280.
Conecta un cable (amarillo) desde el pin SDO del sensorBMP280 al pin 3,3V en el Arduino.


Montaje BMP280


Montaje BMP180




Programación IDE Arduino

Biblioteca Adafruit para BMP280 en Arduino IDE: Arduino IDE --> Herramientas --> Administrar bibliotecas --> buscar BMP280 --> instalar Adafruit BMP280 Library.

Archivo .ino bmp280.ino

Programación ArduinoBlocks


Para la programación en ArduinoBlocks te puedes volver un poco loco hasta que recurres a la Luisllamas.es. La dirección del bus cambia según el estado lógico del pin SDO, y si se deja desconectado la dirección queda indeterminada, por lo que puede parecer que no funciona correctamente. Así existen dos opciones: SDO a 3.3V; I2C Address 0x77 (Opción empleada en el IDE Arduino) o SDO a GND: I2C Address 0x76 (que emplearemos ahora)**. De la otra forma tienes que estar tocando las librerías que siempre será algo más complejo. Por último no olvidar la presión hPa al nivel del mar para tu ubicación y día.

Archivo .abp: BMP280.abp

**En la librería desarrollada por Adafruit, el bus I2C utiliza por defecto la dirección (0x77), para modificarlo hay que editar el fichero “Adafruit_BMP280.h” y en la linea 37 #define BMP280_ADDRESS (0x77) cambiamos la dirección (0x76).