lps22h — senzor de presiune LPS22HB/HH

Driver pentru senzorul de presiune nano MEMS ST LPS22HB / LPS22HH prin I2C. Dispozitivul expune atât o citire a presiunii barometrice, cât și a temperaturii cipului și poate funcționa fie continuu, fie în modul cu o singură măsurătoare („one-shot”), în care fiecare măsurătoare este declanșată explicit de gazdă.

Exemplu:

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)

Clase

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

Construiește o instanță LPS22H și configurează dispozitivul cu BDU activat și filtrul trece-jos activ.

bus

O magistrală machine.I2C configurată la care este atașat senzorul.

address

Adresa I2C pe 7 biți a dispozitivului. Valoarea implicită este 0x5C; unele plăci leagă pinul SDO la nivel ridicat, ceea ce selectează 0x5D.

oneshot

Dacă este True, dispozitivul pornește în modul one-shot și fiecare apel la pressure() sau temperature() declanșează o nouă conversie și așteaptă finalizarea acesteia. Dacă este False, ODR-ul este setat la 1 Hz, iar citirile returnează cel mai recent eșantion continuu.

set_oneshot_mode(oneshot: bool) None

Comută dispozitivul între modurile de achiziție continuu și one-shot în timpul execuției. Actualizează în consecință câmpul ODR din CTRL_REG1.

pressure() float

Returnează presiunea atmosferică absolută în hectopascali (hPa). În modul one-shot, aceasta declanșează o nouă conversie și blochează până când este setat indicatorul de disponibilitate a datelor de presiune.

temperature() float

Returnează temperatura cipului în grade Celsius. În modul one-shot, aceasta declanșează o nouă conversie și blochează până când este setat indicatorul de disponibilitate a datelor de temperatură.

altitude() float

Returnează o altitudine estimată în metri, derivată din citirile curente de presiune și temperatură folosind formula barometrică internațională raportată la o presiune la nivelul mării de 1013,25 hPa.