lps22h — LPS22HB/HH-painesensori

Ajuri ST:n LPS22HB / LPS22HH MEMS-nanopainesensorille I2C:n kautta. Laite tarjoaa sekä ilmanpaineen että piirin lämpötilalukeman, ja se voi toimia joko jatkuvasti tai kertalaukaisutilassa (”one-shot”), jossa isäntä laukaisee jokaisen mittauksen erikseen.

Esimerkki:

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)

Luokat

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

Luo LPS22H-instanssin ja määrittää laitteen niin, että BDU on käytössä ja alipäästösuodatin aktiivinen.

bus

Määritetty machine.I2C -väylä, johon sensori on liitetty.

address

Laitteen 7-bittinen I2C-osoite. Oletuksena 0x5C; jotkin kortit kytkevät SDO-nastan ylös, jolloin valitaan 0x5D.

oneshot

Jos True, laite käynnistyy kertalaukaisutilassa ja jokainen metodin pressure() tai temperature() kutsu laukaisee uuden muunnoksen ja odottaa sen valmistumista. Jos False, ODR asetetaan arvoon 1 Hz ja lukemat palauttavat viimeisimmän jatkuvan näytteen.

set_oneshot_mode(oneshot: bool) None

Vaihtaa laitteen jatkuvan ja kertalaukaisutilan välillä ajon aikana. Päivittää rekisterin CTRL_REG1 ODR-kentän vastaavasti.

pressure() float

Palauttaa absoluuttisen ilmanpaineen hehtopascaleina (hPa). Kertalaukaisutilassa tämä laukaisee uuden muunnoksen ja estyy, kunnes paineen data-valmis-lippu on asetettu.

temperature() float

Palauttaa piirin lämpötilan Celsius-asteina. Kertalaukaisutilassa tämä laukaisee uuden muunnoksen ja estyy, kunnes lämpötilan data-valmis-lippu on asetettu.

altitude() float

Palauttaa nykyisistä paine- ja lämpötilalukemista lasketun arvioidun korkeuden metreinä käyttäen kansainvälistä barometrista kaavaa, jonka vertailuarvona on merenpinnan paine 1013,25 hPa.