lps22h — sensor ciśnienia LPS22HB/HH

Sterownik do sensora ciśnienia ST LPS22HB / LPS22HH MEMS nano przez I2C. Urządzenie udostępnia zarówno odczyt ciśnienia barometrycznego, jak i temperatury struktury, i może pracować w sposób ciągły lub w trybie pojedynczego pomiaru („one-shot”), w którym każdy pomiar jest jawnie wyzwalany przez hosta.

Przykład:

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)

Klasy

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

Tworzy instancję LPS22H i konfiguruje urządzenie z włączonym BDU oraz aktywnym filtrem dolnoprzepustowym.

bus

Skonfigurowana magistrala machine.I2C, do której podłączony jest sensor.

address

7-bitowy adres I2C urządzenia. Domyślnie 0x5C; niektóre płytki podciągają pin SDO do stanu wysokiego, co wybiera 0x5D.

oneshot

Jeśli True, urządzenie startuje w trybie pojedynczego pomiaru, a każde wywołanie pressure() lub temperature() wyzwala nową konwersję i czeka na jej zakończenie. Jeśli False, ODR jest ustawiane na 1 Hz, a odczyty zwracają najnowszą próbkę ciągłą.

set_oneshot_mode(oneshot: bool) None

Przełącza urządzenie między ciągłym a pojedynczym trybem akwizycji w czasie pracy. Odpowiednio aktualizuje pole ODR rejestru CTRL_REG1.

pressure() float

Zwraca bezwzględne ciśnienie atmosferyczne w hektopaskalach (hPa). W trybie pojedynczego pomiaru wyzwala nową konwersję i blokuje do momentu ustawienia flagi gotowości danych ciśnienia.

temperature() float

Zwraca temperaturę struktury w stopniach Celsjusza. W trybie pojedynczego pomiaru wyzwala nową konwersję i blokuje do momentu ustawienia flagi gotowości danych temperatury.

altitude() float

Zwraca szacowaną wysokość w metrach, wyznaczoną z bieżących odczytów ciśnienia i temperatury przy użyciu międzynarodowego wzoru barometrycznego odniesionego do ciśnienia na poziomie morza wynoszącego 1013,25 hPa.