lps22h — LPS22HB/HH senzor tlaka

Upravljački program za ST LPS22HB / LPS22HH MEMS nano senzor tlaka putem I2C. Uređaj izlaže i barometarski tlak i očitanje temperature čipa, a može raditi kontinuirano ili u jednokratnom („one-shot”) načinu rada gdje host eksplicitno pokreće svako mjerenje.

Primjer:

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)

Klase

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

Konstruira LPS22H instancu i konfigurira uređaj s omogućenim BDU i aktivnim niskopropusnim filtrom.

bus

Konfigurirana machine.I2C sabirnica na koju je senzor priključen.

address

7-bitna I2C adresa uređaja. Zadano 0x5C; neke ploče vežu SDO pin na visoku razinu, čime se odabire 0x5D.

oneshot

Ako je True, uređaj kreće u jednokratnom načinu rada i svaki poziv na pressure() ili temperature() pokreće novu konverziju i čeka da završi. Ako je False, ODR se postavlja na 1 Hz, a očitanja vraćaju najnoviji kontinuirani uzorak.

set_oneshot_mode(oneshot: bool) None

Tijekom rada prebacuje uređaj između kontinuiranog i jednokratnog načina prikupljanja. U skladu s time ažurira polje ODR u CTRL_REG1.

pressure() float

Vraća apsolutni atmosferski tlak u hektopaskalima (hPa). U jednokratnom načinu rada to pokreće novu konverziju i blokira dok se ne postavi zastavica spremnosti podataka o tlaku.

temperature() float

Vraća temperaturu čipa u stupnjevima Celzija. U jednokratnom načinu rada to pokreće novu konverziju i blokira dok se ne postavi zastavica spremnosti podataka o temperaturi.

altitude() float

Vraća procijenjenu nadmorsku visinu u metrima izvedenu iz trenutnih očitanja tlaka i temperature pomoću međunarodne barometarske formule referencirane na tlak na razini mora od 1013.25 hPa.