Mục lục:

Raspberry Pi - Cảm biến đo độ cao chính xác MPL3115A2 Hướng dẫn sử dụng Python: 4 bước
Raspberry Pi - Cảm biến đo độ cao chính xác MPL3115A2 Hướng dẫn sử dụng Python: 4 bước

Video: Raspberry Pi - Cảm biến đo độ cao chính xác MPL3115A2 Hướng dẫn sử dụng Python: 4 bước

Video: Raspberry Pi - Cảm biến đo độ cao chính xác MPL3115A2 Hướng dẫn sử dụng Python: 4 bước
Video: Raspberry Pi HP206C Barometer & Altimeter Sensor Python Tutorial 2024, Tháng mười một
Anonim
Image
Image

MPL3115A2 sử dụng cảm biến áp suất MEMS với giao diện I2C để cung cấp dữ liệu Áp suất / Độ cao và Nhiệt độ chính xác. Các đầu ra cảm biến được số hóa bằng ADC 24-bit có độ phân giải cao. Xử lý nội bộ loại bỏ các nhiệm vụ bồi thường khỏi hệ thống MCU chủ. Nó có khả năng phát hiện sự thay đổi chỉ 0,05 kPa tương đương với sự thay đổi độ cao 0,3m. Đây là phần trình diễn của nó với raspberry pi bằng cách sử dụng mã python.

Bước 1: Những gì bạn cần.. !

Những gì bạn cần.. !!
Những gì bạn cần.. !!

1. Raspberry Pi

2. MPL3115A2

3. Cáp I²C

4. I²C Shield cho Raspberry Pi

5. Cáp Ethernet

Bước 2: Kết nối:

Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối
Kết nối

Lấy một tấm chắn I2C cho raspberry pi và nhẹ nhàng đẩy nó qua các chân gpio của raspberry pi.

Sau đó kết nối một đầu của cáp I2C với cảm biến MPL3115A2 và đầu kia với tấm chắn I2C.

Đồng thời kết nối cáp Ethernet với pi hoặc bạn có thể sử dụng mô-đun WiFi.

Các kết nối được hiển thị trong hình trên.

Bước 3: Mã:

Mã số
Mã số

Bạn có thể tải xuống mã python cho MPL3115A2 từ kho lưu trữ Github- Cộng đồng cửa hàng DCUBE của chúng tôi.

Đây là liên kết

Chúng tôi đã sử dụng thư viện SMBus cho mã python, các bước để cài đặt SMBus trên raspberry pi được mô tả ở đây:

pypi.python.org/pypi/smbus-cffi/0.5.1

Bạn cũng có thể sao chép mã từ đây, nó được đưa ra như sau:

# Được phân phối với một giấy phép tự do.

# Sử dụng nó theo bất kỳ cách nào bạn muốn, lợi nhuận hoặc miễn phí, miễn là nó phù hợp với giấy phép của các tác phẩm liên quan.

# MPL3115A2

# Mã này được thiết kế để hoạt động với Mô-đun Mini MPL3115A2_I2CS I2C

nhập khẩu smbus

thời gian nhập khẩu

# Nhận xe buýt I2C

bus = smbus. SMBus (1)

Địa chỉ # MPL3115A2, 0x60 (96)

# Chọn thanh ghi điều khiển, 0x26 (38)

# 0xB9 (185) Chế độ hoạt động, OSR = 128, Chế độ đo độ cao

bus.write_byte_data (0x60, 0x26, 0xB9)

Địa chỉ # MPL3115A2, 0x60 (96)

# Chọn thanh ghi cấu hình dữ liệu, 0x13 (19)

# 0x07 (07) Sự kiện sẵn sàng dữ liệu được bật cho độ cao, áp suất, nhiệt độ

bus.write_byte_data (0x60, 0x13, 0x07)

Địa chỉ # MPL3115A2, 0x60 (96)

# Chọn thanh ghi điều khiển, 0x26 (38)

# 0xB9 (185) Chế độ hoạt động, OSR = 128, Chế độ đo độ cao

bus.write_byte_data (0x60, 0x26, 0xB9)

time.sleep (1)

Địa chỉ # MPL3115A2, 0x60 (96)

# Đọc lại dữ liệu từ 0x00 (00), 6 byte

# trạng thái, tHeight MSB1, tHeight MSB, tHeight LSB, temp MSB, temp LSB

data = bus.read_i2c_block_data (0x60, 0x00, 6)

# Chuyển đổi dữ liệu thành 20 bit

tHeight = ((dữ liệu [1] * 65536) + (dữ liệu [2] * 256) + (dữ liệu [3] & 0xF0)) / 16

temp = ((dữ liệu [4] * 256) + (dữ liệu [5] & 0xF0)) / 16

độ cao = tHeight / 16,0

cTemp = temp / 16.0

fTemp = cTemp * 1.8 + 32

Địa chỉ # MPL3115A2, 0x60 (96)

# Chọn thanh ghi điều khiển, 0x26 (38)

# 0x39 (57) Chế độ hoạt động, OSR = 128, Chế độ phong vũ biểu

bus.write_byte_data (0x60, 0x26, 0x39)

time.sleep (1)

Địa chỉ # MPL3115A2, 0x60 (96)

# Đọc lại dữ liệu từ 0x00 (00), 4 byte

# trạng thái, MSB1 đặt trước, MSB đặt trước, LSB đặt trước

data = bus.read_i2c_block_data (0x60, 0x00, 4)

# Chuyển đổi dữ liệu thành 20-bit

pres = ((dữ liệu [1] * 65536) + (dữ liệu [2] * 256) + (dữ liệu [3] & 0xF0)) / 16

áp suất = (đặt trước / 4.0) / 1000.0

# Xuất dữ liệu ra màn hình

in "Áp suất:%.2f kPa"% áp suất

in "Độ cao:%.2f m"% độ cao

in "Nhiệt độ tính bằng độ C:%.2f C"% cTemp

in "Nhiệt độ tính bằng F:%.2f F"% fTemp

Bước 4: Ứng dụng:

Các ứng dụng khác nhau của MPL3115A2 bao gồm Đo độ chính xác cao, Điện thoại thông minh / Máy tính bảng, Đo độ cao điện tử cá nhân, v.v. Nó cũng có thể được kết hợp trong GPS Dead Reckoning, Tăng cường GPS cho Dịch vụ Khẩn cấp, Hỗ trợ Bản đồ, Điều hướng cũng như Thiết bị Trạm Thời tiết.

Đề xuất: