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, к которой подключён датчик.

address

7-битный адрес I2C устройства. По умолчанию 0x5C; некоторые платы подтягивают вывод SDO к высокому уровню, что выбирает 0x5D.

oneshot

Если True, устройство запускается в одиночном режиме, и каждый вызов pressure() или temperature() инициирует новое преобразование и ожидает его завершения. Если False, ODR устанавливается в 1 Гц, и показания возвращают самый последний непрерывный отсчёт.

set_oneshot_mode(oneshot: bool) None

Переключает устройство между непрерывным и одиночным режимами сбора данных во время выполнения. Соответственно обновляет поле ODR регистра CTRL_REG1.

pressure() float

Возвращает абсолютное атмосферное давление в гектопаскалях (гПа). В одиночном режиме это инициирует новое преобразование и блокируется до установки флага готовности данных давления.

temperature() float

Возвращает температуру кристалла в градусах Цельсия. В одиночном режиме это инициирует новое преобразование и блокируется до установки флага готовности данных температуры.

altitude() float

Возвращает оценочную высоту в метрах, вычисленную по текущим показаниям давления и температуры с использованием международной барометрической формулы, отнесённой к давлению на уровне моря 1013.25 гПа.