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
LPS22He configura il dispositivo con BDU abilitato e il filtro passa-basso attivo.busUn bus
machine.I2Cconfigurato a cui è collegato il sensore.addressIndirizzo I2C a 7 bit del dispositivo. Il valore predefinito è
0x5C; alcune schede impostano il pin SDO a livello alto, selezionando0x5D.oneshotSe
True, il dispositivo si avvia in modalità one-shot e ogni chiamata apressure()otemperature()attiva una nuova conversione e attende il suo completamento. SeFalse, 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.