lps22h — sensor de presión LPS22HB/HH

Controlador para el sensor de presión MEMS nano LPS22HB / LPS22HH de ST a través de I2C. El dispositivo expone tanto la presión barométrica como una lectura de la temperatura del chip, y puede funcionar de forma continua o en modo de disparo único («one-shot»), en el que cada medición la activa explícitamente el host.

Ejemplo:

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)

Clases

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

Construye una instancia de LPS22H y configura el dispositivo con BDU habilitado y el filtro paso-bajo activo.

bus

Un bus machine.I2C configurado al que está conectado el sensor.

address

Dirección I2C de 7 bits del dispositivo. Su valor predeterminado es 0x5C; algunas placas fijan el pin SDO en alto, lo que selecciona 0x5D.

oneshot

Si es True, el dispositivo arranca en modo de disparo único y cada llamada a pressure() o temperature() activa una nueva conversión y espera a que termine. Si es False, la ODR se fija en 1 Hz y las lecturas devuelven la muestra continua más reciente.

set_oneshot_mode(oneshot: bool) None

Cambia el dispositivo entre los modos de adquisición continuo y de disparo único en tiempo de ejecución. Actualiza el campo ODR de CTRL_REG1 en consecuencia.

pressure() float

Devuelve la presión atmosférica absoluta en hectopascales (hPa). En modo de disparo único esto activa una nueva conversión y se bloquea hasta que se establece el indicador de datos de presión listos.

temperature() float

Devuelve la temperatura del chip en grados Celsius. En modo de disparo único esto activa una nueva conversión y se bloquea hasta que se establece el indicador de datos de temperatura listos.

altitude() float

Devuelve una altitud estimada en metros, derivada de las lecturas actuales de presión y temperatura usando la fórmula barométrica internacional referida a una presión a nivel del mar de 1013.25 hPa.