Mục lục:

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

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

Video: Theo dõi nhiệt độ và độ ẩm bằng SHT25 và Arduino Nano: 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 một
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 với Arduino Nano.

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 độ ẩm và nhiệt độ SHT25

2. Arduino Nano

3. Cáp I2C

4. Lá chắn I2C cho Arduino nano

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à arduino nano. Đả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: Mã giám sát nhiệt độ và độ ẩm:

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

Hãy bắt đầu với mã Arduino ngay bây giờ.

Trong khi sử dụng mô-đun cảm biến với Arduino, chúng tôi bao gồm thư viện Wire.h. Thư viện "Wire" chứa các chức năng hỗ trợ giao tiếp i2c giữa cảm biến và bảng Arduino.

Toàn bộ mã Arduino được cung cấp bên dưới để thuận tiện cho người dùng:

#bao gồm

// Địa chỉ I2C SHT25 là 0x40 (64)

#define Addr 0x40

void setup ()

{

// Khởi tạo giao tiếp I2C dưới dạng MASTER

Wire.begin ();

// Khởi tạo giao tiếp nối tiếp, đặt tốc độ truyền = 9600

Serial.begin (9600);

chậm trễ (300);

}

void loop ()

{

dữ liệu int không dấu [2];

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr);

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

Wire.write (0xF5);

// Dừng truyền I2C

Wire.endTransmission ();

chậm trễ (500);

// Yêu cầu 2 byte dữ liệu

Wire.requestFrom (Addr, 2);

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

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

if (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Chuyển đổi dữ liệu

độ ẩm phao = (((dữ liệu [0] * 256.0 + dữ liệu [1]) * 125.0) / 65536.0) - 6;

// Xuất dữ liệu ra Serial Monitor

Serial.print ("Độ ẩm Tương đối:");

Serial.print (độ ẩm);

Serial.println ("% RH");

}

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr);

// Gửi lệnh đo nhiệt độ, NO HOLD master

Wire.write (0xF3);

// Dừng truyền I2C

Wire.endTransmission ();

chậm trễ (500);

// Yêu cầu 2 byte dữ liệu

Wire.requestFrom (Addr, 2);

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

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

if (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Chuyển đổi dữ liệu

float cTemp = (((dữ liệu [0] * 256.0 + dữ liệu [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

// Xuất dữ liệu ra Serial Monitor

Serial.print ("Nhiệt độ tính bằng độ C:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("Nhiệt độ tính bằng Fahrenheit:");

Serial.print (fTemp);

Serial.println ("F");

}

chậm trễ (300);

}

Tất cả những gì bạn cần làm là ghi mã trong Arduino và kiểm tra các kết quả đọc của bạn trên cổng nối tiếp. Đầu ra được hiển thị trong hình trên.

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

Các ứng dụng
Các ứ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: