lps22h --- sensor ความดัน LPS22HB/HH¶
ไดรเวอร์สำหรับ sensor ความดัน nano แบบ MEMS รุ่น ST LPS22HB / LPS22HH ผ่าน I2C อุปกรณ์เปิดเผยทั้งการอ่านค่าความดันบรรยากาศและอุณหภูมิของชิป และสามารถทำงานได้ทั้งแบบต่อเนื่องหรือแบบ single-shot ("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 และตัวกรองแบบ low-passbusบัส
machine.I2Cที่กำหนดค่าแล้วซึ่ง sensor เชื่อมต่ออยู่addressที่อยู่ I2C 7 บิตของอุปกรณ์ ค่าเริ่มต้นคือ
0x5C; บางบอร์ดดึงพิน SDO ขึ้น high ซึ่งเลือก0x5Doneshotหาก
Trueอุปกรณ์จะเริ่มต้นในโหมด one-shot และการเรียกแต่ละครั้งไปยังpressure()หรือtemperature()จะกระตุ้นการแปลงใหม่และรอให้เสร็จสิ้น หากFalseODR จะถูกตั้งเป็น 1 Hz และการอ่านค่าจะคืนค่าตัวอย่างต่อเนื่องล่าสุด
- set_oneshot_mode(oneshot: bool) None¶
สลับอุปกรณ์ระหว่างโหมดการรับข้อมูลแบบต่อเนื่องและ one-shot ในขณะทำงาน อัปเดตฟิลด์ ODR ของ
CTRL_REG1ตามนั้น
- pressure() float¶
คืนค่าความดันบรรยากาศสัมบูรณ์ในหน่วยเฮกโตปาสกาล (hPa) ในโหมด one-shot จะกระตุ้นการแปลงใหม่และบล็อกจนกว่าแฟล็ก data-ready สำหรับความดันจะถูกตั้ง