Lập Trình Giao Tiếp Cảm Biến DHT Với Board Mạch Arduino - Góc Học IT
Có thể bạn quan tâm
1. Các loại cảm biến DHT
Cảm biến DHT là một cảm biến có khả năng đo nhiệt độ và độ ẩm không khí với giá cả phải chăng. Cảm biến DHT thường được lắp vào một mạch điện tử thành dạng module như hình bên dưới.
Có 2 loại cảm biến DHT là cảm biến DHT11 và DHT22.
Cảm biến DHT11
Thông số kỹ thuật của cảm biến DTH11:
- Nguồn: 3 – 5 VDC.
- Dòng sử dụng: max 2.5mA khi truyền dữ liệu.
- Đo tốt ở độ ẩm 20 – 80% RH với sai số 5%.
- Đo tốt ở nhiệt độ 0 – 50°C sai số ±2°C.
- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
Cảm biến DHT22
Tương tự như cảm biến DHT11, cảm biến DHT22 cũng đo nhiệt độ và độ ẩm nhưng độ chính xác và thang đo rộng hơn.
Thông số kỹ thuật của cảm biến DTH22:
- Nguồn: 3 – 5 VDC.
- Dòng sử dụng: max 2.5mA khi truyền dữ liệu.
- Đo tốt ở độ ẩm 0 – 100% RH với sai số 2-5%.
- Đo tốt ở nhiệt độ 40 – 80°C sai số ±0.5°C.
- Tần số lấy mẫu tối đa 0.5Hz (2 giây 1 lần)
2. Thiết kế mạch giao tiếp DHT với board mạch Arduino
Mạch giao tiếp DHT với Arduino gồm 1 board Arduino, 1 cảm biến DHT. Chân số 1 của cảm biến DTH được cấp nguồn dương (+), chân số 4 cấp nguồn âm (-). Chân số 2 kết nối với một chân của Arduino để gửi dữ liệu cho Arduino.
Có thể sử dụng mạch giao tiếp giả lập trên Proteus.
3. Chương trình hiển thị nhiệt độ và độ ẩm từ DHT lên LCD
Để giao tiếp với cảm biến DHT, chúng ta cần cài đặt thư viện “DHT.h” của Adafruit. Nếu không cài đặt thư viện “DHT.h” thì có thể gặp lỗi như hình bên dưới.
Trong Arduino IDE, để cài đặt thư viện “DHT.h”, chọn Tools->Manage Libraries…Màn hình Library Manager xuất hiện.
Tìm kiếm thư viện “dht” rồi chọn cài đặt.
Chọn cài đặt tất cả thư viện.
Lưu ý: Cần kết nối internet để cài đặt thư viện “DHT.h”
Chương trình bên dưới hiển thị nhiệt độ và độ ẩm từ cảm biến DHT lên màn hình LCD
#include "DHT.h"//Khai báo thư viện DHT #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int dht_pin = 7;//Khai báo chân kết nối DHT với Arduino int DHTTYPE = DHT11;//Khai báo loại cảm biến DHT DHT dht(dht_pin, DHTTYPE);//Khai báo một đối tượng DHT void setup() { lcd.begin(16, 2); dht.begin();//Khởi tạo đối tượng DHT } void loop() { float h = dht.readHumidity();//Lấy giá trị độ ẩm float t = dht.readTemperature();//Lấy giá trị nhiệt độ ở đơn vị độ C float tf = dht.readTemperature(true);//Lấy giá trị nhiệt độ ở đơn vị độ F lcd.setCursor(0, 0); lcd.print("HUMIDITY:"); lcd.print(h); lcd.print("%"); lcd.setCursor(0, 1); lcd.print(t); lcd.print(char(223)); lcd.print("C"); lcd.print("-"); lcd.print(tf); lcd.print(char(223)); lcd.print("F"); }Kết quả
4. Bài tập
Bài tập 1: Thiết kế mạch gồm 1 board Arduino UNO, 2 đèn led đỏ, xanh và 1 DHT11. Nếu nhiệt độ môi trường >=30 °C thì cho phép đèn đỏ sáng lên. Nếu độ ẩm môi trường >=50% thì cho phép đèn xanh sáng lên.
Bài tập 2: Thiết kế mạch gồm 1 board Arduino UNO, 2 đèn led đỏ, xanh và 1 DHT11. Nếu nhiệt độ môi trường >=30 °C thì cho phép đèn đỏ nhấp nháy. Nếu độ ẩm môi trường >=50% thì cho phép đèn xanh nhấp nháy.
Bài tập 3: Thiết kế mạch gồm 1 board Arduino UNO, 1 LCD, 1 button và 1 DTH.
Ban đầu: Hiển thị độ ẩm. Nhấn button lần 1: Hiển thị độ ẩm và độ C. Nhấn button lần 2: Hiển thị độ ẩm và độ F. Nhấn button lần 3: tắt màn hình. Cứ lặp lại như vậy.
- Các kiểu dữ liệu (data type) cơ bản trong Python
- Cấu trúc dữ liệu dạng cây là gì? Đặc điểm của cây nhị phân (Binary Tree)
- Tổng các chữ số của một số nguyên dương trong C++
- Cấu trúc rẽ nhánh if…else trong PHP
- Biến toàn cục và biến cục bộ trong chương trình
Từ khóa » Cảm Biến Nhiệt độ Và độ ẩm Dht11 Arduino
-
Đọc Nhiệt độ - độ ẩm Và Xuất Ra Màn Hình LCD
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno
-
HƯỚNG DẪN SỬ DỤNG CẢM BIẾN DHT11 VÀ ARDUINO HIỂN THỊ ...
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 - ĐIỆN TỬ TƯƠNG LAI
-
DHT11 Giao Tiếp Arduino, Cảm Biến Nhiệt độ, độ ẩm + LCD1602 + ...
-
Lập Trình Arduino Cơ Bản → Cảm Biến Nhiệt độ Và độ ẩm DHT11
-
Module Cảm Biến Nhiệt độ Và độ ẩm DHT11 - Module Arduino
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno
-
Đo Nhiệt Độ Và Độ Ẩm Bằng Cảm Biến DHT11 Và Arduino Uno R3
-
Hướng Dẫn Sử Dụng Cảm Biến Nhiệt độ - độ ẩm DHT11
-
Dht11 Giá Tốt Tháng 7, 2022 | Mua Ngay | Shopee Việt Nam
-
Mô-Đun Cảm Biến Nhiệt Độ Ẩm Dht11 Cho Arduino Diy Có Đèn LED
-
Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 Trường An Equipment
-
Đọc Nhiệt độ, độ ẩm (DHT11) Sử Dụng Arduino Uno - Chickgolden