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). في نمط اللقطة الواحدة يُطلَق تحويل جديد ويُحجَب التنفيذ حتى تُضبط راية جاهزية بيانات الضغط.