Đo Nhiệt độ Và độ ẩm Dùng Cảm Biến DHT11 Và Arduino - Điện Tử Việt
Có thể bạn quan tâm
- Đăng nhập/Đăng ký
- Ứng dụng
- Arduino
- Kiến thức
- Cảm biến
DHT11 là một cảm biến nhiệt độ và độ ẩm, nó xuất tín hiệu số được hiệu chuẩn ở ngõ ra. DHT11 có thể được giao tiếp với bất kỳ vi điều khiển như Arduino, Raspberry Pi, v.v.. và có được kết quả tức thời. DHT11 là cảm biến nhiệt độ và độ ẩm giá rẻ, mang lại độ tin cậy cao và ổn định lâu dài.
Trong dự án này, chúng ta sẽ xây dựng một mạch nhỏ để giao tiếp Arduino với cảm biến nhiệt độ và độ ẩm DHT11. Một trong những ứng dụng chính của kết nối cảm biến DTH11 với Arduino là theo dõi thời tiết.
Chuẩn bị
Phần cứng
Linh kiện | Số lượng |
Arduino | 1 |
Cảm biến DHT11 | 1 |
Màn hình LCD 16×2 | 1 |
Biến trở 10kΩ | 1 |
Điện trở 5kΩ | 1 |
Breadboard | 1 |
Dây cắm breadboard |
Phần mềm: Arduino IDE
Cảm biến nhiệt độ và độ ẩm DHT11
DHT11 là cảm biến nhiệt độ, độ ẩm 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 giao tiếp 1-wire ( sử dụng 1 dây data để truyền dữ liệu). Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ tính toán nào.
Cảm biến nhiệt độ và độ ẩm DHT11 bao gồm 3 thành phần chính. Một cảm biến độ ẩm loại điện trở, một điện trở nhiệt NTC (Negative Temperature Coefficient – hệ số nhiệt âm) để đo nhiệt độ và một vi điều khiển 8 bit có nhiệm vụ chuyển đổi tín hiệu tương tự từ cảm biến và gửi ra tín hiệu số duy nhất.
Tín hiệu số này có thể được đọc bởi bất kỳ vi điều khiển hoặc bộ vi xử lý nào để phân tích.
Sơ đồ chân
Cảm biến DHT11 gồm 2 chân cấp nguồn (VCC và GND), và 1 chân tín hiệu (DATA). Hiện nay, thông dụng ngoài thị trường có hai loại đóng gói cho DHT11: 3 chân và 4 chân như hình bên dưới
Thông số kĩ thuật
- Điện áp hoạt động: 3-5VDC.
- Dải nhiệt độ đo: 0-50°C. Sai số ±2°C.
- Dải độ ẩm đo: 20-80%. Sai số ±5%.
- Tần số lấy mẫu: 1Hz(mỗi giây một lần).
- Để dữ liệu chính xác thì khoảng cách dây từ vi điều khiển đến cảm biến không quá 20m.
Hình ảnh sau đây cho thấy một mạch ứng dụng điển hình cho cảm biến độ ẩm và nhiệt độ DHT11. Cảm biến DHT11 có thể đo giá trị độ ẩm trong khoảng 20 – 90% Độ ẩm tương đối (RH) và nhiệt độ trong khoảng 0 – 500C. Khoảng thời gian lấy mẫu của cảm biến là 1 giây.
Tất cả các cảm biến DHT11 được hiệu chuẩn chính xác trong phòng thí nghiệm và kết quả được lưu trữ trong bộ nhớ.
DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ chờ (idle) dây DATA có giá trị ở mức cao, nên trong mạch sử dụng DHT11, dây DATA phải được mắc với một điện trở kéo bên ngoài (thông thường giá trị là 4.7kΩ).
Ngoài ra, chiều dài của cáp có thể dài tới 20 mét. Dữ liệu từ cảm biến bao gồm các bộ phận tích phân và thập phân cho cả độ ẩm tương đối (RH) và nhiệt độ.
Dữ liệu truyền về từ cảm biến DHT11 bao gồm 40 bit và định dạng như sau:
8 bit biểu thị phần nguyên của độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit checksum.
Ví dụ:
Xem xét dữ liệu nhận được từ cảm biến DHT11 là
00100101 00000000 00011001 00000000 00111110.
Dữ liệu này có thể được phân tách dựa trên cấu trúc nêu trên như sau
Để kiểm tra xem liệu dữ liệu nhận được có chính xác hay không, chúng ta cần thực hiện một phép tính nhỏ. Cộng tất cả các giá trị nguyên và thập phân của độ ẩm và nhiệt độ và kiểm tra xem tổng có bằng giá trị checksum hay không, tức là dữ liệu 8 bit cuối cùng.
00100101 + 00000000 + 00011001 + 00000000 = 00111110
Giá trị này giống như 8 bit checksum và do đó dữ liệu nhận được là hợp lệ. Bây giờ để có được giá trị độ ẩm và nhiệt độ, chỉ cần chuyển đổi dữ liệu nhị phân thành dữ liệu thập phân.
Độ ẩm = Giá trị thập phân của 00100101 = 37%
Nhiệt độ = Giá trị thập phân của 00011001 = 250C
Sơ đồ mạch
Sơ đồ mạch sau đây cho thấy tất cả các kết nối cần thiết cần thiết để thực hiện dự án này.
Chương trình
#include <DHT.h> #include <LiquidCrystal.h> #define DHTPIN 8 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
byte degree[8] = { 0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000 };
void setup() { Serial.begin(9600); Serial.println(“Cam bien nhiet do va do am DHT11”); lcd.begin(16, 2); lcd.createChar(1, degree); lcd.clear(); lcd.setCursor(0,0); lcd.print(“Do nhiet do va”); lcd.setCursor(0,1); lcd.print(“do am dung DHT11”); delay(1000); lcd.clear(); lcd.print(“dientuadenz.com”); delay(1000); dht.begin(); }
void loop() { // Chờ một vài giây giữa các lần đo. delay(2000);
// Đọc nhiệt độ và độ ẩm float h = dht.readHumidity(); // Đọc nhiệt độ bằng độ C float t = dht.readTemperature(); // Đọc nhiệt độ theo độ F float f = dht.readTemperature(true);
// Kiểm tra xem có bất kỳ lần đọc nào không thành công và thoát sớm (để thử lại). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(“Khong doc duoc tu cam bien DHT!”); return; }
float hi = dht.computeHeatIndex(f, h);
lcd.setCursor(0,0); lcd.print(“Nhiet do: “); lcd.print(t); lcd.print(“C”); lcd.setCursor(0,2); lcd.print(“Do am: “); lcd.print(h); lcd.print(” %\t”);
/* In kết quả ra Serial Monitor */
Serial.print(“Nhiet do:”); Serial.print(t); Serial.print(“*C\n”); Serial.print(“Do am:”); Serial.print(h); Serial.print(“%\n”); Serial.println(); delay(1000); }
BÀI VIẾT LIÊN QUANXEM THÊM
Giao tiếp cảm biến cường độ ánh sáng BH1750 với Arduino
Cảm biến ánh sáng – Hoạt động và ứng dụng
Cân điện tử dùng Arduino và module HX711
BÌNH LUẬN Hủy trả lời
Vui lòng nhập bình luận của bạn Vui lòng nhập tên của bạn ở đây Bạn đã nhập một địa chỉ email không chính xác! Vui lòng nhập địa chỉ email của bạn ở đâyLưu tên, email và trang web của tôi trong trình duyệt này cho lần tiếp theo tôi nhận xét.
VPS TỐT NHẤT
Chào các bạn! Website này được tạo ra nhằm mục đích chia sẽ miễn phí những kiến thức liên quan đến lĩnh vực điện tử và IoT. Tôi rất mong nhận được những ý kiến đóng góp của bạn đọc để website ngày càng phát triển và được nhiều người biết đến. Cảm ơn sự quan tâm của các bạn.Liên hệ chúng tôi: [email protected]BÀI VIẾT GẦN ĐÂY
- Giao tiếp module điều khiển động cơ bước TMC2208 với Arduino
- Giới thiệu IC 74LS192 – Hoạt động và ứng dụng
- Giới thiệu IC 74LS76 – Ứng dụng và hoạt động
- Top 5 xu hướng công nghệ hàng đầu năm 2023
- Download phần mềm Fritzing
KÊNH ĐIỆN TỬ VIỆT
© Bản quyền thuộc về Điện Tử ViệtTừ khóa » Sơ đồ Chân Dht11
-
DHT11: Tất Cả Về Cảm Biến đo Nhiệt độ Và độ ẩm | Phần Cứng Miễn Phí
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 - ĐIỆN TỬ TƯƠNG LAI
-
Đo Nhiệt độ, độ ẩm Từ Cảm Biến DHT11 | VBLUno51 Board
-
DHT11 – Cảm Biến Nhiệt độ Và độ ẩm - Blog Mecsu
-
Cảm Biến độ ẩm DHT11 - IC ĐÂY RỒI
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno
-
Cảm Biến Nhiệt độ, độ ẩm Dht11 - Điện Tử 360
-
Sơ đồ Nguyên Lý - THIẾT KẾ HỆ THỐNG BÁO CHÁY TỰ ĐỘNG
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 - LIVESHAREWIKI
-
Sơ Đồ Chân Dht11 - BeeCost
-
CẢM BIẾN NHIỆT ĐỘ - ĐỘ ẨM DHT11 - Điện Tử Spider
-
Hướng Dẫn Sử Dụng Cảm Biến Nhiệt độ Và độ ẩm Của DHT11 ...
-
Hướng Dẫn Kết Nối DHT11/DHT22 Với Board Arduino