🔹 Giới thiệu
Trong bài viết này, bạn sẽ học cách lập trình cảm biến nhiệt độ DHT11 với Arduino từng bước, từ sơ đồ kết nối đến code đọc dữ liệu thực tế.
Cảm biến DHT11 là một trong những linh kiện phổ biến nhất trong các dự án Arduino, lập trình DHT11 Arduino vì nó vừa rẻ, dễ dùng, lại có thể đo được nhiệt độ và độ ẩm cùng lúc.
Bài viết này sẽ hướng dẫn bạn kết nối, lập trình và hiển thị kết quả đo từ DHT11 lên Serial Monitor hoặc màn hình LCD.
🔹 Thành phần cần chuẩn bị :
| Tên linh kiện | Số lượng | Ghi chú |
|---|---|---|
| Bo Arduino Uno | 1 | Có thể thay bằng Nano, Mega |
| Cảm biến DHT11 | 1 | Loại module 3 chân hoặc cảm biến rời |
| Dây cắm (jumper) | 3–5 | Dùng để nối tín hiệu |
| Màn hình LCD 16×2 (tuỳ chọn) | 1 | Để hiển thị kết quả trực quan |
| Dây USB | 1 | Kết nối với máy tính để nạp code |
🔹 Sơ đồ kết nối DHT11 với Arduino
| Chân DHT11 | Kết nối tới Arduino |
|---|---|
| VCC | 5V |
| DATA | Chân số 2 |
| GND | GND |
💡 Lưu ý: Nếu bạn dùng DHT11 dạng module, có thể có thêm điện trở 10KΩ tích hợp sẵn, bạn không cần thêm bên ngoài.
Xem thêm: Arduino là gì? Hướng dẫn chi tiết cho người mới bắt đầu
Xem Thêm : Giao Tiếp arduino không dây
🔹 Lập trình Arduino đọc dữ liệu DHT11
Bước 1: Cài đặt thư viện DHT
- Mở Arduino IDE →
Sketch→Include Library→Manage Libraries… - Tìm và cài “DHT sensor library by Adafruit”
- Đồng thời cài thêm thư viện Adafruit Unified Sensor
Bước 2: Sao chép đoạn code sau vào Arduino IDE

#include "DHT.h"
#define DHTPIN 2 // Chân DATA nối vào D2
#define DHTTYPE DHT11 // Loại cảm biến DHT11
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
Serial.println("Đang đọc dữ liệu từ cảm biến DHT11...");
}
void loop() {
float h = dht.readHumidity(); // Đọc độ ẩm
float t = dht.readTemperature(); // Đọc nhiệt độ
if (isnan(h) || isnan(t)) {
Serial.println("Lỗi: Không đọc được dữ liệu từ cảm biến!");
return;
}
Serial.print("Nhiệt độ: ");
Serial.print(t);
Serial.print(" °C | Độ ẩm: ");
Serial.print(h);
Serial.println(" %");
delay(2000); // Cập nhật mỗi 2 giây
}
🔹 Giải thích mã nguồn
DHT.h: Thư viện giúp Arduino giao tiếp với cảm biến.DHTPIN: Chân mà bạn nối dây DATA của cảm biến.readHumidity()vàreadTemperature(): Hai hàm chính để lấy giá trị đo.delay(2000): Lặp lại việc đọc dữ liệu sau mỗi 2 giây để tránh sai số.
🔹 Kết quả sau khi chạy chương trình
Khi bạn mở Serial Monitor (Ctrl + Shift + M), bạn sẽ thấy:
Đang đọc dữ liệu từ cảm biến DHT11...
Nhiệt độ: 30.4 °C | Độ ẩm: 68.0 %
Nếu cảm biến hoạt động bình thường, giá trị sẽ thay đổi theo môi trường thực tế.
🔹 Mở rộng (nâng cao)
- Hiển thị dữ liệu lên LCD hoặc OLED.
- Gửi dữ liệu qua Wi-Fi (ESP8266) để giám sát online.
- Cảnh báo khi nhiệt độ vượt ngưỡng bằng LED hoặc còi báo.
🟢 Kết luận
Cảm biến DHT11 là lựa chọn hoàn hảo cho người mới bắt đầu học Arduino, giúp bạn làm quen với đọc dữ liệu từ cảm biến, xử lý và hiển thị. đọc nhiệt độ và độ ẩm DHT11
Chỉ cần vài dòng code lập trình cảm biến nhiệt độ DHT11 với Arduino là bạn đã có thể tạo một thiết bị đo nhiệt độ và độ ẩm mini, ứng dụng được trong học tập, nhà thông minh hoặc IoT cơ bản.
Tham khảo thêm tại trang chính thức của Arduino: arduino.cc
