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.busO magistrală
machine.I2Cconfigurată la care este atașat senzorul.addressAdresa I2C pe 7 biți a dispozitivului. Valoarea implicită este
0x5C; unele plăci leagă pinul SDO la nivel ridicat, ceea ce selectează0x5D.oneshotDacă este
True, dispozitivul pornește în modul one-shot și fiecare apel lapressure()sautemperature()declanșează o nouă conversie și așteaptă finalizarea acesteia. Dacă esteFalse, 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.