BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌ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.
2.
3.
4.
5.
Bùi Đức Cường - B19DCVT033 (Nhóm trưởng)
Phùng Văn Thụ - B19DCVT398
Lê Quang Triệu - B19DCVT410
Nguyễn Quốc Trung - B19DCVT418
Nguyễn Trung Kiên – B19DCVT193
HÀ NỘI - 2022
Bài tập nhóm Internet và các giao thức
Bảng phân cơng cơng việc nhóm
STT
Họ và tên
sinh viên
Nội dung chính
Cơng việc
chung
Ghi
chú
1
Bùi Đức
Cường
Phân cơng cơng việc, tổng
hợ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
2
Nguyễn
Quốc Trung
Chương 1: Tổng
quan về Arduino
và DHT11
3
Lê Quang
Triệu
Chương 1: Tổng quan về
Arduino và DHT11
1.1 Arduino
1.2 DHT11
Chương 2: Thiết kế mơ hình
2.1 Giới thiệu chung hệ
thống
4
Nguyễn
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: Code
thiết bị Arduino,
thuyết trình.
Chương 2: Thiết
kế mơ hình
Bài tập nhóm Internet và các giao thức
LỜ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 số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
ĐỘ, ĐỘ ẨM DHT11 VỚI ARDUINO ".
Bài tập nhóm Internet và các giao thức
MỤ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
Bài tập nhóm Internet và các giao thức
DANH 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
1
Nhóm 8
Bài tập nhóm Internet và các giao thức
Chươ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
Bài tập nhóm Internet và các giao thức
Hì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
3
Nhóm 8
Bài tập nhóm Internet và các giao thức
xác mà khơng phải qua bất kỳ tính tố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
Bài tập nhóm Internet và các giao thức
Ngưỡ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.
5
Nhóm 8
Bài tập nhóm Internet và các giao thức
Chươ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
Bài tập nhóm Internet và các giao thức
Hì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 ng̀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:
7
#include <DHT.h> // khai bao thu vien DHT11
Nhóm 8
Bài tập nhóm Internet và các giao thức
#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
Bài tập nhóm Internet và các giao thức
Hì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
9
Nhóm 8
Bài tập nhóm Internet và các giao thức
Hì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
Bài tập nhóm Internet và các giao thức
KẾ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.
11
Nhóm 8
Bài tập nhóm Internet và các giao thức
TÀI LIỆU THAM KHẢO
1. Bài 4 – Cảm biến với Arduino
2. />
12
Nhóm 8