Đã được đăng vào 11/12/2019 @ 11:13
Đọc nhiệt độ, độ ẩm (DHT11) sử dụng Arduino Uno
Cảm biến nhiệt độ, độ ẩm DHT11 là gì?
Ứng dụng trong thực tế ra sao?
Cảm biến dùng chuẩn giao tiếp gì?
Là những câu hỏi mà những ai mới nhập môn đều muốn biết.
Qua bài viết hôm này chúng ta cùng nhau tìm hiểu nhé.
Xem thêm:
- Đo nhiệt độ bằng Cảm biến LM35 sử dụng Arduino Uno
- Hiển thị nhiệt độ, độ ẩm lên LCD 16×2 giao tiếp bằng I2C sử dụng Arduino
- Cảm biến độ ẩm | Hệ thống tưới tự động sử dụng Arduino
Cảm biến nhiệt độ, độ ẩm DHT11
Cảm biến độ ẩm và nhiệt độ DHT11 là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu thông qua chuẩn giao tiếp 1 wire.
Chuẩn giao tiếp 1 wire là dùng 1 chân Digital để truyền dữ liệu.
Bộ tiền xử lý tín hiệu được tích hợp trong cảm biến giúp bạn có thể đọc dữ liệu chính xác mà không phải qua bất kỳ tính toán nào.

Thông số kỹ thuật của cảm biến:
- Điện áp hoạt động: 3V – 5V (DC)
- Dãi độ ẩm hoạt động: 20% – 90% RH, sai số ±5%RH
- Dãi nhiệt độ hoạt động: 0°C ~ 50°C, sai số ±2°C
- Khoảng cách truyển tối đa: 20m
Các bạn download và cài đặt thư viện hỗ trợ sử dụng DHT11: Tại đây
Sơ đồ đấu nối
Arduino Uno | Cảm biến nhiệt độ, độ ẩm DHT11 |
5V | VCC |
GND | GND |
D4 | DATA |

Các linh kiện cần thiết cho dự án:
- Arduino UNO
- Cảm biến nhiệt độ, độ ẩm DHT11
Code mẫu
#include "DHT.h"
const int DHTPIN = 4;
const int DHTTYPE = DHT11;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
}
void loop() {
float h = dht.readHumidity();
float t = dht.readTemperature();
Serial.print("Nhiet do: ");
Serial.println(t);
Serial.print("Do am: ");
Serial.println(h);
Serial.println();
delay(1000);
}
Giải thích code
Khai báo chân kết nối cho cảm biến DHT ở đây mình dùng chân D4 trên Arduino Uno.
const int DHTPIN = 4;
const int DHTTYPE = DHT11;
Thư viện DHT.h được khai báo sử dụng cho 2 loại cảm biến là DHT11 và DHT22.
Trong bài viết mình giới thiệu cảm biến nhiệt độ, độ ẩm DHT11, nên chúng ta cần phải khai báo là DHTTYPE là DHT11.
float h = dht.readHumidity(); // Đọc giá trị nhiệt độ từ cảm biến
float t = dht.readTemperature(); // Đọc giá trị độ ẩm từ cảm biến
Ở trên là hai biến đọc giá trị nhiệt độ và độ ẩm.
Serial.print("Nhiet do: ");
Serial.println(t);
Serial.print("Do am: ");
Serial.println(h);
In giá trị nhiệt độ, độ ẩm lên màn hình (Serial Monitor).
Chúng ta tiến hành Upload chương trình và bật Serial Monitor lên để xem kết quả nhé.

Nguồn: arduinokit.vn
Bình luận mới nhất