Mục lục:

Theo dõi nhiệt độ và độ ẩm bằng SHT25 và Raspberry Pi: 5 bước
Theo dõi nhiệt độ và độ ẩm bằng SHT25 và Raspberry Pi: 5 bước

Video: Theo dõi nhiệt độ và độ ẩm bằng SHT25 và Raspberry Pi: 5 bước

Video: Theo dõi nhiệt độ và độ ẩm bằng SHT25 và Raspberry Pi: 5 bước
Video: Giám sát nhiệt độ và độ ẩm trên điện thoại sử dụng blynk iot - dht11 và kít wifi node mcu esp8266 2024, Tháng mười hai
Anonim
Image
Image

Gần đây, chúng tôi đã làm việc trên các dự án khác nhau yêu cầu theo dõi nhiệt độ và độ ẩm và sau đó chúng tôi nhận ra rằng hai thông số này thực sự đóng vai trò quan trọng trong việc ước tính hiệu quả làm việc của một hệ thống. Cả ở cấp độ công nghiệp và hệ thống cá nhân, mức nhiệt độ tối ưu là điều kiện cần thiết để hệ thống hoạt động hiệu quả.

Đây là lý do, trong hướng dẫn này, chúng tôi sẽ giải thích hoạt động của cảm biến nhiệt độ và độ ẩm SHT25 sử dụng raspberry pi. Trong hướng dẫn cụ thể này, hoạt động của nó được chứng minh bằng cách sử dụng mã java.

Phần cứng bạn cần cho mục đích này là:

1. SHT25

2. Raspberry Pi

3. Cáp I2C

4. Tấm chắn I2C cho mâm xôi pi

Bước 1: Tổng quan SHT25:

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

Trước hết, hãy bắt đầu với những hiểu biết cơ bản về cảm biến và giao thức mà nó hoạt động.

SHT25 I2C Cảm biến độ ẩm và nhiệt độ ± 1,8% RH ± 0,2 ° C I2C Mini Module. Đó là cảm biến nhiệt độ và độ ẩm có độ chính xác cao đã trở thành một tiêu chuẩn công nghiệp về yếu tố hình thức và thông minh, cung cấp các tín hiệu cảm biến đã được hiệu chỉnh, tuyến tính ở định dạng kỹ thuật số, I2C. Được tích hợp với mạch kỹ thuật số và tương tự chuyên dụng, cảm biến này là một trong những thiết bị hiệu quả nhất để đo nhiệt độ và độ ẩm.

Giao thức truyền thông mà cảm biến hoạt động là I2C. I2C là viết tắt của mạch tích hợp liên. Nó là một giao thức truyền thông trong đó giao tiếp diễn ra thông qua các đường SDA (dữ liệu nối tiếp) và SCL (đồng hồ nối tiếp). Nó cho phép kết nối nhiều thiết bị cùng lúc. Nó là một trong những giao thức truyền thông đơn giản và hiệu quả nhất.

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

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

Các tài liệu mà chúng tôi cần để hoàn thành mục tiêu của mình bao gồm các thành phần phần cứng sau:

1. Cảm biến nhiệt độ và độ ẩm SHT25

2. Raspberry pi

3. Cáp I2C

4. I2C Shield cho Raspberry Pi

5. Cáp Ethernet

Bước 3: Kết nối phần cứng:

Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng
Kết nối phần cứng

Phần kết nối phần cứng về cơ bản giải thích các kết nối dây cần thiết giữa cảm biến và pi raspberry. Đảm bảo các kết nối chính xác là điều cần thiết cơ bản trong khi làm việc trên bất kỳ hệ thống nào để có kết quả đầu ra mong muốn. Vì vậy, các kết nối cần thiết như sau:

  • SHT25 sẽ hoạt động trên I2C. Đây là sơ đồ đấu dây ví dụ, minh họa cách đấu dây cho từng giao diện của cảm biến.
  • Ngoài ra, bo mạch được định cấu hình cho giao diện I2C, vì vậy, chúng tôi khuyên bạn nên sử dụng kết nối này nếu bạn không có kiến thức khác. Tất cả những gì bạn cần là bốn dây!
  • Chỉ cần bốn kết nối là chân Vcc, Gnd, SCL và SDA và chúng được kết nối với sự trợ giúp của cáp I2C.

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

