lps22h — sensore di pressione LPS22HB/HH

Driver per il sensore di pressione MEMS nano ST LPS22HB / LPS22HH tramite I2C. Il dispositivo espone sia la lettura della pressione barometrica sia quella della temperatura del die e può funzionare in modo continuo oppure in modalità single-shot («one-shot»), in cui ogni misurazione viene attivata esplicitamente dall’host.

Esempio:

import time
from machine import Pin, I2C
from lps22h import LPS22H

bus = I2C(1, scl=Pin("P15"), sda=Pin("P14"))
lps = LPS22H(bus, oneshot=False)

while True:
    print("Pressure: %.2f hPa  Temperature: %.2f C" %
          (lps.pressure(), lps.temperature()))
    time.sleep_ms(10)

Classi

class lps22h.LPS22H(bus: machine.I2C, address: int = 0x5C, oneshot: bool = False)

Costruisce un’istanza LPS22H e configura il dispositivo con BDU abilitato e il filtro passa-basso attivo.

bus

Un bus machine.I2C configurato a cui è collegato il sensore.

address

Indirizzo I2C a 7 bit del dispositivo. Il valore predefinito è 0x5C; alcune schede impostano il pin SDO a livello alto, selezionando 0x5D.

oneshot

Se True, il dispositivo si avvia in modalità one-shot e ogni chiamata a pressure() o temperature() attiva una nuova conversione e attende il suo completamento. Se False, l’ODR viene impostato a 1 Hz e le letture restituiscono il campione continuo più recente.

set_oneshot_mode(oneshot: bool) None

Commuta il dispositivo tra le modalità di acquisizione continua e one-shot a runtime. Aggiorna di conseguenza il campo ODR di CTRL_REG1.

pressure() float

Restituisce la pressione atmosferica assoluta in ettopascal (hPa). In modalità one-shot questo attiva una nuova conversione e si blocca finché non viene impostato il flag di pressione pronta.

temperature() float

Restituisce la temperatura del die in gradi Celsius. In modalità one-shot questo attiva una nuova conversione e si blocca finché non viene impostato il flag di temperatura pronta.

altitude() float

Restituisce un’altitudine stimata in metri, derivata dalle letture correnti di pressione e temperatura usando la formula barometrica internazionale riferita a una pressione al livello del mare di 1013.25 hPa.