lps22h --- مستشعر الضغط LPS22HB/HH

مُشغِّل لمستشعر الضغط النانوي من نوع MEMS من ST من طراز LPS22HB / LPS22HH عبر I2C. يوفِّر الجهاز قراءة للضغط الجوي وقراءة لدرجة حرارة الشريحة، ويمكنه العمل إما باستمرار أو في نمط اللقطة الواحدة ("one-shot") حيث يُطلَق كل قياس صراحةً من قِبل المضيف.

مثال:

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)

الأصناف

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

تُنشئ نسخة LPS22H وتُعِدّ الجهاز مع تفعيل BDU وتنشيط المُرشِّح ممرر الترددات المنخفضة.

bus

ناقل machine.I2C مُعَدّ يكون المستشعر مُرفَقًا به.

address

عنوان I2C ذو 7 بتات للجهاز. قيمته الافتراضية 0x5C؛ تربط بعض اللوحات دبوس SDO إلى الجهد العالي مما يحدد 0x5D.

oneshot

إذا كان True، يبدأ الجهاز في نمط اللقطة الواحدة، ويُطلِق كل نداء لـ pressure() أو temperature() تحويلًا جديدًا وينتظر اكتماله. وإذا كان False، يُضبط معدل ODR على 1 هرتز وتُرجِع القراءات أحدث عينة مستمرة.

set_oneshot_mode(oneshot: bool) None

تبدّل الجهاز بين نمطي الالتقاط المستمر واللقطة الواحدة أثناء التشغيل. تُحدِّث حقل ODR في CTRL_REG1 تبعًا لذلك.

pressure() float

تُرجِع الضغط الجوي المطلق بوحدة الهكتوباسكال (hPa). في نمط اللقطة الواحدة يُطلَق تحويل جديد ويُحجَب التنفيذ حتى تُضبط راية جاهزية بيانات الضغط.

temperature() float

تُرجِع درجة حرارة الشريحة بالدرجات المئوية. في نمط اللقطة الواحدة يُطلَق تحويل جديد ويُحجَب التنفيذ حتى تُضبط راية جاهزية بيانات الحرارة.

altitude() float

تُرجِع ارتفاعًا تقديريًا بالأمتار مُشتقًّا من قراءتي الضغط والحرارة الحاليتين باستخدام الصيغة الجوية الدولية المنسوبة إلى ضغط سطح البحر البالغ 1013.25 hPa.