lps22h — LPS22HB/HH nyomásérzékelő

Illesztőprogram az ST LPS22HB / LPS22HH MEMS nano nyomásérzékelőhöz I2C-n keresztül. Az eszköz mind a barometrikus nyomást, mind a lapka-hőmérsékletet kínálja, és működhet folyamatosan vagy egyszeri („one-shot”) módban is, ahol minden mérést a gazda explicit módon vált ki.

Példa:

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)

Osztályok

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

Létrehoz egy LPS22H példányt, és úgy konfigurálja az eszközt, hogy a BDU engedélyezve, az aluláteresztő szűrő pedig aktív legyen.

bus

Egy beállított machine.I2C busz, amelyhez az érzékelő csatlakozik.

address

Az eszköz 7 bites I2C-címe. Alapértelmezett értéke 0x5C; egyes lapok magasra kötik az SDO lábat, ami a 0x5D címet választja ki.

oneshot

Ha True, az eszköz egyszeri módban indul, és a pressure() vagy temperature() minden hívása új átalakítást vált ki, és megvárja, amíg az befejeződik. Ha False, az ODR 1 Hz-re van állítva, és az olvasások a legutóbbi folyamatos mintát adják vissza.

set_oneshot_mode(oneshot: bool) None

Futásidőben átkapcsolja az eszközt a folyamatos és az egyszeri adatgyűjtési módok között. Ennek megfelelően frissíti a CTRL_REG1 ODR mezőjét.

pressure() float

Visszaadja az abszolút légnyomást hektopascalban (hPa). Egyszeri módban ez új átalakítást vált ki, és blokkol, amíg a nyomásadat-kész jelző be nem áll.

temperature() float

Visszaadja a lapka hőmérsékletét Celsius-fokban. Egyszeri módban ez új átalakítást vált ki, és blokkol, amíg a hőmérsékletadat-kész jelző be nem áll.

altitude() float

Visszaad egy becsült magasságot méterben, amelyet az aktuális nyomás- és hőmérséklet-leolvasásból a nemzetközi barometrikus képlettel számít ki, 1013,25 hPa tengerszinti nyomásra vonatkoztatva.