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.