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
LPS22He configura o dispositivo com BDU ativado e o filtro passa-baixo ativo.busUm barramento
machine.I2Cconfigurado ao qual o sensor está ligado.addressEndereç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 seleciona0x5D.oneshotSe
True, o dispositivo arranca em modo one-shot e cada chamada apressure()outemperature()desencadeia uma nova conversão e aguarda a sua conclusão. SeFalse, 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_REG1em 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.