Mục lục:

Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2: 6 bước
Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2: 6 bước

Video: Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2: 6 bước

Video: Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2: 6 bước
Video: Easy use of BMP280 to measure Pressure, Temperature and Altitude with Arduino + OLED 2024, Tháng mười một
Anonim
Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2
Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2
Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2
Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2

Nghe có vẻ thú vị. Hoàn toàn có thể xảy ra trong thời điểm này khi tất cả chúng ta đang bước vào thế hệ IoT. Là một người đam mê điện tử, chúng tôi đã chơi với Raspberry Pi và quyết định thực hiện các dự án thú vị bằng cách sử dụng kiến thức này. Trong dự án này, chúng tôi sẽ đo độ cao, áp suất không khí, nhiệt độ bằng Raspberry Pi. Vì vậy, đây là tài liệu (luôn được sửa đổi và mở rộng). Chúng tôi khuyên bạn nên bắt đầu bằng việc làm theo hướng dẫn và sao chép mã. Bạn có thể thử nghiệm sau này. Vậy hãy bắt đầu.

Bước 1: Thiết bị bắt buộc chúng ta cần

Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần
Thiết bị bắt buộc chúng ta cần

1. Raspberry Pi

Bước đầu tiên là lấy một bảng Raspberry Pi. Chúng tôi đã mua của chúng tôi và bạn cũng vậy. Bắt đầu học từ các hướng dẫn, chúng tôi đã hiểu các khái niệm về kịch bản và kết nối và sau đó đã học được. Thiên tài nhỏ bé này thường gặp đối với những người có sở thích, giáo viên và trong việc tạo ra những môi trường đổi mới.

2. I²C Shield cho Raspberry Pi

INPI2 (bộ điều hợp I2C) cung cấp cho Raspberry Pi 2/3 cổng I²C để sử dụng với nhiều thiết bị I2C. Nó có sẵn trên Dcube Store

3. Cảm biến đo độ cao, áp suất và nhiệt độ, MPL3115A2

MPL3115A2 là cảm biến áp suất MEMS với giao diện I²C để cung cấp dữ liệu Áp suất / Độ cao và Nhiệt độ. Cảm biến này sử dụng giao thức I²C để giao tiếp. Chúng tôi đã mua cảm biến này từ Dcube Store

4. Cáp kết nối

Chúng tôi đã có sẵn cáp kết nối I2C tại Dcube Store

5. Cáp micro USB

Cáp micro USB Bộ nguồn là lựa chọn lý tưởng để cấp nguồn cho Raspberry Pi.

6. Tăng cường truy cập Internet - Cáp Ethernet / Bộ điều hợp WiFi

Trong thời đại này, để truy cập vào bất cứ thứ gì đều cần có kết nối internet (gần như cả cuộc sống ngoại tuyến). Vì vậy, chúng tôi đi theo lời khuyên của cáp LAN hoặc Bộ điều hợp USB Nano không dây (WiFi) để xây dựng kết nối internet để chúng tôi có thể sử dụng Rasp Pi của mình một cách dễ dàng và không gặp vấn đề gì.

7. Cáp HDMI (Tùy chọn, Lựa chọn của bạn)

Đó là một chút khó khăn. Bạn có thể có khả năng gắn một Màn hình khác trong trường hợp nếu bạn muốn hoặc rất tiết kiệm chi phí cho chính bạn bằng cách tạo kết nối Pi không đầu với PC / Máy tính xách tay của bạn.

Bước 2: Kết nối phần cứng để ghép mạch lại với nhau

Kết nối phần cứng để ghép mạch lại với nhau
Kết nối phần cứng để ghép mạch lại với nhau
Kết nối phần cứng để ghép mạch lại với nhau
Kết nối phần cứng để ghép mạch lại với nhau

Làm cho mạch điện như sơ đồ được hiển thị. Nói chung, các kết nối rất đơn giản. Làm theo hướng dẫn và hình ảnh, và bạn sẽ không gặp vấn đề gì.