Bước 4: Giám sát nhiệt độ và độ ẩm Mã Java:

Giám sát nhiệt độ và độ ẩm Mã Java
Giám sát nhiệt độ và độ ẩm Mã Java
Giám sát nhiệt độ và độ ẩm Mã Java
Giám sát nhiệt độ và độ ẩm Mã Java

Lợi thế của việc sử dụng raspberry pi là cung cấp cho bạn sự linh hoạt của ngôn ngữ lập trình mà bạn muốn lập trình bo mạch để giao diện cảm biến với nó. Khai thác lợi thế này của bảng này, chúng tôi đang trình diễn ở đây khả năng lập trình của nó trong Java. Mã Java cho SHT25 có thể được tải xuống từ cộng đồng github của chúng tôi là Dcube Store.

Cũng như để người dùng dễ dàng sử dụng, chúng tôi cũng giải thích mã ở đây:

Là bước đầu tiên của mã hóa, bạn cần tải xuống thư viện pi4j trong trường hợp của java, vì thư viện này hỗ trợ các chức năng được sử dụng trong mã. Vì vậy, để tải thư viện, bạn có thể truy cập liên kết sau:

pi4j.com/install.html

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

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; public class SHT25 {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, địa chỉ I2C SHT25 là 0x40 (64) I2CDevice device = Bus.getDevice (0x40); // Gửi lệnh đo nhiệt độ, KHÔNG HOLD master device.write ((byte) 0xF3); Thread.sleep (500); // Đọc 2 byte dữ liệu // temp msb, temp lsb byte data = new byte [2]; device.read (dữ liệu, 0, 2); // Chuyển đổi dữ liệu double cTemp = ((((((dữ liệu [0] & 0xFF) * 256) + (dữ liệu [1] & 0xFF)) * 175.72) / 65536.0) - 46.85; double fTemp = (cTemp * 1.8) + 32; // Gửi lệnh đo độ ẩm, NO HOLD master device.write ((byte) 0xF5); Thread.sleep (500); // Đọc 2 byte dữ liệu // độ ẩm msb, độ ẩm lsb device.read (data, 0, 2); // Chuyển đổi dữ liệu kép độ ẩm = ((((((dữ liệu [0] & 0xFF) * 256) + (dữ liệu [1] & 0xFF)) * 125.0) / 65536.0) - 6; // Xuất dữ liệu ra màn hình System.out.printf ("Độ ẩm tương đối:%.2f%% RH% n", độ ẩm); System.out.printf ("Nhiệt độ tính bằng C:%.2f C% n", cTemp); System.out.printf ("Nhiệt độ ở Farhenheit:%.2f F% n", fTemp); }}

Đầu ra của mã cũng được hiển thị trong hình trên.

Thư viện hỗ trợ giao tiếp i2c giữa cảm biến và bo mạch là pi4j, các gói khác nhau của nó I2CBus, I2CDevice và I2CFactory giúp thiết lập kết nối.

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;

Phần mã này làm cho cảm biến hoạt động để đo nhiệt độ và đo độ ẩm bằng cách viết các lệnh tương ứng bằng cách sử dụng hàm write () và sau đó dữ liệu được đọc bằng hàm read ().

device.write ((byte) 0xF3);

Thread.sleep (500);

// Đọc 2 byte dữ liệu

// tạm thời msb, tạm thời lsb

byte data = byte mới [2];

device.read (dữ liệu, 0, 2);

// Gửi lệnh đo độ ẩm, NO HOLD master

device.write ((byte) 0xF5);

Thread.sleep (500);

// Đọc 2 byte dữ liệu

// độ ẩm msb, độ ẩm lsb

device.read (dữ liệu, 0, 2);

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

Cảm biến nhiệt độ và độ ẩm tương đối SHT25 có các ứng dụng công nghiệp khác nhau như giám sát nhiệt độ, bảo vệ nhiệt ngoại vi máy tính. Chúng tôi cũng đã sử dụng cảm biến này vào các ứng dụng trạm thời tiết cũng như hệ thống giám sát nhà kính.

Đề xuất: