lps22h — LPS22HB/HH trycksensor¶
Drivrutin för ST:s MEMS-nanotrycksensor LPS22HB / LPS22HH över I2C. Enheten exponerar både barometriskt tryck och en avläsning av chipets temperatur, och kan köras antingen kontinuerligt eller i enskott-läge (”one-shot”) där varje mätning utlöses uttryckligen av värden.
Exempel:
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)
Klasser¶
- class lps22h.LPS22H(bus: machine.I2C, address: int = 0x5C, oneshot: bool = False)¶
Skapar en
LPS22H-instans och konfigurerar enheten med BDU aktiverat och lågpassfiltret aktivt.busEn konfigurerad
machine.I2C-buss som sensorn är ansluten till.address7-bitars I2C-adress för enheten. Är som standard
0x5C; vissa kort drar SDO-stiftet högt vilket väljer0x5D.oneshotOm
Truestartar enheten i enskott-läge och varje anrop tillpressure()ellertemperature()utlöser en ny konvertering och väntar på att den ska slutföras. OmFalsesätts ODR till 1 Hz och avläsningarna returnerar det senaste kontinuerliga samplet.
- set_oneshot_mode(oneshot: bool) None¶
Växlar enheten mellan kontinuerligt och enskott-baserat insamlingsläge under körning. Uppdaterar ODR-fältet i
CTRL_REG1i enlighet med detta.
- pressure() float¶
Returnerar det absoluta atmosfäriska trycket i hektopascal (hPa). I enskott-läge utlöser detta en ny konvertering och blockerar tills flaggan för att tryckdata är klart sätts.