Xây dựng hệ thống giám sát nhiệt độ và độ ẩm không khí bằng Arduino và DHT11

essays-star4(224 phiếu bầu)

Trong thời đại công nghệ hiện nay, việc giám sát và kiểm soát môi trường sống trở nên ngày càng quan trọng. Nhiệt độ và độ ẩm là hai yếu tố ảnh hưởng trực tiếp đến sức khỏe con người và hoạt động của các thiết bị điện tử. Bài viết này sẽ hướng dẫn bạn cách xây dựng một hệ thống giám sát nhiệt độ và độ ẩm không khí đơn giản bằng Arduino và cảm biến DHT11. Hệ thống này có thể được ứng dụng trong nhiều lĩnh vực như nhà ở, nhà kính, kho hàng, phòng máy chủ, v.v.

<h2 style="font-weight: bold; margin: 12px 0;">Cảm biến DHT11 và Arduino</h2>

Cảm biến DHT11 là một cảm biến nhiệt độ và độ ẩm giá rẻ, dễ sử dụng và phổ biến trong các dự án Arduino. Cảm biến này có thể đo nhiệt độ từ 0°C đến 50°C và độ ẩm từ 20% đến 90% RH. Arduino là một nền tảng điện tử mã nguồn mở được sử dụng rộng rãi trong các dự án DIY và giáo dục. Arduino cung cấp một môi trường lập trình đơn giản và dễ học, cho phép người dùng điều khiển các thiết bị ngoại vi như cảm biến DHT11.

<h2 style="font-weight: bold; margin: 12px 0;">Chuẩn bị vật liệu</h2>

Để xây dựng hệ thống giám sát nhiệt độ và độ ẩm không khí bằng Arduino và DHT11, bạn cần chuẩn bị các vật liệu sau:

* Một bo mạch Arduino (ví dụ: Arduino Uno)

* Một cảm biến DHT11

* Một màn hình LCD 16x2

* Một số dây nối jumper

* Nguồn điện 5V cho Arduino

<h2 style="font-weight: bold; margin: 12px 0;">Kết nối các thành phần</h2>

Sau khi đã chuẩn bị đầy đủ các vật liệu, bạn cần kết nối các thành phần với nhau theo sơ đồ sau:

* Kết nối chân VCC của cảm biến DHT11 với chân 5V của Arduino.

* Kết nối chân GND của cảm biến DHT11 với chân GND của Arduino.

* Kết nối chân DATA của cảm biến DHT11 với chân số 2 của Arduino.

* Kết nối chân RS của màn hình LCD với chân số 12 của Arduino.

* Kết nối chân RW của màn hình LCD với chân số 11 của Arduino.

* Kết nối chân E của màn hình LCD với chân số 10 của Arduino.

* Kết nối chân D4, D5, D6, D7 của màn hình LCD với các chân số 5, 4, 3, 2 của Arduino.

<h2 style="font-weight: bold; margin: 12px 0;">Viết chương trình Arduino</h2>

Sau khi kết nối các thành phần, bạn cần viết chương trình Arduino để đọc dữ liệu từ cảm biến DHT11 và hiển thị lên màn hình LCD. Chương trình Arduino có thể được viết như sau:

```cpp

<h2 style="font-weight: bold; margin: 12px 0;">include <DHT.h></h2><h2 style="font-weight: bold; margin: 12px 0;">include <LiquidCrystal.h></h2>

// Khai báo chân kết nối cảm biến DHT11

<h2 style="font-weight: bold; margin: 12px 0;">define DHTPIN 2</h2>// Khai báo loại cảm biến DHT11

<h2 style="font-weight: bold; margin: 12px 0;">define DHTTYPE DHT11</h2>

// Khai báo chân kết nối màn hình LCD

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Khởi tạo đối tượng cảm biến DHT11

DHT dht(DHTPIN, DHTTYPE);

void setup() {

// Khởi tạo giao tiếp nối tiếp

Serial.begin(9600);

// Khởi tạo màn hình LCD

lcd.begin(16, 2);

// Hiển thị tiêu đề trên màn hình LCD

lcd.print("Nhiet do: ");

lcd.setCursor(0, 1);

lcd.print("Do am: ");

}

void loop() {

// Đọc dữ liệu từ cảm biến DHT11

float humidity = dht.readHumidity();

float temperature = dht.readTemperature();

// Kiểm tra xem dữ liệu có hợp lệ hay không

if (isnan(humidity) || isnan(temperature)) {

Serial.println("Failed to read from DHT sensor!");

return;

}

// Hiển thị dữ liệu lên màn hình LCD

lcd.setCursor(9, 0);

lcd.print(temperature);

lcd.print("C");

lcd.setCursor(9, 1);

lcd.print(humidity);

lcd.print("%");

// In dữ liệu ra giao tiếp nối tiếp

Serial.print("Humidity: ");

Serial.print(humidity);

Serial.print(" % ");

Serial.print("Temperature: ");

Serial.print(temperature);

Serial.println(" C");

// Chờ 2 giây trước khi đọc lại dữ liệu

delay(2000);

}

```

<h2 style="font-weight: bold; margin: 12px 0;">Cài đặt và chạy chương trình</h2>

Sau khi viết xong chương trình, bạn cần cài đặt chương trình vào bo mạch Arduino và chạy chương trình. Chương trình sẽ đọc dữ liệu từ cảm biến DHT11 và hiển thị lên màn hình LCD. Bạn có thể theo dõi dữ liệu nhiệt độ và độ ẩm trên màn hình LCD hoặc trên giao tiếp nối tiếp của Arduino.

<h2 style="font-weight: bold; margin: 12px 0;">Ứng dụng của hệ thống giám sát</h2>

Hệ thống giám sát nhiệt độ và độ ẩm không khí bằng Arduino và DHT11 có thể được ứng dụng trong nhiều lĩnh vực như:

* <strong style="font-weight: bold;">Nhà ở:</strong> Giám sát nhiệt độ và độ ẩm trong nhà để đảm bảo môi trường sống thoải mái và an toàn.

* <strong style="font-weight: bold;">Nhà kính:</strong> Giám sát nhiệt độ và độ ẩm trong nhà kính để tối ưu hóa điều kiện sinh trưởng của cây trồng.

* <strong style="font-weight: bold;">Kho hàng:</strong> Giám sát nhiệt độ và độ ẩm trong kho hàng để bảo quản hàng hóa một cách tốt nhất.

* <strong style="font-weight: bold;">Phòng máy chủ:</strong> Giám sát nhiệt độ và độ ẩm trong phòng máy chủ để đảm bảo hoạt động ổn định của các thiết bị máy tính.

<h2 style="font-weight: bold; margin: 12px 0;">Kết luận</h2>

Hệ thống giám sát nhiệt độ và độ ẩm không khí bằng Arduino và DHT11 là một giải pháp đơn giản, hiệu quả và tiết kiệm chi phí. Hệ thống này có thể được ứng dụng trong nhiều lĩnh vực khác nhau, giúp bạn giám sát và kiểm soát môi trường sống một cách hiệu quả.