Trong khi lập kế hoạch, chúng tôi đã xem xét phần cứng và mã hóa cũng như các khái niệm cơ bản về điện tử. Chúng tôi muốn thiết kế một sơ đồ điện tử đơn giản cho dự án này. Trong sơ đồ, bạn có thể nhận thấy các bộ phận, thành phần nguồn và cảm biến I²C khác nhau tuân theo các giao thức truyền thông I²C. Hy vọng rằng, điều này minh họa cho việc thiết bị điện tử cho dự án này đơn giản như thế nào.

Kết nối giữa Raspberry Pi và I2C Shield

Trước hết, hãy lấy Raspberry Pi và đặt I²C Shield lên đó. Nhấn nhẹ Tấm chắn (Xem hình).

Kết nối của Cảm biến và Raspberry Pi

Lấy cảm biến và kết nối cáp I²C với nó. Đảm bảo rằng Đầu ra I²C LUÔN LUÔN kết nối với Đầu vào I²C. Tiếp theo là Raspberry Pi với tấm chắn I²C được gắn trên nó. Không có thêm chân và vấn đề dây điện và do đó, sự nhầm lẫn không còn nữa. Thật là nhẹ nhõm khi bạn chỉ cần tưởng tượng mình trong mạng lưới dây điện và tham gia vào điều đó. Chỉ là quá trình đơn giản mà chúng tôi đã đề cập.

Lưu ý: Dây màu nâu phải luôn đi theo kết nối Nối đất (GND) giữa đầu ra của một thiết bị và đầu vào của thiết bị khác

Kết nối Internet là rất quan trọng

Bạn có một sự lựa chọn ở đây thực sự. Bạn có thể Kết nối Raspberry Pi bằng cáp LAN hoặc Bộ điều hợp USB Nano không dây để kết nối WiFi. Nhưng dù sao, nó đã thực hiện mục đích chính là kết nối với internet.

Cấp nguồn cho mạch

Cắm cáp Micro USB vào giắc cắm nguồn của Raspberry Pi. Hãy thắp sáng nó lên và chúng ta sẵn sàng đi.

Kết nối với màn hình

Chúng tôi có thể kết nối cáp HDMI với một màn hình mới hoặc chúng tôi có thể tạo ra Pi không đầu của chúng tôi, sáng tạo và tiết kiệm chi phí bằng cách sử dụng truy cập từ xa như-SSH / PuTTY. (Tôi biết chúng tôi không được tài trợ như một tổ chức bí mật)

Bước 3: Lập trình Raspberry Pi bằng Python

Lập trình Raspberry Pi bằng Python
Lập trình Raspberry Pi bằng Python

Mã Python cho Raspberry Pi và MPL3115A2 Sensor. Nó có sẵn trong kho Github của chúng tôi.

Trước khi tiếp tục mã, hãy đảm bảo bạn đã đọc các hướng dẫn được cung cấp trong tệp Readme và thiết lập Raspberry Pi của bạn theo nó. Sẽ chỉ mất một chút thời gian để làm như vậy.

Độ cao được tính từ áp suất theo công thức dưới đây:

h = 44330,77 {1 - (p / p0) ^ 0,1902632} + OFF_H (Giá trị đăng ký)

Trong đó p0 = áp suất mực nước biển (101326 Pa) và h tính bằng mét. MPL3115A2 sử dụng giá trị này vì thanh ghi bù được định nghĩa là 2 Pascal trên mỗi LSB.

Mã rõ ràng đang ở trước mặt bạn và nó ở dạng đơn giản nhất mà bạn có thể tưởng tượng và bạn sẽ không gặp vấn đề gì.

Bạn cũng có thể sao chép mã Python đang hoạt động cho cảm biến này từ đây.

