Đọ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é.
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:
Tên linh kiện | Số lượng | Shopee |
Arduino Uno R3 | 1 | Mua ngay |
Dây cáp nạp | 1 | Mua ngay |
Cảm biến nhiệt độ, độ ẩm DHT11 | 1 | Mua ngay |
Breadboard (Board Test) | 1 | Mua ngay |
Dây cắm (Đực – Đực) | 1 | Mua ngay |
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).
- Để hiểu hơn về hàm Serial.print() và Serial.println() các bạn xem bài viết ở đây nhé:Xem ngay.
Chúng ta tiến hành Upload chương trình và bật Serial Monitor lên để xem kết quả nhé.
Lời kết
Qua bài hôm nay các bạn biết cách làm thế nào để đọc một cảm biến nhiệt độ, độ ẩm DHT11, và hiểu hơn về cách giao tiếp của chúng.
Để nhận được nhiều kiến thức mới các bạn Đăng ký để nhận được thông báo sớm nhất.
Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino.
Nếu các bạn thấy bài viết bổ ích nhớ Like và Share cho mọi người cùng đọc nhé.
Chúc các bạn thành công.
Trân trọng.