lps22h — датчик давления LPS22HB/HH¶
Драйвер для MEMS нано-датчика давления ST LPS22HB / LPS22HH по I2C. Устройство предоставляет как показания барометрического давления, так и измерение температуры кристалла, и может работать либо непрерывно, либо в одиночном («one-shot») режиме, в котором каждое измерение явно инициируется хостом.
Пример:
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)
Классы¶
- class lps22h.LPS22H(bus: machine.I2C, address: int = 0x5C, oneshot: bool = False)¶
Создаёт экземпляр
LPS22Hи настраивает устройство с включённым BDU и активным фильтром нижних частот.busНастроенная шина
machine.I2C, к которой подключён датчик.address7-битный адрес I2C устройства. По умолчанию
0x5C; некоторые платы подтягивают вывод SDO к высокому уровню, что выбирает0x5D.oneshotЕсли
True, устройство запускается в одиночном режиме, и каждый вызовpressure()илиtemperature()инициирует новое преобразование и ожидает его завершения. ЕслиFalse, ODR устанавливается в 1 Гц, и показания возвращают самый последний непрерывный отсчёт.
- set_oneshot_mode(oneshot: bool) None¶
Переключает устройство между непрерывным и одиночным режимами сбора данных во время выполнения. Соответственно обновляет поле ODR регистра
CTRL_REG1.
- pressure() float¶
Возвращает абсолютное атмосферное давление в гектопаскалях (гПа). В одиночном режиме это инициирует новое преобразование и блокируется до установки флага готовности данных давления.