Mục lục:
- Bước 1: Thiết bị bắt buộc chúng ta cần
- Bước 2: Kết nối phần cứng để ghép mạch lại với nhau
- Bước 3: Lập trình Raspberry Pi bằng Python
- Bước 4: Tính thực tiễn của Quy tắc (Thử nghiệm)
- Bước 5: Ứng dụng và tính năng
- Bước 6: Kết luận
Video: Độ cao, áp suất và nhiệt độ sử dụng Raspberry Pi với MPL3115A2: 6 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
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
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
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
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)
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:
Máy đo độ cao (máy đo độ cao) Dựa trên áp suất khí quyển: 7 bước (có hình ảnh)
Máy đo độ cao (Máy đo độ cao) Dựa trên Áp suất khí quyển: [Chỉnh sửa]; Xem phiên bản 2 ở bước 6 với đầu vào độ cao cơ sở theo cách thủ công Đây là mô tả cấu trúc của Máy đo độ cao (Máy đo độ cao) dựa trên Arduino Nano và cảm biến áp suất khí quyển BMP180 của Bosch. Thiết kế đơn giản nhưng các phép đo
Dụng cụ đo nhiệt độ đơn giản và rẻ tiền sử dụng nhiệt điện trở: 5 bước
Dụng cụ đo nhiệt độ đơn giản và rẻ tiền sử dụng nhiệt điện trở: cảm biến nhiệt độ đơn giản và rẻ tiền sử dụng nhiệt điện trở nhiệt NTC thay đổi điện trở của nó theo thời gian thay đổi bằng cách sử dụng đặc tính này, chúng tôi đang xây dựng cảm biến nhiệt độ để biết thêm về nhiệt điện trở https://en.wikipedia.org/wiki/ Thermistor
Sử dụng Raspberry Pi, đo độ cao, áp suất và nhiệt độ với MPL3115A2: 6 bước
Sử dụng Raspberry Pi, đo độ cao, áp suất và nhiệt độ với MPL3115A2: Biết những gì bạn sở hữu và biết tại sao bạn sở hữu nó! Điều đó thật hấp dẫn. Chúng ta đang sống trong thời đại Internet Tự động hóa khi nó lao vào rất nhiều ứng dụng mới. Là những người đam mê máy tính và điện tử, chúng tôi đã học hỏi được rất nhiều điều với Raspberry Pi một
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: 5 bước
Cách sử dụng cảm biến nhiệt độ DHT11 với Arduino và nhiệt độ in Nhiệt độ và độ ẩm: Cảm biến DHT11 được sử dụng để đo nhiệt độ và độ ẩm. Họ là những người rất ưa thích đồ điện tử. Cảm biến nhiệt độ và độ ẩm DHT11 giúp bạn thực sự dễ dàng thêm dữ liệu độ ẩm và nhiệt độ vào các dự án điện tử tự làm của mình. Đó là mỗi
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart.: 7 bước (có hình ảnh)
Nhiệt kế nấu ăn đầu dò nhiệt độ ESP32 NTP với cảnh báo nhiệt độ và hiệu chỉnh Steinhart-Hart. là một chương trình Có thể hướng dẫn cho thấy cách tôi thêm đầu dò nhiệt độ NTP, piezo b