Đọc nhiệt độ, độ ẩm (DHT11) sử dụng Arduino Uno

27 Tháng 04 2019 | Đăng bởi: Lực Nguyễn

 

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.

dht11-ardunio

Module cảm biến nhiệt độ, độ ẩm DHT11.

 

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

 

 

 nguyen-ly-arduino-uno-dht11

Các linh kiện cần thiết cho dự án:

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é.

 

serial-monitor-arduino

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ớ LikeShare cho mọi người cùng đọc nhé.

 

Chúc các bạn thành công.

Trân trọng.

Bài viết liên quan

Viết bình luận: