Utilizzo del sensore barometrico sul nano 33 ble sense

  • Il sensore integrato sulla scheda è un LPS22HB.
  • Il datasheet è accessibile qui (scaricato) o qui (fonte originale).
  • In particolare questo sensore contiene un diaframma, che con il variare della pressione si deforma aumentando/diminuendo la resistenza interna.

La libreria del barometro, BARO.h ci converte già i dati in , e non ci resta che sfruttare i dati per ottenere qualche informazione.

di cui noi conosciamo

  • P = pressione
  • P0 = pressione al livello del mare
  • g = accelerazione di gravità
  • M = massa molare aria =
  • R =

e ci manca da conoscere solo h, invertendo otteniamo

e questa sarà la formula che faremo calcolare all'arduino nell'esempio.

#include"BARO.h"
#include<math.h>
// importare la libreria dalla cartella locale

void setup() {
  //inizializzo la seriale
  Serial.begin(9600);
  while (!Serial);

  if (!BARO.begin()) {
    Serial.println("Impossibile connettersi al sensore!");
    while (1);
  }
}

void loop() {
  // leggere il sensore (ritorna la pressione in kPa)
  float pressure = BARO.readPressure();
  
  //calcolo l'altitudine dalla pressione
  float altitude = -293.15*8.31/(9.81*0.02896)*log(pressure/101.3);
  

  // visualizzo su serial
  Serial.print("Altitudine in base alla pressione = ");
  Serial.print(altitude);
  Serial.println(" m");

  // attendo 1 secondo
  delay(1000);
}