lps22h — capteur de pression LPS22HB/HH

Pilote pour le capteur de pression nano MEMS ST LPS22HB / LPS22HH via I2C. Le composant expose à la fois la pression barométrique et une mesure de température de la puce, et peut fonctionner soit en continu, soit en mode à un coup (« one-shot »), où chaque mesure est déclenchée explicitement par l’hôte.

Exemple

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)

Construit une instance LPS22H et configure le composant avec le BDU activé et le filtre passe-bas actif.

bus

Un bus machine.I2C configuré auquel le capteur est connecté.

address

Adresse I2C 7 bits du composant. Vaut par défaut 0x5C ; certaines cartes tirent la broche SDO au niveau haut, ce qui sélectionne 0x5D.

oneshot

Si True, le composant démarre en mode à un coup et chaque appel à pressure() ou temperature() déclenche une nouvelle conversion et attend qu’elle se termine. Si False, l’ODR est réglé sur 1 Hz et les lectures renvoient l’échantillon continu le plus récent.

set_oneshot_mode(oneshot: bool) None

Bascule le composant entre les modes d’acquisition continu et à un coup à l’exécution. Met à jour le champ ODR de CTRL_REG1 en conséquence.

pressure() float

Renvoie la pression atmosphérique absolue en hectopascals (hPa). En mode à un coup, cela déclenche une nouvelle conversion et bloque jusqu’à ce que l’indicateur de disponibilité des données de pression soit positionné.

temperature() float

Renvoie la température de la puce en degrés Celsius. En mode à un coup, cela déclenche une nouvelle conversion et bloque jusqu’à ce que l’indicateur de disponibilité des données de température soit positionné.

altitude() float

Renvoie une altitude estimée en mètres dérivée des lectures actuelles de pression et de température à l’aide de la formule barométrique internationale référencée à une pression au niveau de la mer de 1013,25 hPa.