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.busMääritetty
machine.I2C-väylä, johon sensori on liitetty.addressLaitteen 7-bittinen I2C-osoite. Oletuksena
0x5C; jotkin kortit kytkevät SDO-nastan ylös, jolloin valitaan0x5D.oneshotJos
True, laite käynnistyy kertalaukaisutilassa ja jokainen metodinpressure()taitemperature()kutsu laukaisee uuden muunnoksen ja odottaa sen valmistumista. JosFalse, 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_REG1ODR-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.