Leer temperatura y presión atmosférica con Arduino Nano 33 BLE Sense (sensor LPS22HB)

Arduino Nano 33 BLE Sense incluye un barómetro que mide la presión atmosférica, el sensor LPS22HB. Este tipo de sensores son una superficie que al ser deformada por la presión atmosférica altera su resistencia, midiendo la misma se puede saber la deformación de la superficie y por lo tanto la presión a la que se ve sometida.

El mismo sensor incluye un termómetro para medir la temperatura.

SensorRango de medidaError
Temperatura-40 ºC hasta 85 ºC± 1.5 °C entre los 0 ºC y 65 °C
Presión260 hPa hasta 1260 hPa± 0,1hPa entre el 800 hPa y 1100 hPa

El datasheet del sensor esta disponible aquí.

Lo primero para leer ese sensor es incluir la librería Arduino_LPS22HB.h, la cual se puede descargar desde el gestor de librerías del IDE de Arduino.

#include <Arduino_LPS22HB.h>

Al incluirla se puede acceder al objeto BARO, su uso es simple:

  • Se usa BARO.begin() para inicializar la lectura de datos. Devuelve true si todo ha ido bien y false si ha ocurrido algún error.
  • Para leer la temperatura se puede usar BARO.readTemperature() que devuelve un float con la temperatura en grados Celsius.
  • Para leer la presión se usa BARO.readPressure() que devuelve un float con la presión en kilopascales
  • Si se desea finalizar el uso del sensor y liberar recursos se llama a BARO.end()

Veamos todo esto junto con uno de los ejemplos de la librería:

#include <Arduino_LPS22HB.h>

void setup() {
  Serial.begin(9600);
  while (!Serial);

  if (!BARO.begin()) {
    Serial.println("Failed to initialize pressure sensor!");
    while (1);
  }
}

void loop() {
  // read the sensor value
  float pressure = BARO.readPressure();

  // print the sensor value
  Serial.print("Pressure = ");
  Serial.print(pressure);
  Serial.println(" kPa");

  float temperature = BARO.readTemperature();

  // print the sensor value
  Serial.print("Temperature = ");
  Serial.print(temperature);
  Serial.println(" C");

  // print an empty line
  Serial.println();

  // wait 1 second to print again
  delay(1000);
}

Podemos leer la presión en tres unidades distintas, para ello se le puede pasar una de las tres constantes como parámetro a la funcion readPressure() :

BARO.readPressure(PSI);
BARO.readPressure(MILLIBAR);
BARO.readPressure(KILOPASCAL);

Un comentario en “Leer temperatura y presión atmosférica con Arduino Nano 33 BLE Sense (sensor LPS22HB)

  1. Pingback: Comparar temperaturas de los sensores en Arduino Nano 33 BLE Sense | Construyendo a Chispas

Los comentarios están cerrados.