Mục lục:
- Bước 1: Thiết bị không thể thiếu mà 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 trong Java
- Bước 4: Tính thực tiễn của Quy tắc (Hoạt động)
- Bước 5: Ứng dụng và tính năng
- Bước 6: Kết luận
Video: Sử dụng Raspberry Pi, đo độ cao, áp suất và nhiệt độ 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:33
Biết những gì bạn sở hữu, và biết tại sao bạn sở hữu nó
Nó 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 và quyết định kết hợp sở thích của mình. Dự án này mất khoảng một giờ nếu bạn chưa quen với kết nối I²C và thiết lập Phần mềm. Đây là một cách tuyệt vời để mở rộng khả năng của MPL3115A2 với Raspberry Pi trong Java.
Bước 1: Thiết bị không thể thiếu mà chúng ta cần
1. Raspberry Pi
Bước đầu tiên là lấy một bảng Raspberry Pi. Thiên tài nhỏ bé này được sử dụng bở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. I2C 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 về Áp suất, Độ cao và Nhiệt độ. Cảm biến này sử dụng giao thức I²2 để 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 đã sử dụng cáp kết nối I²C có sẵn tại Dcube Store.
5. Cáp micro USB
Raspberry Pi được cung cấp bởi nguồn cung cấp micro USB.
6. Tăng cường truy cập Internet - Cáp Ethernet / Mô-đun WiFi
Một trong những điều đầu tiên bạn cần làm là kết nối Raspberry Pi với Internet. Bạn có thể kết nối bằng cáp Ethernet hoặc với bộ điều hợp WiFi Nano USB không dây.
7. Cáp HDMI (Tùy chọn, Lựa chọn của bạn)
Bạn có thể kết nối Raspberry Pi với màn hình bằng cáp HDMI. Ngoài ra, bạn có thể truy cập từ xa Raspberry Pi của mình bằng cách sử dụng SSH / PuTTY.
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ị, nhìn chung, các kết nối khá đơn giản. Làm theo hướng dẫn và hình ảnh ở trên, 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
Đối với điều này, Raspberry Pi và đặt I²C Shield trê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 đó. Đơn giản như thế này!
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à tối quan trọng
Để làm cho dự án của chúng tôi thành công, chúng tôi cần có kết nối Internet cho Raspberry Pi của mình. Trong phần này, bạn có các tùy chọn như kết nối cáp Ethernet (LAN). Ngoài ra, như một cách thay thế nhưng ấn tượng để sử dụng bộ điều hợp WiFi.
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. Bật nó lên và thì đấy, chúng tôi rất tốt để đ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àn hình hoặc chúng tôi có thể sáng tạo một chút để tạo ra Pi không đầu (sử dụng -SSH / PuTTY), giúp cắt giảm thêm chi phí vì chúng tôi là những người có sở thích về mặt nào đó.
Khi một thói quen bắt đầu tiêu tốn tiền bạc, nó được gọi là một sở thích
Bước 3: Lập trình Raspberry Pi trong Java
Mã Java cho cảm biến Raspberry Pi và MPL3115A2. 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 rằng 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 bằng 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ã Java đ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 từ ControlEverything.com. //
nhập com.pi4j.io.i2c. I2CBus;
nhập com.pi4j.io.i2c. I2CDevice; nhập com.pi4j.io.i2c. I2CFactory; nhập java.io. IOException;
lớp công khai MPL3115A2
{public static void main (String args ) throws Exception {// Tạo I2C bus I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // Lấy thiết bị I2C, MPL3115A2 địa chỉ I2C là 0x60 (96) I2CDevice device = Bus.getDevice (0x60); // Chọn thanh ghi điều khiển // Chế độ hoạt động, OSR = 128, chế độ đo độ cao device.write (0x26, (byte) 0xB9); // Chọn thanh ghi cấu hình dữ liệu // Sự kiện sẵn sàng dữ liệu được kích hoạt cho độ cao, áp suất, nhiệt độ device.write (0x13, (byte) 0x07); // Chọn thanh ghi điều khiển // Chế độ hoạt động, OSR = 128, chế độ đo độ cao device.write (0x26, (byte) 0xB9); Thread.sleep (1000);
// Đọc 6 byte dữ liệu từ địa chỉ 0x00 (00)
// trạng thái, tHeight msb1, tHeight msb, tHeight lsb, temp msb, temp lsb byte data = new byte [6]; device.read (0x00, dữ liệu, 0, 6);
// Chuyển đổi dữ liệu thành 20 bit
int tHeight = ((((dữ liệu [1] & 0xFF) * 65536) + ((dữ liệu [2] & 0xFF) * 256) + (dữ liệu [3] & 0xF0)) / 16); int temp = ((dữ liệu [4] * 256) + (dữ liệu [5] & 0xF0)) / 16; độ cao kép = tHeight / 16,0; double cTemp = (temp / 16.0); double fTemp = cTemp * 1.8 + 32;
// Chọn thanh ghi điều khiển
// Chế độ hoạt động, OSR = 128, chế độ phong vũ biểu device.write (0x26, (byte) 0x39); Thread.sleep (1000); // Đọc 4 byte dữ liệu từ địa chỉ 0x00 (00) // status, pres msb1, pres msb, pres lsb device.read (0x00, data, 0, 4);
// Chuyển đổi dữ liệu thành 20 bit
int pres = (((dữ liệu [1] & 0xFF) * 65536) + ((dữ liệu [2] & 0xFF) * 256) + (dữ liệu [3] & 0xF0)) / 16; áp suất kép = (trước / 4.0) / 1000.0; // Xuất dữ liệu ra màn hình System.out.printf ("Áp suất:%.2f kPa% n", áp suất); System.out.printf ("Độ cao:%.2f m% n", độ cao); System.out.printf ("Nhiệt độ tính bằng C:%.2f C% n", cTemp); System.out.printf ("Nhiệt độ tính bằng F:%.2f F% n", fTemp); }}
Bước 4: Tính thực tiễn của Quy tắc (Hoạt động)
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ã trên 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 đ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 (GPS Dead Reckoning, 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ụ Sử dụng cảm biến này và Rasp Pi, bạn có thể xây dựng Máy đo độ cao hình ảnh kỹ thuật số, phần quan trọng nhất của thiết bị nhảy dù, có thể đo độ cao, áp suất không khí và nhiệt độ. Bạn có thể thêm gạc gió và các cảm biến khác để tạo ra nhiều cảm biến thú vị hơn.
Bước 6: Kết luận
Vì chương trình có thể tùy chỉnh một cách đáng kinh ngạc, nên có nhiều 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ột máy đo độ cao / giao thoa kế sẽ bao gồm một số máy đo độ cao gắn trên cột buồm sẽ thu được các phép đo đồng thời, do đó cung cấp phạm vi phủ sóng diện rộng liên tục, một hoặc nhiều máy đo độ cao. Chúng tôi có một video hướng dẫn thú vị trên YouTube có thể giúp bạn hiểu rõ hơn về dự án này.
Đề 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
Độ 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: Nghe thật 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ẽ
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
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