# Được phân phối với 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 có sẵn trên ControlEverything.com. #

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, Bus chế độ đo độ cao.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) Đã bật sự kiện dữ liệu sẵn sàng cho bus.write_byte_data (0x60, 0x13, 0x07) # MPL3115A2, 0x60 (96) # Chọn thanh ghi điều khiển, 0x26 (38) # 0xB9 (185) Chế độ hoạt động, OSR = 128, bus.write_byte_data chế độ đo độ cao (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, tạm thời MSB, dữ liệu tạm thời LSB = bus.read_i2c_block_data (0x60, 0x00, 6)

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

tHeight = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 temp = ((data [4] * 256) + (data [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, Bus chế độ phong vũ biểu.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, dữ liệu LSB đặt trước = bus.read_i2c_block_data (0x60, 0x00, 4)

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

pres = ((data [1] * 65536) + (data [2] * 256) + (data [3] & 0xF0)) / 16 áp = (pres / 4.0) / 1000.0

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

print "Áp suất:%.2f kPa"% áp suất in "Cao độ:%.2f m"% độ cao in "Nhiệt độ tính bằng C:%.2f C"% cTemp print "Nhiệt độ tính bằng Fahrenheit:%.2f F"% fTemp

Bước 4: Tính thực tiễn của Quy tắc (Thử nghiệm)

Tính thực tiễn của Quy tắc (Thử nghiệm)
Tính thực tiễn của Quy tắc (Thử nghiệm)

Bây giờ, hãy tải xuống (hoặc git pull) mã và mở nó trong Raspberry Pi.

Chạy các lệnh để Biên dịch và Tải lên mã trong thiết bị đầu cuối và xem kết quả đầu ra trên Màn hình. Sau vài giây, nó sẽ hiển thị tất cả các thông số. Sau khi đảm bảo rằng mọi thứ hoạt động trơn tru, bạn có thể đưa dự án này thành một dự án lớn hơn.

Bước 5: Ứng dụng và tính năng

Việc sử dụng phổ biến của cảm biến I²C đo độ cao chính xác MPL3115A2 là trong các ứng dụng như Bản đồ (Hỗ trợ bản đồ, Điều hướng), La bàn Từ tính, Hoặc GPS (Định vị GPS, Tăng cường GPS cho Dịch vụ Khẩn cấp), Đ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ệ tinh (Thiết bị / Dự báo Trạm Thời tiết).

Ví dụ một dự án chế tạo Máy đo độ cao điện tử cá nhân đo độ cao, áp suất không khí, nhiệt độ bằng Raspberry Pi. Máy đo độ cao điện tử cá nhân là một dự án khá nhanh để xây dựng. Sẽ chỉ mất một vài phút nếu bạn có tất cả các phần và không ứng biến (tất nhiên là bạn có thể!). Máy đo độ cao áp suất là một máy đo độ cao được tìm thấy trong hầu hết các máy bay và những người nhảy dù sử dụng phiên bản đeo trên cổ tay cho các mục đích tương tự. Những người đi bộ đường dài và leo núi sử dụng máy đo độ cao gắn ở cổ tay hoặc cầm tay.

Bước 6: Kết luận

Hy vọng dự án này truyền cảm hứng cho những thử nghiệm sâu hơn. Cảm biến I²C này cực kỳ linh hoạt, rẻ và dễ tiếp cận. Vì nó là một chương trình cực kỳ có thể thay đổi, nên có những cách thú vị để bạn có thể mở rộng dự án này và làm cho nó tốt hơn nữa. Ví dụ, máy đo độ cao là một công cụ tùy chọn trên xe địa hình để hỗ trợ điều hướng. Một số xe sang hiệu suất cao không bao giờ có ý định rời khỏi những con đường trải nhựa, sử dụng công nghệ này. Để thuận tiện cho bạn, chúng tôi có một video hướng dẫn thú vị trên YouTube có thể giúp bạn khám phá. Hy vọng dự án này truyền cảm hứng cho những thử nghiệm sâu hơn.

Đề xuất: