lps22h — sensor de pressão LPS22HB/HH

Driver para o sensor de pressão nano MEMS ST LPS22HB / LPS22HH via I2C. O dispositivo expõe tanto a pressão barométrica como a temperatura do encapsulamento, podendo funcionar em modo contínuo ou em modo de disparo único («one-shot»), onde cada medição é explicitamente acionada pelo anfitrião.

Exemplo:

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)

Classes

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

Constrói uma instância LPS22H e configura o dispositivo com BDU ativado e o filtro passa-baixo ativo.

bus

Um barramento machine.I2C configurado ao qual o sensor está ligado.

address

Endereço I2C de 7 bits do dispositivo. Por omissão é 0x5C; em algumas placas, o pino SDO está ligado ao nível alto, o que seleciona 0x5D.

oneshot

Se True, o dispositivo arranca em modo one-shot e cada chamada a pressure() ou temperature() desencadeia uma nova conversão e aguarda a sua conclusão. Se False, o ODR é definido para 1 Hz e as leituras devolvem a amostra contínua mais recente.

set_oneshot_mode(oneshot: bool) None

Comuta o dispositivo entre os modos de aquisição contínua e one-shot em tempo de execução. Atualiza o campo ODR de CTRL_REG1 em conformidade.

pressure() float

Devolve a pressão atmosférica absoluta em hectopascais (hPa). Em modo one-shot, desencadeia uma nova conversão e bloqueia até que o flag de dados de pressão prontos esteja definido.

temperature() float

Devolve a temperatura do encapsulamento em graus Celsius. Em modo one-shot, desencadeia uma nova conversão e bloqueia até que o flag de dados de temperatura prontos esteja definido.

altitude() float

Devolve uma altitude estimada em metros, derivada das leituras atuais de pressão e temperatura, utilizando a fórmula barométrica internacional com referência a uma pressão ao nível do mar de 1013,25 hPa.