Sensor de presión y temperatura BMP280 3.3V

¿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.

Gracias a sus reducidas dimensiones, alta precisión y bajo consumo eléctrico, resulta ideal para integrarlo en proyectos avanzados como nuestro satélite CanSat o por ejemplo en estaciones meteorológicas autónomas. El BMP280 permite registrar el perfil vertical de presión durante el ascenso o descenso del cohete, estimar la altitud en tiempo real con gran resolución y monitorizar variaciones térmicas en el entorno, convirtiéndose en un componente fundamental para experimentos de robótica y ciencias en general.


DATASHEET BMP280: BMP280 Digital Pressure Sensor by BOSH

Información obtenida: Adafruit.com/BMP280

Ficha Técnica: Sensor BMP280
Nombre del sensor BMP280 (Digital Pressure & Temperature Sensor)
Voltaje a conectar a Arduino 3.3 V (DC)
Peso en gramos ~ 1.0 g
Dimensiones 15 x 12 mm
Protocolo I2C (0x76 / 0x77) / SPI
Presión (Mín/Máx y Unidad) 300 - 1100 hPa
Temperatura (Mín/Máx y Unidad) -40 - 85 °C
Precisión en Altitud ~ ±1 m

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.


Conexionado físico

Imagen: TinkerCAD


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


Archivo .abp: BMP280.abp

Archivo .abp: BMP280.abp

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.
* Por qué hay que cambiar el pin SDD de 3,3V cuando diferenciamos entre los Softwares Ide Arduino y Arduinoblocks **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).








Soldadura



Fuente vídeo: Canal youtube GranaSAT Team.