lps22h — LPS22HB/HH-Drucksensor¶
Treiber für den ST LPS22HB / LPS22HH MEMS-Nano-Drucksensor über I2C. Das Gerät stellt sowohl den barometrischen Druck als auch eine Die-Temperaturmessung bereit und kann entweder kontinuierlich oder im Single-Shot-Modus („One-Shot“) laufen, bei dem jede Messung explizit vom Host ausgelöst wird.
Beispiel:
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)
Klassen¶
- class lps22h.LPS22H(bus: machine.I2C, address: int = 0x5C, oneshot: bool = False)¶
Erstellt eine
LPS22H-Instanz und konfiguriert das Gerät mit aktiviertem BDU und aktivem Tiefpassfilter.busEin konfigurierter
machine.I2C-Bus, an den der Sensor angeschlossen ist.address7-Bit-I2C-Adresse des Geräts. Standardmäßig
0x5C; einige Boards ziehen den SDO-Pin auf High, was0x5Dauswählt.oneshotWenn
True, startet das Gerät im One-Shot-Modus, und jeder Aufruf vonpressure()odertemperature()löst eine neue Wandlung aus und wartet, bis sie abgeschlossen ist. WennFalse, wird die ODR auf 1 Hz gesetzt, und die Messwerte geben die jüngste kontinuierliche Probe zurück.
- set_oneshot_mode(oneshot: bool) None¶
Schaltet das Gerät zur Laufzeit zwischen kontinuierlichem und One-Shot-Erfassungsmodus um. Aktualisiert das ODR-Feld von
CTRL_REG1entsprechend.
- pressure() float¶
Gibt den absoluten atmosphärischen Druck in Hektopascal (hPa) zurück. Im One-Shot-Modus löst dies eine neue Wandlung aus und blockiert, bis das Druck-Data-Ready-Flag gesetzt ist.