Và một trong những cảm biến đang được ứng dụng rộng rãi ngày nay là cảm biến đo nhiệt độ, độ ẩm DHT11.. Cảm biến đo nhiệt độ, độ ẩm được ứng dụng trong thực tế rất phổ biến như ứng dụng
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-BÀI TẬP NHÓM: INTERNET VÀ CÁC GIAO THỨC
“NGHIÊN CỨU CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11 VỚI
ARDUINO”
NHÓM 8 LỚP 04
GV HƯỚNG DẪN: ThS HOÀNG THỊ THU
1 Bùi Đức Cường - B19DCVT033 (Nhóm trưởng)
2 Phùng Văn Thụ - B19DCVT398
3 Lê Quang Triệu - B19DCVT410
4 Nguyễn Quốc Trung - B19DCVT418
5 Nguyễn Trung Kiên – B19DCVT193
Trang 2Bảng phân công công việc nhóm
Cường Phân công công việc, tổnghợp nội dung, làm slide Viết lời nói đầu,kết luận, tổng
kết chương, word và slide
Nhóm trưởng
Quốc Trung Chương 1: Tổng quan vềArduino và DHT11
1.1 Arduino 1.2 DHT11
Chương 1: Tổng quan về Arduino
và DHT11
Triệu Chương 2: Thiết kế mô hình2.1 Giới thiệu chung hệ
thống
Chương 2: Thiết
kế mô hình
Trung Kiên 2.2 Sơ đồ kết nối các thiết bị Chương 2: Sơđồ kết nối các
thiết bị
5 Phùng Văn
Thụ 2.3 Code thiết bị Arduino Chương 2: Codethiết bị Arduino,
thuyết trình
Trang 3LỜI MỞ ĐẦU
Trong những thập niên thế kỉ XX, từ sự ra đời của công nghệ bán dẫn, kĩ thuật cảm biến đã có sự phát triển vượt bậc Các thiết bị điện tử sau đó đã được tích hợp với mật độ cao và rất cao trong các diện tích nhỏ, nhờ vậy các thiết bị điện tử kích thước nhỏ hơn và nhiều chức năng hơn Các thiết bị điện tử thông minh ngày càng nhiều chức năng trong khi giá thành ngày càng rẻ hơn, chính vì vậy mà cảm biến có mặt khắp mọi nơi Ngày nay, trong các hệ thống đo lường - điều khiển, mọi quá trình đều được đặc trưng bởi các biến trạng thái Các biến trạng thái này thường
là các đại lượng không điện như nhiệt độ, áp suất, lưu lượng, tốc độ, độ di chuyển v.v Để thực hiện các quá trình đo lường và điều khiển cần phải thu thập thông tin,
đo đạc, theo dõi sự biến thiên của các biến trạng thái của quá trình thực hiện chức năng trên là các thiết bị cảm biến Hầu hết các thiết bị kỹ thuật từ phức tạp đến đơn giản như thiết bị điều khiển tự động, thiết bị văn phòng cho đến các thiết bị trong gia đình đều được tích hợp các cảm biến Các thiết bị cảm biến đang dần trở thành một phần không thể thiếu trong đời sống hiện đại của chúng ta Giờ đây không có một lĩnh vực nào mà ở đó không sử dụng cảm biến Chúng có mặt trong các hệ thống tự động phức tạp, người máy, kiểm tra chất lượng sản phẩm, tiết kiệm năng lượng, chống ô nhiễm môi trường Cảm biến cũng được ứng dụng rộng rãi trong lĩnh vực giao thông vận tải, sản xuất hàng tiêu dùng, bảo quản thực phẩm, sản xuất
ô tô, điện thoại Và một trong những cảm biến đang được ứng dụng rộng rãi ngày nay là cảm biến đo nhiệt độ, độ ẩm DHT11 Cảm biến đo nhiệt độ, độ ẩm được ứng dụng trong thực tế rất phổ biến như ứng dụng để theo dõi thời tiết, đo nhiệt độ phòng, những nơi cần kiểm soát độ ẩm trong nhiều ứng dụng đó nhóm sinh viên
chúng em đã tham gia vào thực hiện đề tài “NGHIÊN CỨU CẢM BIẾN NHIỆT
Trang 4MỤC LỤC
LỜI MỞ ĐẦU ii
DANH MỤC HÌNH VẼ 1
Chương 1: Tổng quan về Arduino và DHT11 2
1.1 Arduino 2
1.1.1 Mô hình Arduino 2
1.1.2 Thông số kỹ thuật 2
1.1.3 Ưu, nhược điểm của Arduino 3
1.2 DHT 11 3
1.2.1 Mô hình DHT 11 3
1.2.2 Thông số kỹ thuật 4
1.2.3 Ưu, nhược điểm 5
1.3 Kết luận chương 5
Chương 2: Thiết kế mô hình 6
2.1 Giới thiệu chung hệ thống 6
2.2 Sơ đồ kết nối các thiết bị 6
2.2.1 Nối nguồn Arduino với Breadboard 6
2.2.2 Thực hiện kết nối DHT11 với Ardunio 6
2.2.3 Kết nối Module I2C & LCD với Ardunio 7
2.3 Code thiết bị Arduino 7
2.4 Tổng kết chương 10
KẾT LUẬN 10
TÀI LIỆU THAM KHẢO 12
Trang 5DANH MỤC HÌNH VẼ
Hình 1: Arduino mega 2560 (trái) và Arduino uno R3 (phải) 2
Hình 2: Cấu tạo cơ bản của Arduino 3
Hình 3 Mô hình DHT11 4
Hình 4: Cảm biến nhiệt độ và độ ẩm DHT11 và sơ đồ chân 4
Hình 5: Nối nguồn Arduino với Breadbroard 6
Hình 6: Nối DHT11 với Arduino 7
Hình 7: Kết nối Module I2C & LCD với Ardunio 7
Hình 8: Mô phỏng mô hình trên phần mềm Proteus 9
Hình 9: Kết quả chạy trên phần mềm Proteus 9
Hình 10: Kết quả chạy trên phần mềm Proteus 10
Trang 6Chương 1: Tổng quan về Arduino và DHT11
1.1 Arduino
1.1.1 Mô hình Arduino
Arduino là nền tảng tạo mẫu điện tử mã nguồn mở, được sử dụng nhằm xây dựng
các ứng dụng điện tử tương tác với nhau hoặc với môi trường được thuận tiện, dễ dàng hơn Thành phần của Arduino bao gồm mạch điều khiển và phần mềm hoặc IDE (Môi trường phát triển tích hợp) chạy trên máy tính được sử dụng để viết và tải
mã máy tính lên mạch điều khiển
Nền tảng mẫu này giống như một máy tính thu nhỏ, giúp người dùng lập trình và thực hiện các dự án điện tử mà không cần phải đến các công cụ chuyên dụng để phục vụ việc nạp code
Arduino tương tác thế giới xung quanh thông qua cảm biến điện tử, động cơ và đèn
Hình 1: Arduino mega 2560 (trái) và Arduino uno R3 (phải)
1.1.2 Thông số kỹ thuật
Có rất nhiều các phiên bản mạch Arduino khác nhau và được sử dụng với nhiều mục đích Nhưng hầu hết các mạch đều giống nhau về các thành phần chính sau:
Nguồn (USB / Barrel Jack)
Các chân (5V, 3.3V, GND, Digital, Analog, PWM, ISF)
Nút Reset (Reset Button)
Đèn LED báo nguồn (Power LED Indicator)
LED TX và RX (TX RX LEDs)
IC chủ (Main IC)
Bộ điều chỉnh điện áp (Voltage Regulator)
2
Nhóm 8
Trang 7Hình 2: Cấu tạo cơ bản của Arduino
Thông số kĩ thuật:
Điện áp hoạt động: 3-5.5V DC
Dòng điện sd: max 2.5mA
Ngưỡng độ ẩm: 20 - 90%
Sai số độ ẩm: ± 5%
Ngưỡng nhiệt độ: 0 - 55C
Sai số nhiệt độ: ± 2C
Khoảng cách chân là 2.54mm (0.1 inch)
1.1.3 Ưu, nhược điểm của Arduino
1.1.3.1: Ưu điểm:
Có thể sử dụng ngay: Ưu điểm lớn nhất của Arduino là có thể sử dụng ngay Vì Arduino là một bộ hoàn chỉnh gồm bộ nguồn 5V, một ổ ghi, một bộ dao động, một
vi điều khiển, truyền thông nối tiếp, LED và các giắc cắm nên chỉ cần cắm nó vào cổng USB của máy tính
Các mẫu có sẵn: Có là thư viện các mẫu có sẵn trong phần mềm Arduino
Các chức năng giúp đơn giản hóa công việc, khả năng chuyển đổi đơn vị tự động
1.1.3.2: Nhược điểm:
Phải làm cho kích thước càng nhỏ càng tốt
Có thể phát sinh ra chi phí lớn
1.2 DHT 11
1.2.1 Mô hình DHT 11
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 giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến có được dữ liệu chính
Trang 8xác mà không phải qua bất kỳ tính toán nào DHT11 là một cảm biến nhiệt độ và độ
ẩm kỹ thuật số
DHT11 là cảm biến số, khi nối với vi điều khiển thì chỉ cần nối chân số 2 của DHT11 với 1 chân IO của vi điều khiển để cấu hình
Hình 3 Mô hình DHT11
1.2.2 Thông số kỹ thuật
Cảm biến DHT11 bao gồm một phần tử cảm biến độ ẩm điện dung và một điện trở nhiệt để cảm nhận nhiệt độ Tụ điện cảm biến độ ẩm có hai điện cực với chất nền giữ ẩm làm chất điện môi giữa chúng Thay đổi giá trị điện dung xảy ra với sự thay đổi của các mức độ ẩm IC đo, xử lý các giá trị điện trở đã thay đổi này và chuyển chúng thành dạng kỹ thuật số
Để đo nhiệt độ, cảm biến này sử dụng một nhiệt điện trở có hệ số nhiệt độ âm, làm giảm giá trị điện trở của nó khi nhiệt độ tăng Để có được giá trị điện trở lớn hơn ngay cả đối với sự thay đổi nhỏ nhất của nhiệt độ, cảm biến này thường được làm bằng gốm bán dẫn hoặc polyme
Hình 4: Cảm biến nhiệt độ và độ ẩm DHT11 và sơ đồ chân
Thông số kỹ thuật :
Điện áp hoạt động: 3-5.5V DC
Dòng điện sử dụng: max 2.5mA
Ngưỡng độ ẩm: 20 - 90%
Sai số độ ẩm: ± 5%
4
Nhóm 8
Trang 9Ngưỡng nhiệt độ: 0 - 55ᵒC
Sai số nhiệt độ: ± 2ᵒC
Khoảng cách chân là 2.54mm (0.1 inch)
1.2.3 Ưu, nhược điểm
1.2.3.1 Ưu điểm:
Chi phí thấp
Độ chính xác cao
Dễ lắp đặt
1.2.3.2 Nhược điểm:
Thang đo nhiệt độ, đọ ẩm hẹp
Chỉ sử dụng được cảm biến trong môi trường độ ẩm thuần là hơi nước, các môi trường đặc biệt ủ kín như ủ tỏi đen, ủ yếm khí sẽ sinh ra nấm và vi khuẩn bám lên
bề mặt cảm biến làm hư hỏng cảm biến.
1.3 Kết luận chương
Tìm hiểu tổng quan về Arduino và DHT 11 để từ đó thiết kế ra được mạch đo nhiệt
độ - độ ẩm sử dụng DHT11 hiển thị LCD trên Arduino nắm bắt được nhiệt độ, độ
ẩm giúp ta biết được tình trạng làm việc và có những xử lý kịp thời hư hỏng Việc dùng phương pháp thủ công xác định được nhiệt độ, độ ẩm sẽ trở nên ít chính xác
và tốn thời gian hơn Thay vào đó sẽ dùng cảm biến nhiệt độ - độ ẩm để có được độ chính cao và ít thời gian hơn Chúng ta còn có thể áp dụng cảm biến nhiệt độ - độ
ẩm khống chế giới hạn nhiệt độ nào đó tùy vào ứng dụng thực tiễn
Trang 10Chương 2: Thiết kế mô hình
2.1 Giới thiệu chung hệ thống
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án điện tử Arduino bao gồm cả bảng mạch lập trình (thường được gọi là vi điều khiển) và một phần mềm (IDE) được sử dụng để lập trình viết và tải mã máy tính lên bo mạch Các mạch Arduino hay các mạch dựa trên nền tảng Arduino được lập trình bằng ngôn riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung, rất giống lập trình C đơn giản, nên việc tiếp cận sẽ không mấy khó khăn
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, ta sử dụng một môi trường lập trình Arduino được gọi là Arduino IDE
2.2 Sơ đồ kết nối các thiết bị
2.2.1 Nối nguồn Arduino với Breadboard
Nối trực tiếp chân 5V từ Ardunio ra Board mạch tại cực dương
Nối trực tiếp chân GND từ Ardunio ra Board tại cực âm
Hình 5: Nối nguồn Arduino với Breadbroard
2.2.2 Thực hiện kết nối DHT11 với Ardunio
Chân VCC của cảm biến nối với nguồn 5V trên Arduino
Chân GND nối với chân GND trên Arduino
Chân Data nối với bất kì chân kĩ thuật số nào của Arduino (ở đây là chân số 4)
6
Nhóm 8
Trang 11Hình 6: Nối DHT11 với Arduino
2.2.3 Kết nối Module I2C & LCD với Ardunio
Chân VCC của màn hình nối với nguồn 5V trên Arduino
Chân GND nối với chân GND trên Arduino
Chân SDA của module nối với chân A4 trên Arduino
Chân SDD nối với chân A5 trên Arduino
Hình 7: Kết nối Module I2C & LCD với Ardunio
2.3 Code thiết bị Arduino
Code:
Trang 12#include <Wire.h>
#include <LiquidCrystal_I2C.h> // khai bao thu vien LCD _I2C LiquidCrystal_I2C lcd(0x27,16,2);
const int DHTPIN = 4; // sử dụng chân số 4
const int DHTTYPE = DHT11; // sử dụng cảm biến DHT11 DHT dht(DHTPIN, DHTTYPE);
byte degree[8] = {
0B01110,
0B01010,
0B01110,
0B00000,
0B00000,
0B00000,
0B00000,
0B00000
};
void setup() {
lcd.init(); // khoi tao lcd
lcd.backlight(); // bat den lcd
lcd.print("Nhiet do: "); // in ra man nhietdo
lcd.setCursor(0,1);
lcd.print("Do am: ");
lcd.createChar(1, degree);
dht.begin();
}
void loop() {
float h = dht.readHumidity(); // độ ẩm
float t = dht.readTemperature(); // nhiệt độ
// lcd.clear();
lcd.setCursor(10,0);
lcd.print(round(t));
lcd.print(" ");
lcd.write(1);
lcd.print("C");
lcd.setCursor(10,1);
lcd.print(round(h));
lcd.print(" %");
}
Mạch proteus
8
Nhóm 8
Trang 13Hình 8: Mô phỏng mô hình trên phần mềm Proteus
Kết quả:
Hình 9: Kết quả chạy trên phần mềm Proteus
Trang 14Hình 10: Kết quả chạy trên phần mềm Proteus
2.4 Tổng kết chương
Sau khi tìm hiểu về Arduino và DHT11 ở chương trước, chương này chúng ta đã trình bày thiết kế cơ bản kết nối cảm biến nhiệt độ, độ ẩm DHT11 với Arduino, hiển thị kết quả đo được trên màn hình LCD
10
Nhóm 8
Trang 15KẾT LUẬN
Bài báo cáo đã trình bày thiết kế cơ bản kết nối cảm biến nhiệt độ, độ ẩm DHT11 với Arduino, hiển thị kết quả đo được trên màn hình LCD; giúp chúng ta tìm hiểu tổng quan về Arduino và DHT 11 để từ đó thiết kế ra được mạch đo nhiệt độ - độ
ẩm sử dụng DHT11 hiển thị LCD trên Arduino nắm bắt được nhiệt độ, độ ẩm giúp
ta biết được tình trạng làm việc và có những xử lý kịp thời hư hỏng Việc dùng phương pháp thủ công xác định được nhiệt độ, độ ẩm sẽ trở nên ít chính xác và tốn thời gian hơn Thay vào đó sẽ dùng cảm biến nhiệt độ - độ ẩm để có được độ chính cao và ít thời gian hơn Chúng ta còn có thể áp dụng cảm biến nhiệt độ - độ ẩm khống chế giới hạn nhiệt độ nào đó tùy vào ứng dụng thực tiễn
Trang 16TÀI LIỆU THAM KHẢO
1 Bài 4 – Cảm biến với Arduino
2 https://itstar.edu.vn/Internet-van-vat-IoT/tin-tuc-39/HUONG-DAN-SU-DUNG-CAM- BIEN-DHT11-VA-ARDUINO-HIEN-THI-NHIET-DO-VA-DO-AM-LEN-MAN-HINH-LCD.html
12
Nhóm 8