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);
}