Giới thiệu: - DHT11 là cảm biến nhiệt độ và độ ẩm. Nó ra đời sau và được sử dụng thay thế cho dòng SHT1x ở những nơi không cần độ chính xác cao về nhiệt độ và độ ẩm.
1. Thông số kỹ thuật
- DHT11 có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây.
- Thông số kỹ thuật:
o Do độ ẩm: 20%-95%
o Nhiệt độ: 0-50ºC
o Sai số độ ẩm ±5%
o Sai số nhiệt độ: ±2ºC
- DHT11 có cấu tạo 4 chân như hình. Nó sử dụng giao tiếp số theo chuẩn 1 dây.
- Thông số kỹ thuật:
o Do độ ẩm: 20%-95%
o Nhiệt độ: 0-50ºC
o Sai số độ ẩm ±5%
o Sai số nhiệt độ: ±2ºC
2. Nguyên lý hoạt động:
- Sơ đồ kết nối vi xử lý:
- Nguyên lý hoạt động:
Để có thể giao tiếp với DHT11 theo chuẩn 1 chân vi xử lý thực hiện theo 2 bước:
o Gửi tin hiệu muốn đo (Start) tới DHT11, sau đó DHT11 xác nhận lại.
o Khi đã giao tiếp được với DHT11, Cảm biến sẽ gửi lại 5 byte dữ liệu và nhiệt độ đo được.
- Bước 1: gửi tín hiệu Start
o MCU thiết lập chân DATA là Output, kéo chân DATA xuống 0 trong khoảng thời gian >18ms. Trong Code mình để 25ms. Khi đó DHT11 sẽ hiểu MCU muốn đo giá trị nhiệt độ và độ ẩm.
o MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.
o Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà chân DATA ko được kéo xuống thấp nghĩa là ko giao tiếp được với DHT11.
o Chân DATA sẽ ở mức thấp 80us sau đó nó được DHT11 kéo nên cao trong 80us. Bằng việc giám sát chân DATA, MCU có thể biết được có giao tiếp được với DHT11 ko. Nếu tín hiệu đo được DHT11 lên cao, khi đó hoàn thiện quá trình giao tiếp của MCU với DHT.
- Bước 2: đọc giá trị trên DHT11
o DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte. Trong đó:
§ Byte 1: giá trị phần nguyên của độ ẩm (RH%)
§ Byte 2: giá trị phần thập phân của độ ẩm (RH%)
§ Byte 3: giá trị phần nguyên của nhiệt độ (TC)
§ Byte 4 : giá trị phần thập phân của nhiệt độ (TC)
§ Byte 5 : kiểm tra tổng.
ð Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm và nhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa.
o Đọc dữ liệu:
Sau khi giao tiếp được với DHT11, DHT11 sẽ gửi liên tiếp 40 bit 0 hoặc 1 về MCU, tương ứng chia thành 5 byte kết quả của Nhiệt độ và độ ẩm.
§ Bit 0:
§ Bit 1:
Sau khi tín hiệu được đưa về 0, ta đợi chân DATA của MCU được DHT11 kéo lên 1. Nếu chân DATA là 1 trong khoảng 26-28 us thì là 0, còn nếu tồn tại 70us là 1. Do đó trong lập trình ta bắt sườn lên của chân DATA, sau đó delay 50us. Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì giá trị đo được là 1. Cứ như thế ta đọc các bit tiếp theo.
Các bạn có thể thao khảo theo CODE mình gửi kèm theo:
- Code cho họ 8051: Tải về
- Code cho họ AVR: Tải về
- Code cho họ PIC: Tải về
Nguyên lý của cảm biến ẩm này mình cũng chưa hiểu rõ nắm.
Trả lờiXóa-----------------------------------------------------
Trung tâm đào tạo Actech chuyên đào tạo các lớp điện tử: Điện tử cơ bản, Thiết kế tủ điện , Lập trình PLC S7 200, Vi điều khiển Pic 16f877a với nội dung đào tạo bám sát thực tế và thực hành ngay tại trên lớp giúp các học viên có thể được kiến thức, kỹ năng tốt có thể ứng dụng ngay vào công việc....