lps22h — חיישן לחץ LPS22HB/HH¶
מנהל התקן לחיישן הלחץ הננו מסוג ST LPS22HB / LPS22HH MEMS באמצעות 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 Hz והקריאות מחזירות את הדגימה הרציפה האחרונה.
- set_oneshot_mode(oneshot: bool) None¶
מחליפה את ההתקן בין מצבי איסוף רציף ויריית-יחיד בזמן ריצה. מעדכנת בהתאם את שדה ה-ODR של
CTRL_REG1.
- pressure() float¶
מחזירה את הלחץ האטמוספרי המוחלט בהקטופסקלים (hPa). במצב יריית-יחיד זה מפעיל המרה חדשה וחוסם עד שדגל מוכנות-נתוני הלחץ מוגדר.