lps22h — LPS22HB/HH basınç sensörü

ST LPS22HB / LPS22HH MEMS nano basınç sensörü için I2C üzerinden sürücü. Cihaz hem barometrik basıncı hem de bir kalıp sıcaklığı okumasını sunar ve sürekli olarak ya da her ölçümün ana bilgisayar tarafından açıkça tetiklendiği tek atımlık (“one-shot”) modda çalışabilir.

Örnek:

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)

Sınıflar

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

Bir LPS22H örneği oluşturur ve cihazı BDU etkin ve alçak geçiren filtre etkin olacak şekilde yapılandırır.

bus

Sensörün bağlı olduğu yapılandırılmış bir machine.I2C veri yolu.

address

Cihazın 7 bitlik I2C adresi. Varsayılan olarak 0x5C değerini alır; bazı kartlar 0x5D adresini seçen SDO pinini yüksek seviyeye sabitler.

oneshot

True ise, cihaz tek atımlık modda başlar ve pressure() veya temperature() çağrısı her seferinde yeni bir dönüştürme tetikler ve tamamlanmasını bekler. False ise, ODR 1 Hz olarak ayarlanır ve okumalar en son sürekli örneği döndürür.

set_oneshot_mode(oneshot: bool) None

Cihazı çalışma zamanında sürekli ve tek atımlık edinim modları arasında değiştirir. CTRL_REG1 yazmacının ODR alanını buna göre günceller.

pressure() float

Mutlak atmosfer basıncını hektopaskal (hPa) cinsinden döndürür. Tek atımlık modda bu, yeni bir dönüştürme tetikler ve basınç verisi-hazır bayrağı ayarlanana kadar bloke eder.

temperature() float

Kalıp sıcaklığını santigrat derece cinsinden döndürür. Tek atımlık modda bu, yeni bir dönüştürme tetikler ve sıcaklık verisi-hazır bayrağı ayarlanana kadar bloke eder.

altitude() float

Geçerli basınç ve sıcaklık okumalarından, 1013,25 hPa deniz seviyesi basıncına dayandırılan uluslararası barometrik formül kullanılarak türetilen tahmini bir yüksekliği metre cinsinden döndürür.