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.