lps22h --- cảm biến áp suất LPS22HB/HH

Driver cho cảm biến áp suất nano MEMS ST LPS22HB / LPS22HH qua I2C. Thiết bị cung cấp cả áp suất khí quyển và nhiệt độ cảm biến (die temperature), và có thể chạy liên tục hoặc ở chế độ đo đơn ("one-shot") trong đó mỗi phép đo được kích hoạt rõ ràng bởi máy chủ.

Ví dụ:

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)

Lớp

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

Khởi tạo một thực thể LPS22H và cấu hình thiết bị với BDU được bật và bộ lọc thông thấp hoạt động.

bus

Một bus machine.I2C đã được cấu hình mà cảm biến được kết nối vào.

address

Địa chỉ I2C 7-bit của thiết bị. Mặc định là 0x5C; một số bo mạch nối chân SDO lên cao để chọn 0x5D.

oneshot

Nếu là True, thiết bị khởi động ở chế độ one-shot và mỗi lần gọi pressure() hoặc temperature() sẽ kích hoạt một phép chuyển đổi mới và chờ đến khi hoàn thành. Nếu là False, ODR được đặt thành 1 Hz và các lần đọc trả về mẫu liên tục gần nhất.

set_oneshot_mode(oneshot: bool) None

Chuyển đổi thiết bị giữa chế độ thu thập liên tục và one-shot khi đang chạy. Cập nhật trường ODR của CTRL_REG1 cho phù hợp.

pressure() float

Trả về áp suất khí quyển tuyệt đối tính bằng hectopascal (hPa). Ở chế độ one-shot, lệnh này kích hoạt một phép chuyển đổi mới và chặn cho đến khi cờ sẵn sàng dữ liệu áp suất được đặt.

temperature() float

Trả về nhiệt độ cảm biến tính bằng độ Celsius. Ở chế độ one-shot, lệnh này kích hoạt một phép chuyển đổi mới và chặn cho đến khi cờ sẵn sàng dữ liệu nhiệt độ được đặt.

altitude() float

Trả về độ cao ước tính tính bằng mét, được tính từ các số liệu đọc áp suất và nhiệt độ hiện tại bằng công thức khí áp kế quốc tế, tham chiếu đến áp suất mực nước biển là 1013.25 hPa.