Vấn đề đặt ra là cần một hệ thống có thểthu thập dữ liệu của môi trường hiển thị lên website, cảnh báo cho người dùng khi có hỏahoạn, rò rỉ khí gas và người dùng có thê
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
-ĐỒ ÁN TỐT NGHIỆP
NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG
ĐỀ TÀI:
Thiết kế và thi công hệ thống thu thập
dữ liệu môi trường, hiển thị thông tin
trên web và cảnh báo hỏa hoạn qua SMS
GVHD: ThS Võ Đức Dũng
Nguyễn Quốc Trọng Nhân 15141228
Trang 2KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH
o0o Tp HCM, ngày 1 tháng 8 năm 2020
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
I TÊN ĐỀ TÀI: “Thiết kế và thi công hệ thống thu thập dữ liệu môi trường, hiển thị thông tin trên web và cảnh báo hỏa hoạn qua SMS”
II NHIỆM VỤ
1 Các số liệu ban đầu:
Hệ thống cảnh báo hỏa hoạn và rò rỉ khí gas được thực hiện với các số liệu ban
đầu như sau:
- Hệ thống thu thập dữ liệu từ cảm biến lửa, nhiệt độ, khí gas,quang trở
- Hiển thị giá trị thu thập được lên LCD và trang web Thingspeak.com để theodõi nồng độ khí gas, nhiệt độ trong phòng
- Nếu phát hiện có gas, lửa hay nhiệt độ quá cao sẽ báo động bằng cách gọi, gửi tinnhắn cho người sử dụng và mở quạt thông gió nhằm làm giảm nồng độ khí gas trong
không khí, kích hoạt máy bơm hoạt động dập tắt lửa
2 Nội dung thực hiện:
- Lên ý tưởng đồ án
- Tìm hiểu về linh kiện sử dụng
- Thiết kế, thi công khối cảm biến đo nhiệt độ, cảm biến phát hiện lửa, cảm biến rò rỉ khí gas
Trang 3truyền nhận thông tin giữa trạm phụ và trạm trung tâm.
- Vẽ lưu đồ giải thuật
- Thiết kế và thi công Thiết kế và thi công hệ thống thu thập dữ liệu môi trường, hiển thị thông tin trên web và cảnh báo hỏa hoạn qua SMS
- Lắp ráp các khối vào mô hình
- Chạy thử nghiệm hệ thống
- Cân chỉnh hệ thống
- Viết luận văn
- Báo cáo đề tài tốt nghiệp
III NGÀY GIAO NHIỆM VỤ: 07/03/2020
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 04/08/2020
V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Thầy Võ Đức Dũng
Trang 4Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc
Bộ Môn Điện Tử Công Nghiệp
Tp Hồ Chí Minh, ngày 07 tháng 03 năm 2020
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
(Bản lịch trình này được đóng vào cuốn báo cáo)
Họ tên sinh viên: Nguyễn Quốc Trọng Nhân MSSV:15141228
Lớp :15141DT1B
Lớp: 15141DT2A
Tên đề tài: “Thiết kế và thi công hệ thống thu thập dữ liệu môi trường, hiển thị
thông tin trên web và cảnh báo hỏa hoạn qua SMS”
Tuần 1 Gặp GVHD để nghe phổ biến yêu cầu làm
(7/3 – 14/3) đồ án, tiến hành chọn đồ án
Tuần 2 Viết đề cương và lịch trình thực hiện đồ
(14/3 – 21/3) án tốt nghiệp
Tìm hiểu cơ sở lý thuyết liên quan tới đề
Tuần 3 tài: cảm biến khí gas MQ2, cảm biến phát
hiện lửa flame sensor, cảm biến nhiệt độ
(21/3 – 28/3)
DHT-22, Arduino Nano, động cơ bơmP385, ESP8266 Node MCU, LCD 16X2
Tuần 4 Tìm hiểu về giao tiếp giữa các module,
các cảm biến với Arduino ở bộ điều khiển(28/3 – 4/4)
trung tâm
Tuần 5 Tiến hành thiết kế sơ đồ khối, giải thích
chức năng các khối ( khối nguồn, khối xử(4/4 – 11/4) lí, khối hiển thị, khối cảm biến, khối
truyền dữ liệu)
Tuần 6 Tính toán thiết kế khối nguồn, thiết kế sơ
đồ toàn mạch và giải thích nguyên lý hoạt(11/3 – 18/4)
động của mạch
Tuần 7 Tính toán thiết kế khối nguồn, thiết kế sơ
đồ toàn mạch và giải thích nguyên lý hoạt(18/4 – 25/4)
động của mạch
Trang 5Tuần 9 Lập trình code cho VDK và tiến hành thi
(2/5 – 9/5)
công mạch
Tuần 10 Lập trình code cho VDK và tiến hành thi
(9/5 – 16/5) công mạch
Tuần 11 Kiểm tra , cân chỉnh mạch thi công
(16/5 – 23/5) Viết báo cáo nội dung đã làm
Tuần 12 Hoàn thiện báo cáo và gởi cho GVHD để
xem xét góp ý lần cuối trước khi in và báo(23/5 – 30/5)
cáo
Tuần 13 Làm slide, báo cáo với GVHD
(30/5 – 6/6)
GV HƯỚNG DẪN(Ký và ghi rõ họ và tên)
Trang 6Nhóm sinh viên – Lâm Đường Nguyên và Nguyễn Quốc Trọng Nhân xin camđoan đây là đồ án do nhóm tự thực hiện dưới sự hướng dẫn của thầy Võ Đức Dũng.Nhóm chỉ tham khảo các tài liệu trước đó và các nghiên cứu trên mạng online Kếtquả công bố trong khóa luận tốt nghiệp là trung thực không sao chép từ tài liệu haycông trình đã có trước đó.
Tp.HCM, ngày 4 tháng 08 năm 2020
SV thực hiện đồ án( Ký và ghi rõ họ tên)
Lâm Đường Nguyên Nguyễn Quốc Trọng Nhân
Trang 7Nhóm thực hiện đồ án xin được gửi lời cảm ơn đặc biệt đến giảng viên hướngdẫn thầy Võ Đức Dũng vì đã giúp đỡ nhóm trong quá trình thực hiện đồ án, người đãđưa ra hướng nghiên cứu, giải đáp thắc mắc, cũng như tận tình quan sát nhóm làmviệc Trong quá trình thực hiện nhóm đã tiếp thu được những kiến thức thực tế và cáchlàm việc nghiêm túc, hiệu quả từ thầy.
Nhóm em xin gửi lời tri ân thành nhất đến các quý thầy cô trong khoa Điện điện tử đã hỗ trợ chúng em về những kiến thức nền tảng vững vàng, tạo điều kiện tốtnhất cho sinh viên trong quá trình học tập và nghiên cứu
-Sự hỗ trợ thầm lặng và vô cùng quan trọng từ gia đình và bạn bè luôn là độnglực để nhóm có thể làm việc hết khả năng và hoàn thành đồ án một cách tốt nhất
Một lần nữa nhóm vô cùng hân hạnh khi được làm sinh viên tại trường ĐH SưPhạm Kỹ Thuật TPHCM, là học trò của những giảng viên đầy tâm huyết, lời cảm ơnnày cũng là sự ghi nhận sâu sắc mà nhóm muốn gửi đến thầy cô, gia đình và bạn bè
Trang 8NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i
LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP iii
LỜI CAM ĐOAN v
LỜI CẢM ƠN vi
MỤC LỤC vii
LIỆT KÊ HÌNH VẼ ix
DANH SÁCH BẢN VẼ xi
TÓM TẮT xii
Chương 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU 1
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 3
Chương 2 CƠ SỞ LÝ THUYẾT 4
2.1 QUY TRÌNH GIÁM SÁT CỦA HỆ THỐNG 4
2.2 GIỚI THIỆU PHẦN CỨNG 4
2.2.1 Khối cảm biến 4
2.2.2 Khối vi điều khiển 9
2.2.3 Khối hiển thị 10
2.2.4 Mạch chuyển đổi I2C cho LCD 12
2.2.5 Khối nhận tín hiệu 13
2.2.6 Module Sim 800L 15
2.2.7 Module L298 17
2.2.8 Mạch thu phát RF NRF24L01+ 18
2.2.9 Khối nguồn 19
2.3 CÁC CHUẨN TRUYỀN DỮ LIỆU 20
2.3.1 Giao tiếp SPI 20
2.3.2 Giao tiếp UART 21
2.3.3 Giao tiếp I2C 22
Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 27
Trang 93.2.1 Thiết kế sơ đồ khối hệ thống 28
3.2.2 Tính toán và thiết kế mạch 32
Chương 4 THI CÔNG HỆ THỐNG 48
4.1 GIỚI THIỆU 48
4.2 THI CÔNG HỆ THỐNG 48
4.2.1 Thi công khối thu thập dữ liệu 48
4.2.2 Khối xử lý trung tâm 51
4.3 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH 54
4.3.1 Thi công hộp bảo vệ mạch 54
4.3.2 Thi công mô hình 55
4.4 LẬP TRÌNH HỆ THỐNG 55
4.4.1 Lưu đồ giải thuật 55
4.4.2 Phần mềm lập trình cho vi điều khiển 60
4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC 68
Chương 5 KẾT QUẢ THỰC HIỆN, ĐÁNH GIÁ HỆ THỐNG 70
5.1 KẾT QUẢ THỰC HIỆN 70
5.2 ĐÁNH GIÁ HOẠT ĐỘNG CỦA HỆ THỐNG 84
Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85
6.1 KẾT LUẬN 85
6.2 HƯỚNG PHÁT TRIỂN ĐỀ TÀI 85
TÀI LIỆU THAM KHẢO 86
1 Trích dẫn 86
2.Tài liệu tham khảo 86
3.Trang web tham khảo 86
PHỤ LỤC 87
1.Code điều khiển NodeMCU ESP8266 87
2.Code điều khiển Arduino thu thập dữ liệu 90
3.Code điều khiển Arduino xử lý trung tâm 95
Trang 10Hình 2-1: Hình ảnh thực tế module cảm biến khí Gas MQ-2 6
Hình 2-2: Module cảm biến phát hiện lửa 6
Hình 2-3: Cảm biến DHT22 7
Hình 2-4: Quang trở 8
Hình 2-5:Sơ đồ chân Arduino Nano 10
Hình 2-6: Hình ảnh LCD 16x2 10
Hình 2-7 : Module I2C chuyển đổi LCD 12
Hình 2-8: Module ESP8266 NodeMCU Lua CP2102 13
Hình 2-9: Sơ đồ chân Module ESP8266 NodeMCU Lua CP2102 14
Hình 2-10: Module SIM 800L 15
Hình 2-11: Module L298 17
Hình 2-12: Mạch Thu Phát RF NRF24L01+ 18
Hình 2-13: Sơ đồ chân Mạch Thu Phát RF NRF24L01+ 19
Hình 2-14: Kết nối 1 thiết bị với Arduino theo chuẩn giao tiếp SPI 20
Hình 2-15: Cấu trúc của một Frame dữ liệu 21
Hình 2-16: Bus I2C và các thiết bị ngoại vi 23
Hình 2-17: Kết nối thiết bị vào bus I2C ở chế độ chuẩn và chế độ nhanh 23
Hình 2-18: Hướng đi của xung Clock và hướng đi của đường dữ liệu 24
Hình 2-19: Trình tự truyền bit 24
Hình 2-20: Start bit và Stop bit 25
Hình 3-1: Sơ đồ khối thu thập dữ liệu 28
Hình 3-2: Sơ đồ khối thu thập dữ liệu thực tế 29
Hình 3-3: Sơ đồ khối xử lý trung tâm 30
Hình 3-4: Sơ đồ khối xử lý trung tâm thực tế 31
Hình 3-5: Sơ đồ nguyên lý khối cảm biến 33
Hình 3-6: sơ đồ khối của khối nguồn 34
Hình 3-7: Adapter 12v/3A 34
Hình 3-8: Module hạ áp LM2596 35
Hình 3-9: sơ đồ chân của NRF24L01 35
Hình 3-10: Sơ đồ nguyên lý khối thu thập dữ liệu giao tiếp với NRF24L01 36
Hình 3-11: Sơ đồ nguyên lý khối xử lý trung tâm giao tiếp với NRF24L01 36
Hình 3-12:Chi tiết các chân L298 37
Hình 3-13: sơ đồ nguyên lý kết nối với L298 38
Hình 3-14: Các chân của LCD 39
Hình 3-15:Module I2C chuyển đổi LCD 39
Hình 3-16: Sơ đồ nguyên lý khối giao tiếp với LCD 40
Hình 3-17: Sơ đồ chân của Esp8266 41
Hình 3-18: Sơ đồ nguyên lý khối giao tiếp với Esp8266 41
Hình 3-19: Sơ đồ chân module Sim 800L 42
Hình 3-20: sơ đồ nguyên lý khối giao tiếp với module sim 43
Hình 3-21: Sơ đồ nguyên lý khối thu thập dữ liệu 45
Hình 3-22: Sơ đồ khối xử lý trung tâm 47
Hình 4-1: PCB mặt sau khối thu thập 48
Hình 4-2: PCB mặt trước khối thu thập 49
Trang 11Hình 4-5: PCB mặt trước của khối trung tâm 52
Hình 4-6: Khối trung tâm sau khi đã kết nối linh kiện 53
Hình 4-7: Hình ảnh hệ thống sau khi hoàn thiện hộp bảo vệ 54
Hình 4-8: Hình ảnh mô hình đề tài 55
Hình 4-9: Lưu đồ khối thu thập dữ liệu 56
Hình 4-10: Lưu đồ truyền dữ liệu qua Module NRF24L01 57
Hình 4-11: Lưu đồ chương trình truyền dữ liệu UART sang NodeMCU 57
Hình 4-12: Lưu đồ NodeMCU 58
Hình 4-13: Lưu đồ khối xử lý trung tâm 59
Hình 4-14: Giao diện Arduino IDE 60
Hình 4-15: Chọn Arduino sử dụng 61
Hình 4-16: Chọn cổng COM kết nối với Arduino 62
Hình 4-17 : Trình duyệt truy cập vào ThingSpeak 64
Hình 4-18: Giao diện ban đầu của Thingspeak 64
Hình 4-19: Giao diện khởi tạo tài khoản ThingSpeaks 65
Hình 4-20: Giao diện cài đặt một số thông số của Web 65
Hình 4-21: Giao diện điểm thể hiện giá trị cảm biến đo được tại các khoảng thời gian khác nhau của ThingSpeaks 66
Hình 4-22: Thông tin của cảm biến muốn hiển thị lên Server Web 67
Hình 4-23: Giáo sát bằng giao diện đồng hồ của Thingspeaks 67
Hình 4-24: Thông tin của quang trở với giao diện đồng hồ 68
Hình 4-25: Quy trình thao tác sử dụng hệ thống 69
Hình 5-1: Hình ảnh thực tế mặt trước của mô hình 71
Hình 5-2: LCD hiển thị dữ liệu môi trường 71
Hình 5-3: Mạch phát dữ liệu môi trường và gửi dữ liệu lên thinkspeak 72
Hình 5-4: Mạch nhận dữ liệu môi trường và xử lý khi có hỏa hoạn 73
Hình 5-5: Hình ảnh kết quả so cùng một thời điểm 74
Hình 5-6: Hình ảnh test sự cố hỏa hoạn 75
Hình 5-7: LCD khi có sự cố hỏa hoạn 75
Hình 5-8: Hình ảnh test sự cố rò rỉ khí gas 76
Hình 5-9: LCD khi có sự cố rò rỉ khí gas 76
Hình 5-10: Hình ảnh hệ thống gửi cảnh báo đến người dùng 77
Hình 5-11: Hình ảnh giao diện web biểu diễn nhiệt độ dạng máy đo 78
Hình 5-12: Hình ảnh giao diện web biểu diễn nhiệt độ dạng biểu đồ 78
Hình 5-13: Hình ảnh giao diện web biểu diễn độ ẩm dạng máy đo 79
Hình 5-14: Hình ảnh giao diện web biểu diễn độ ẩm dạng biểu đồ 79
Hình 5-15: Hình ảnh giao diện web biểu diễn khí gas dạng máy đo 80
Hình 5-16: Hình ảnh giao diện web biểu diễn khí gas dạng biểu đồ 80
Hình 5-17: Hình ảnh giao diện web biểu diễn trạng thái lửa dạng máy đo 81
Hình 5-18: Hình ảnh giao diện web biểu diễn trạng thái lửa dạng biểu đồ 81
Hình 5-19: Hình ảnh giao diện web biểu diễn ánh sáng dạng máy đo 82
Hình 5-20: Hình ảnh giao diện web biểu diễn ánh sáng dạng biểu đồ 82
Hình 5-21: Các trường hiển thị giá trị của các cảm biến tại cùng 1 thời điểm 83
Trang 12Bảng 2-1: Thông số kỹ thuật cảm biến khí gas MQ-2 5
Bảng 2-2: Thông số kỹ thuật DHT22 7
Bảng 2-3: Chức năng các chân của LCD 16x2 11
Bảng 3-1: Danh sách linh kiện sử dụng nguồn 5V 44
Bảng 3-2: Danh sách linh kiện sử dụng nguồn 3.3V 44
Bảng 3-3: Danh sách linh kiện khối xử lý trung tâm 46
Bảng 4-1: Bảng thống kê linh kiện sử dụng cho khối thu dữ liệu 50
Bảng 4-2: Bảng thống kê linh kiện sử dụng cho khối trung tâm 52
Bảng 5-1: Bảng so sánh giá trị thu được so với nhiệt ẩm kế FY-11 74
Trang 13Ngày nay, sự phát triển của khoa học kỹ thuật đã làm cho đời sống con ngườingày càng được nâng cao Khi mức sống con người được nâng cao thì đòi hỏi môitrường sống của con người cần được cải thiện nhiều hơn Sống trong một xã hội màcác chỉ số môi trường an toàn với sức khỏe của con người là mục tiêu hướng tới củacộng đồng Chính vì lẽ đó con người cần phải biết được các chỉ số môi trường sốnghiện tại để từ đó có các biện pháp phòng tránh và cải thiện nó.
Hiện nay với sự phát triển mạnh mẽ của IoT (Internet of Things) và giám sát dữliệu đã được mở rộng thông qua web và các thiết bị được kết nối Internet Từ đó tạođược sự thuận tiện và hiện đại trong cuộc sống của con người
Nội dung của đề tài là áp dụng những kiến thức điện tử đã học để thiết kế mạch
đo các chỉ số môi trường Mạch gồm các cảm biến nhiệt độ, độ ẩm, cường độ ánhsáng, lửa, gas giao tiếp với bộ điều khiển trung tâm là Aduino Nano Không chỉ hiểnthị các dữ liệu thông qua LCD 16x2, mạch còn giám sát dữ liệu qua Web nhờ moduleESP8266 và báo động nhờ module Sim800L.Bên cạnh đó mạch còn có hệ thốngphòng cháy và rò rỉ khí gas thông qua máy bơm và quạt Mô hình cũng được thiết kếdạng hình khối chứa đựng tất cả mạch và cảm biến sử dụng Số liệu hiển thị trên trênLCD và Web trực quan, dễ nhìn Người dùng có thể dựa vào những dữ liệu đó để cócác quyết định và biện pháp phòng tránh hiệu quả
Trang 14Chương 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Theo như số liệu thống kê 6 tháng đầu năm 2020, trên địa bàn cả nước xảy ra 1490vụ cháy, nổ, làm 48 người chết và 111 người bị thương, thiệt hại ước tính gần 336,65 tỷđồng [1] Số liệu trên là một con số đáng báo động về tình trạng phòng chống cháy nổ củanhân dân cũng như chưa có đủ thiết bị an toàn để phòng chống hỏa hoạn Trong đó yếu tốmôi trường ảnh hưởng rất lớn, vì thế với mục đích kiểm soát chỉ số môi trường phòng
ngừa nguy cơ cháy nổ nhóm chúng em quyết định thực hiện đề tài “Thiết kế và
thi công hệ thống thu thập dữ liệu môi trường, hiển thị thông tin trên web và
cảnh báo hỏa hoạn qua SMS”.
Dựa trên thực tế là chỉ có những thiết bị phòng cháy đơn giản như là đầu báo cháy,đầu báo khói, đầu báo xì gas, hay các bình chữa cháy di động vẫn chỉ giải quyết đượcphần nào hiện tượng cháy nổ và chưa hiệu quả Vấn đề đặt ra là cần một hệ thống có thểthu thập dữ liệu của môi trường hiển thị lên website, cảnh báo cho người dùng khi có hỏahoạn, rò rỉ khí gas và người dùng có thể giám sát trực tiếp số liệu trên internet thông qualaptop hoặc là smart phone Nhóm em đã vận dụng các kiến thức được học tại trường [2]cũng như khảo sát thực tế để có thể hoàn thành được hệ thống như trên
Hệ thống thu thập dữ liệu môi trường, hiển thị thông tin trên web và cảnh báohỏa hoạn qua SMS dựa trên nền tảng kiến thức về lĩnh vực điện tử, xã hội và môitrường Nhóm phát triển hệ thống dựa trên đồ án môn học trước là hệ thống báo quánhiệt độ qua SMS Hệ thống sẽ được cải tiến thêm về khả năng phát hiện lửa, báocháy, rò rỉ khí gas, có cơ sở dữ liệu trực tuyến cho người dung
1.2 MỤC TIÊU
Thiết kế và thi công hệ thống thu thập dữ liệu môi trường, hiển thị thông tin trênweb và cảnh báo hỏa hoạn qua SMS để giúp người dùng hạn chế hiện tượng cháy nổ,rò rỉ khí gas, đảm bảo an toàn về tính mạng cũng như tài sản Sử dụng được vi điềukhiển Arduino Nano, module NodeMCU8266, các loại cảm biến,
Trang 151.3 NỘI DUNG NGHIÊN CỨU
Đối với đồ án: “Thiết kế và thi công hệ thống thu thập dữ liệu môi trường,
hiển thị thông tin trên web và cảnh báo hỏa hoạn qua SMS” thì nội dung
cần thực hiện bao gồm:
• Nội dung 1: Lên ý tưởng thực hiện đồ án, tìm hiểu về linh kiện sử dụng.
• Nội dung 2: Thiết kế, thi công khối cảm biến đo nhiệt độ, cảm biến phát hiện
lửa, cảm biến rò rỉ khí gas,
• Nội dung 3: Thiết kế khối giao tiếp ngoại vi, lấy cơ sở dữ liệu trực tuyến thông
qua internet, truyền nhận thông tin giữa trạm phụ và trạm trung tâm
• Nội dung 4: Vẽ lưu đồ giải thuật.
• Nội dung 5: Thiết kế và tiến hành viết chương trình cho vi điều khiển.
• Nội dung 6: Thiết kế và thi công hệ thống thu thập dữ liệu môi trường, hiển thị
thông tin trên web và cảnh báo hỏa hoạn qua SMS
• Nội dung 7: Lắp gáp các khối vào mô hình.
• Nội dung 8: Chạy thử nghiệm, cân chỉnh hệ thống.
• Nội dung 9: Viết luận văn.
• Nội dung 10: Báo cáo đề tài tốt nghiệp.
1.4 GIỚI HẠN
Các thông số giới hạn của đề tài bao gồm:
- Hệ thống chỉ sử dụng ở những phòng nhỏ phòng bếp: 3x3m, phòng khách:
5x5m, garage 5x5m
- Sử dụng động cơ bơm P385 12VDC, kích thước: 86x46x46 mm để phun nước
xử lí hỏa hoạn
- Giám sát nhiệt độ, ánh sáng, phát hiện lửa, rò rỉ khí gas bằng cảm biến và sử
dụng vi điều khiển Arduino Nano (5VDC) làm khối xử lí trung tâm
- Các trạm giám sát truyền nhận thông tin bằng sóng RF- khả năng truyền 100m
trong môi trường không có vật cản và hiển thị dữ liệu trên LCD 16X2 và trên cơ sở dữliệu trực tuyến
- Sử dụng cảm biến phát hiện lửa flame sensor (3.3V-5VDC)
Trang 16- Sử dụng cảm biến nhiệt độ DHT-22(5VDC), nhiệt độ hoạt động -40 oC ~ 80oC.
-Sử dụng cảm biến phát hiện khí gas MQ-2 (5VDC), chỉ phát hiện được các loạikhí như LPG, Metan, Hydrogen
1.5 BỐ CỤC
• Chương 1: Tổng quan
Chương này trình bày đặt vấn đề lý do chọn đề tài, mục tiêu, nội dung nghiên cứu,
các giới hạn thông số và bố cục đồ án
• Chương 2: Cơ Sở Lý Thuyết
Chương này tập trung vào các lý thuyết liên quan đến đề tài bao gồm các kiến
thức về các loại module, các thiết bị ngoại vi, vi điều khiển sử dụng trong hệ thống
• Chương 3: Thiết Kế và Tính Toán
Chương này trình bày về sơ đồ khối và sơ đồ nguyên lý của hệ thống, trình bàychi tiết về các loại linh kiện, giao thức giao tiếp giữa các module với nhau
• Chương 4: Thi Công Hệ Thống
Dựa trên sơ dồ nguyên lý tiến hành thi công phần cứng là lập trình phầm mềm
cho hệ thống đáp ứng được các yêu cầu đã định ra
• Chương 5: Kết Qủa, Nhận Xét và Đánh Giá
Chương này sẽ trình bày kết quả mà nhóm đã thực hiện so với mục tiêu ban
đầu, nhận xét hoạt động của hệ thống
• Chương 6: Kết Luận và Hướng Phát Triển
Tóm lược lại những điều nhóm đã thực hiện, đồng thời đưa ra hướng phát triểnđể có được một đề tài hoàn thiện
Trang 17Chương 2 CƠ SỞ LÝ THUYẾT
2.1 QUY TRÌNH GIÁM SÁT CỦA HỆ THỐNG
Hệ thống gồm 2 phần chính:
Phần thứ nhất là khối thu thập dữ liệu gồm các cảm biến phát hiện khí gas, cảmbiến phát hiện lửa và cảm biến nhiệt tương ứng với các cảm biến sau : cảm biến MQ-2,Flame Sensor phát hiện lửa, cảm biến DHT22, cảm biến ánh sáng Các cảm biến nàysẽ thu thập thông tin trong môi trường hiện tại sau đó sẽ gửi thông tin đến trung tâm xửlý bằng công nghệ truyền dẫn không dây thông qua bộ phát sóng cao tần (RF)
Phần thứ hai là bộ điều khiển trung tâm có nhiệm vụ nhận tín hiệu gửi về từ cáckhối thu thập dữ liệu thông qua bộ thu sóng cao tần để thực hiện bật quạt,máy bơm,gửi tin nhắn và gọi thông báo nếu có sự cố xảy ra Hiển thị các thông số môi trườngthu được lên giao diện giám sát
Vật liệu nhạy cảm của cảm biến khí MQ-2 là SnO2, có độ dẫn thấp hơn trongkhông khí sạch Khi phát hiện có khí đốt dễ cháy, độ dẫn của cảm biến nhiệt độ caohơn cùng với nồng độ khí tăng lên
❖ Đặc tính của cảm biến
• Độ nhạy tốt với khí dễ cháy trong phạm vi rộng
• Độ nhạy cao đối với LPG, Propane và Hydrogen
• Tuổi thọ cao và chi phí thấp
• Mạch đơn giản
Trang 18❖ Ứng dụng
• Phát hiện rò rỉ gas trong nước
• Máy dò khí đốt trong công nghiệp
• Máy dò khí cầm tay
❖ Thông tin kỹ thuật
Điện trở tải Có thể điều chỉnh được
nhiệt tiêu thụ
Điện trở cảm 2KΩ-20KΩ (trong 2000ppm 3 8)biến
Độ nhạy S (trong không khí)/( 10004)
≥5
Độ dốc Α ≤ 0.6( 5000/ 30004)
Điều kiện Nhiệt độ, độ ẩm 20℃±2℃(65%±5%RH
Kiểm tra mạch tiêu :5.0V±0.1V(
Thời gian nóng sơ bộ Hơn 48 giờBảng 2-1: Thông số kỹ thuật cảm biến khí gas MQ-2
Trang 19Hình 2-1: Hình ảnh thực tế module cảm biến khí Gas MQ-2
Lý do sử dụng: Cảm biến khí gas MQ-2 có độ nhạy cao, thời gian đáp ứng
nhanh, tuổi thọ cao, chi phí thấp, phù hợp với nhiều ứng dụng
2.2.1.2 Cảm biến lửa
Ngọn lửa phát ra tia hồng ngoại ở dãy 760nm-1100nm Dựa vào điều này, module
cảm biến phát hiện lửa dùng một diode hồng ngoại thu tín hiệu hồng ngoại ngọn lửa phát
ra Thông qua mạch tích hợp IC LM393 so sánh và đưa ra tín hiệu đầu ra
Hình 2-2: Module cảm biến phát hiện lửaModule này nhạy cảm với ngọn lửa và bức xạ Nó cũng có thể phát hiện nguồn
sáng thông thường trong phạm vi bước sóng 760nm - 1100nm Các khoảng cách phát
hiện từ 20cm đến 100cm
Flame sensor có thể xuất tín hiệu số hoặc tín hiệu tương tự
Lý do sử dụng: Cảm biến có độ nhạy với ngọn lửa và bức xạ nhiệt Cảm biến
có thể phát hiện được lửa có dãi bước sóng từ 760nm - 1100nm Có thể chỉnh lại độ
nhạy, kích thước nhỏ gọn phù hợp với mô hình
❖ Thông số kỹ thuật
• Khoảng cách phát hiện 20cm- 100cm
• Điện áp hoạt động : 3,3 – 5VDC
Trang 20• Góc quét 60 độ
• Tín hiệu ra Digital 3,3- 5VDC tùy nguồn cấp hoặc Analog
Lý do sử dụng: Đảm bảo độ tin cậy và tính ổn định cao, dãi đo nhiệt độ rộng từ-40° C đến 80°C, tiêu thụ điện năng ít chính là những điểm nổi bật của loại cảm biếnnày
Hình 2-3: Cảm biến DHT22
❖ Thông số kỹ thuật
Điện áp hoạt động 3.3 – 6VDC
Tín hiệu ngõ ra Tín hiệu số truyền theo chuẩn One-Wire
Yếu tố cảm biến Tụ Polymer
Phạm vi hoạt động Nhiệt độ: -40 ~ 80o
CĐộ ẩm : 0~100%RH
C, Độ ẩm : ± 2%RH
Bảng 2-2: Thông số kỹ thuật DHT22
Trang 21Dữ liệu single - bus được sử dụng để liên lạc giữa MCU và DHT22, nó tốn5mS cho một lần giao tiếp Dữ liệu bao gồm phần nguyên và phần thập phân.
DATA = Dữ liệu RH nguyên 8 bit + Dữ liệu RH thập phân 8 bit + Dữ liệu T nguyên 8bit + Dữ liệu T thập phân 8 bit + Tổng kiểm tra 8 bit
Nếu việc truyền dữ liệu là đúng, tổng kiểm tra phải là 8 bit cuối cùng của "Dữliệu RH nguyên 8 bit + Dữ liệu thập phân RH 8 bit + Dữ liệu T nguyên 8 bit + Dữ liệu
T thập phân 8 bit "
Khi MCU gửi tín hiệu bắt đầu, DHT22 thay đổi từ chế độ tiêu thụ điện năngthấp sang chế độ chạy Khi MCU kết thúc việc gửi tín hiệu bắt đầu, DHT22 sẽ gửi tínhiệu phản hồi của dữ liệu 40 bit phản ánh nhiệt độ, độ ẩm tương đối
2.2.1.4 Quang trở
Quang trở còn được gọi là điện trở quang là một trong những linh kiện được
tạo bằng một chất đặc biệt có thể thay đổi điện trở khi ánh sáng chiếu vào Về cơ bản, bạn có thể hiểu nó là một tế bào quang điện được hoạt động dựa theo nguyên lý
quang dẫn Hay có thể hiểu nó là một điện trở có thể thay đổi được giá trị theo cường độ ánh sáng
Hình 2-4: Quang trở
❖ Thông số kỹ thuật:
• Điện áp tối đa: 150Vdc
• Công suất tiêu thụ tối đa: 100mW
Trang 22• Nhiệt độ hoạt động: -30ºC đến +70ºC.
• Độ rọi: 20-45 K(ohm)
• Thời gian đáp ứng: 20ms
2.2.2 Khối vi điều khiển
Arduino là một board mạch vi xử lý nhằm xây dựng các ứng dụng tương tácvới nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một boardmạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARMAtmel 32-bit Những model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chânđầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khácnhau Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máytính cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduinobằng ngôn ngữ C hoặc C++
Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino.Arduino Nano có đầy đủ các chức năng và chương trình có trên Arduino Uno do cùng sửdụng MCU ATmega328P Nhờ việc sử dụng IC dán của ATmega328P thay vì IC châncắm nên Arduino Nano có thêm 2 chân Analog so với Arduino Uno
❖ Thông số kỹ thuật :
• Thiết kế theo đúng chuẩn chân, kích thước của Arduino Nano chính hãng
• IC chính: ATmega328P-AU
• IC nạp và giao tiếp UART: CH340
• Điện áp cấp: 5VDC cổng USB hoặc 6-9VDC chân Raw
• Mức điện áp giao tiếp GPIO: TTL 5VDC
• Dòng GPIO: 40mA
• Số chân Digital: 14 chân, trong đó có 6 chân PWM
• Số chân Analog: 8 chân (hơn Arduino Uno 2 chân)
• Flash Memory: 32KB (2KB Bootloader)
Trang 23• Tích hợp IC chuyển điện áp 5V LM1117.
Hình 2-6: Hình ảnh LCD 16x2Hàng 1: Kí tự tận cùng bên trái có địa chỉ là 0X80,kế là 0x80, cuối cùng là 0X8F
Hàng 2: Kí tự tận cùng bên trái có địa chỉ là 0xC0, cuối cùng là 0XCF
Trang 24❖ Sơ đồ chân
tự chân
3 VEE Điều chỉnh độ tương phản( cần được gắn với biến trở)
RS=0:Đưa LCD vào chế độ ghi lệnhRS=1:Đưa LCD vào chế độ ghi dữ liệu( xuất dữ liệu lên màn hình)
RW=0:Vi điều khiển truyền dữ liệu vào LCDRW=1:Vi điều khiển đọc dữ liệu từ LCD
E=1: cho phép LCD đọc/ghi
E chuyển từ 1 về 0: bắt đầu đọc/ghi LCD
Bảng 2-3: Chức năng các chân của LCD 16x2Lý do sử dụng: LCD 16x2 hiển thị được đầy đủ các thông số của cảm biến phùhợp với mục đích sử dụng của hệ thống gồm có giá trị của cám biến nhiệt độ độ ẩm,cảm biến lửa, cám biến khí gas Tốn rất ít tài nguyên hệ thống và giá thành rẻ
Trang 252.2.4 Mạch chuyển đổi I2C cho LCD
LCD thường có nhiều chân nên khó khăn trong quá trình kết nối Thay vì sửdụng tối thiểu sáu chân của vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 vàD4) thì với module chuyển đổi chỉ cần sử dụng hai chân (SCL, SDA) để kết nối.Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver HD44780 kết nối với viđiều khiển thông qua giao tiếp I2C, tương thích với hầu hết các vi điều khiển
Hình 2-7: Module I2C chuyển đổi LCD
❖ Ưu điểm
• Tiết kiệm chân cho vi điều khiển
• Dễ dàng kết nối với LCD
❖ Thông số kỹ thuật
• Điện áp hoạt động: 2.5 - 6V DC
• Hỗ trợ màn hình: LCD1602, 1604, 2004 (driver HD44780)
• Giao tiếp: I2C
• Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)
• Kích thước: 41.5mm (L) x 19mm (W) x 15.3mm (H)
• Trọng lượng: 5g
• Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt
• Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD
Trang 262.2.5 Khối nhận tín hiệu
Hình 2-8: Module ESP8266 NodeMCU Lua CP2102Kit RF thu phát Wifi ESP8266 NodeMCU Lua là kit phát triển dựa trên nềnchip Wifi SoC ESP8266 với thiết kế dễ sử dụng và đặc biệt là có thể sử dụng trực tiếptrình biên dịch của Arduino để lập trình và nạp code, điều này khiến việc sử dụng vàlập trình các ứng dụng trên ESP8266 trở nên rất đơn giản
Kit RF thu phát Wifi ESP8266 NodeMCU Lua được dùng cho các ứng dụngcần kết nối, thu thập dữ liệu và điều khiển qua sóng Wifi, đặc biệt là các ứng dụng liênquan đến IoT
Kit RF thu phát Wifi ESP8266 NodeMCU Lua sử dụng chip nạp và giao tiếpUART mới và ổn định nhất là CP2102 có khả năng tự nhận Driver trên tất cả các hệđiều hành Window và Linux, đây là phiên bản nâng cấp từ các phiên bản sử dụng ICnạp giá rẻ CH340
Lý do sử dụng: Module WiFi ESP8266 có chức năng cập nhật giá trị cảm biếntừ vi điều khiển, đưa dữ liệu lên trang Web Thingspeak
❖ Thông số kỹ thuật
• IC chính: ESP8266 Wifi SoC
• Phiên bản firmware: NodeMCU Lua
• Chip nạp và giao tiếp UART: CP2102
• GPIO tương thích hoàn toàn với firmware Node MCU
• Cấp nguồn: 5VDC MicroUSB hoặc Vin
• Dòng định mức 80mA
• GIPO giao tiếp mức 3.3VDC
Trang 27• Tích hợp Led báo trạng thái, nút Reset, Flash.
• Tương thích hoàn toàn với trình biên dịch Arduino
• 2 SPI (SPI,HSPI)
• 13 GPIO
• Số chân Analog Input: 1 (điện áp vào tối đa 3.3V)
• Bộ nhớ Flash: 4MB
• Hỗ trợ bảo mật: WPA/WPA2
Trang 282.2.6 Module Sim 800L
Hình 2-10: Module SIM 800LMạch GSM GPRS Sim800L được thiết kế nhỏ gọn với chi phí thấp nhưng vẫn
đảm bảo được khả năng hoạt động tốt Mạch được thiết kế ra các chân cơ bản của
SIM800L, tích hợp khe cắm Sim kích thước chuẩn và Anten GSM đi kèm cho khả
năng bắt sóng ổn định
Lý do sử dụng: thiết kế nhỏ gọn với chi phí thấp nhưng vẫn đảm bảo được khả
năng hoạt động tốt
❖ Thông số kỹ thuật:
• Nguồn cấp: 4.2VDC , có thể sử dụng với nguồn dòng thấp từ 500mAh trở lên
(như cổng USB, nguồn từ Board Arduino) Nhưng khuyên các bạn nên dùng
nguồn có dòng và áp đủ 4.2V-1A để đảm bảo mạch hoạt động ổn định
• Khe cắm SIM : MICROSIM
• Dòng khi ở chế độ chờ: 10 mA
• Dòng khi hoạt động: 100 mA đến 1A
• Hỗ trợ 4 băng tần phổ biến
Trang 29• SPKP, SPKN: ngõ ra âm thanh, nối với loa để phát âm thanh (8 Ohm-0.87W).
• MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm thanh
• Reset: Chân khởi động lại Sim800L (thường không xài)
• RING : báo có cuộc gọi đến
• GND: Chân Mass, cấp 0V
❖ Nguyên lý hoạt động
Module sim hoạt động dựa trên cách thức là : giao tiếp UART với vi điều khiển trung
tâm và sử dụng tập lệnh AT
2.2.6.1 Tập lệnh AT
Tập lệnh AT (Attention command) tập lệnh chuẩn được hỗ trợ bởi hầuhết các thiết bị di động như điện thoại di động, GSM modem có hỗ trợ gửi và nhận tinnhắn tin nhắn dưới dạng SMS (Short Message Service) và điều khiển cuộc gọi
Các lệnh chung:
• AT : Kiểm tra module có hoạt động hay không
Trả về: OK nếu hoạt động bình thường, báo lỗi hoặc không trả về nếu có lỗi
xảy ra
• AT+CPIN? : Kiểm tra Simcard
Trả về: +CPIN: READY OK (nếu tìm thấy simcard)
Các lệnh gọi điện:
• ATD0123456789: Gọi điện cho số điện thoại 0123456789
• ATA : Chấp nhận cuộc gọi đến
• ATH : Hủy cuộc gọi
• AT+CUSD=1 : Chuyển chế độ USD để tra số dư tài khoản
• ATD*101#; : Kiểm tra tài khoản ( Trả về: +CUSD: 0, “Tai khoan goc cua quy
khach la ….)
Các lệnh nhắn tin:
• AT+CMGF=x : Cấu hình tin nhắn (x=0: DPU, x=1:dạng ký tự)
• AT+CNMI=2,x,0,0 : Chọn x=1 (chỉ báo vị trí lưu tin nhắn) hoặc x=2 (hiển thị
ra ngay nội dung tin nhắn)
Trả về: +CMTI: “SM”,3 (x=1)
Trang 30Trả về:+CMT: “+84938380171″, ’’’’,”17/07/30,14:48:09 +28” noidungtinnhan.
• AT+CMGR=x : Đọc tin nhắn tại vị trí lưu x
Trả về: nội dung tin nhắn
• AT+CMGD=x : Xóa tin nhắn được lưu ở vị trí x
• AT+CMGS=”sodienthoai” : Gửi tin nhắn cho sodienthoai, sau dòng lệnh này sẽ
nhận được ‘>’ (mã HEX là 0x3C), bây giờ có thể nhập vào nội dung tin nhắn,
nhập tiếp 0x1A để gửi tin nhắn đi hoặc 0x1B để hủy gửi tin nhắn
2.2.7 Module L298
Mạch điều khiển động cơ DC L298 có khả năng điều khiển 2 động cơ DC,dòng tối đa 2A mỗi động cơ, mạch tích hợp diod bảo vệ và IC nguồn 7805 giúp cấpnguồn 5VDC cho các module khác (chỉ sử dụng 5V này nếu nguồn cấp <12VDC)
Mạch điều khiển động cơ DC L298 dễ sử dụng, chi phí thấp, dễ lắp đặt, là sựlựa chọn tối ưu trong tầm giá
❖ Thông số kỹ thuật:
• IC chính: L298 - Dual Full Bridge Driver
• Điện áp đầu vào: 5~30VDC
• Công suất tối đa: 25W 1 cầu (lưu ý công suất = dòng điện x điện áp nên áp cấp vào càng cao, dòng càng nhỏ, công suất có định 25W)
• Dòng tối đa cho mỗi cầu H là: 2A
• Mức điện áp logic: Low -0.3V~1.5V, High: 2.3V~Vss
• Kích thước: 43x43x27mm
Hình 2-11: Module L298
Trang 312.2.8 Mạch thu phát RF NRF24L01+
Hình 2-12: Mạch Thu Phát RF NRF24L01+
Module sử dụng chip truyền sóng NRF24L01+ mới nhất từ hãng Nordic với nhiềucải tiến so với chip NRF24L01 cũ về tốc độ truyền, khoảng cách, độ nhạy, bổ sung thêmpipelines, buffers, và tính năng auto-retransmit nhưng vẫn tương thích ngược với phiênbản cũ về cách sử dụng NRF24L01+ hoạt động trên dải tần 2.4GHz và sử dụng giaotiếp SPI, khoảng cách tối đa trong điều khiện không vật cản lên đến 100m
Lý do sử dụng: Mạch thu phát RF NRF24L01+ có chức năng truyền, nhận dữliệu giữa 2 khối thu thập dữ liệu và khối xử lý trung tâm
❖ Thông số kỹ thuật
• Điện áp hoạt động: 1.9V - 3.6V
• Dòng điện hoạt động nhỏ khoảng 25mA
• Có sẵn anthena sứ 2.4GHz
• Truyền được 100m trong môi trường mở với 250kbps baud
• Tốc độ truyền dữ liệu qua sóng: 250kbps to 2Mbps
• Tự động bắt tay (Auto Acknowledge)
• Tự động truyền lại khi bị lỗi (auto Re-Transmit)
• Multiceiver - 6 Data Pipes
• Bộ đệm dữ liệu riêng cho từng kênh truyền nhận: 32 Byte separate TX and RXFIFOs
• Các chân IO đều chịu được điện áp vào 5V
• Lập trình được kênh truyền sóng trong khoảng 2400MHz đến 2525MHz (chọn được 125 kênh)
Trang 32❖ Chức năng các chân
Hình 2-13: Sơ đồ chân Mạch Thu Phát RF NRF24L01+
• 2 VCC (Power) : nguồn cung cấp cho module (1.9V – 3.6V DC)
• 3 CE (Chip Enable) : sử dụng để cho phép giao tiếp SPI
• 4 CSN (Chip Select Not) : luôn để ở mức logic 1, không thì sẽ vô hiệu hóa
giao tiếp SPI
• 5 SCK (Serial Clock) : cung cấp xung clock khi giao tiếp SPI hoạt động
• 6 MOSI (Master Slave Out Slave In): Kết nối với chân MOSI của MCU,
cho việc nhận dữ liệu từ MCU
• 7 MISO (Master In Slave Out): Kết nối với chân MISO của MCU, cho việc
truyền dữ liệu từ MCU
• 8 IRQ (Interrupt): có chức năng là ngắt, khi cần sử dụng thì cho xuống mức
logic 0
2.2.9 Khối nguồn
Mạch giảm áp DC LM2596 nhỏ gọn có khả năng giảm áp từ 30V xuống 1.5Vmà vẫn đạt hiệu suất cao (92%) Thích hợp cho các ứng dụng chia nguồn, hạ áp, cấpcho các thiết bị như camera, robot,
❖ Thông số kỹ thuật:
• Điện áp đầu vào: Từ 3V đến 30V
• Điện áp đầu ra: Điều chỉnh được trong khoảng 1.5V đến 30V
• Dòng đáp ứng tối đa là 3A
• Hiệu suất : 92%
Trang 33• Công suất : 15W.
• Kích thước: 45 (dài) * 20 (rộng) * 14 (cao) mm
2.3 CÁC CHUẨN TRUYỀN DỮ LIỆU
2.3.1 Giao tiếp SPI
SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao dohãng Motorola đề xuất Đây là kiểu truyền thông Master-Slave, trong đó có một chipMaster điều phối quá trình tuyền thông và các chip Slaves được điều khiển bởi Mastervì thế truyền thông chỉ xảy ra giữa Master và Slave SPI là một cách truyền song công(full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy rađồng thời SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếptrong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI(Master Ouput Slave Input) và SS (Slave Select)
Hình 2-14: Kết nối 1 thiết bị với Arduino theo chuẩn giao tiếp SPI
• SCK: Xung giữ nhịp cho giao tiếp SPI vì SPI là chuẩn truyền đồng bộ nên cần 1đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi Đây làđiểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩnUART Sự tồn tại của chân SCK giúp quá trình tuyền ít bị lỗi và vì thế tốc độtruyền của SPI có thể đạt rất cao Xung nhịp chỉ được tạo ra bởi chip Master
• MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Inputcòn nếu là chip Slave thì MISO lại là Output MISO của Master và các Slavesđược nối trực tiếp với nhau
• MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đườngOutput còn nếu là chip Slave thì MOSI là Input MOSI của Master và cácSlaves được nối trực tiếp với nhau
Trang 34• SS – Slave Select: SS là đường chọn Slave cần giao tiếp, trên các chip Slave
đường SS sẽ ở mức cao khi không làm việc Nếu chip Master kéo đường SS
của một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master
và Slave đó Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường
điều khiển SS trên Master, tùy thuộc vào thiết kế của người dùng
2.3.2 Giao tiếp UART
UART – là viết tắt của Universal Asynchronous Receiver – Transmitter có
nghĩa là truyền nhận dữ liệu nối tiếp bất đồng bộ
❖ Đặc điểm:
Truyền dữ liệu nối tiếp bất đồng bộ có một đường phát dữ liệu (Tx) và một
đường nhận dữ liệu (Rx), do không có tín hiệu xung clock nên gọi là bất đồng bộ Để
truyền được dữ liệu thì cả bên phát và bên nhận phải tự tạo xung clock có cùng tần số
và thường được gọi là tốc độ baud, ví dụ như 2400 baud, 4800 baud, 9600 baud
❖ Ưu điểm: Đơn giản, hiệu quả tương đối cao.
❖ Khuyết điểm: Do tồn tại các bit start và bit stop, khoảng trống dẫn đến thời gian
truyền chậm
❖ Quá trình truyền dữ liệu UART
Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi,
sau đó là các bit dữ liệu và kết thúc quá trình truyền là STOP bit
Hình 2-15: Cấu trúc của một Frame dữ liệuKhi ở trạng thái chờ mức điện thế ở mức logic 1 (high) Khi bắt đầu truyền
START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trình truyền dữ liệu
Trang 35sắp xảy ra Sau START bit là đến các bit dữ liệu D0-D7 (theo hình các bit này có thể ởmức High or Low tùy theo dữ liệu) Sau khi truyền hết dữ liệu thì đến Bit Parity để bộnhận kiểm tra tính đúng đắn của dữ liệu truyền Cuối cùng là STOP bit là 1 báo chothiết bị rằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khungtruyền nhằm đảm báo tính đúng đắn của dữ liệu.
❖ Thông số chuẩn truyền UART
• Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền Phải
được cài đặt giống nhau ở gửi và nhận
• Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền
• Start bit : là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có một gói dữ liệu sắp đc truyền đến Bit bắt buộc
• Data : dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đến bit MSB
• Parity bit : kiểm tra dữ liệu truyền có đúng không
• Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết bịnhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu.Bit bắt buộc
2.3.3 Giao tiếp I2C
I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit Đây là đường Bus giaotiếp giữa các IC với nhau
I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sảnxuất IC trên thế giới sử dụng Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rấtnhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM chip nhớnhư: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tươngtự(DAC), IC điểu khiển LCD, LED
Trang 36Hình 2-16: Bus I2C và các thiết bị ngoại vi
❖ Đặc điểm giao tiếp I2C
Một giao tiếp I2C gồm có 2 dây: Serial Data (SDA) và Serial Clock (SCL) SDA
là đường truyền dữ liệu 2 hướng, còn SCL là đường truyền xung đồng hồ để đồng bộvà chỉ theo một hướng
Hình 2-17: Kết nối thiết bị vào bus I2C ở chế độ chuẩn và chế độ nhanh
Mỗi dây SDA hãy SCL đều được nối với điện áp dương của nguồn cấp thôngqua một điện trở kéo lên (pullup resistor) Sự cần thiết của các điện trở kéo này là vìchân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng hở (opendrainhay opencollector) Giá trị của các điện trở này khác nhau tùy vào từng thiết bị vàchuẩn giao tiếp, thường dao động trong khoảng 1k đến 4.7k
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) đểphân biệt, nó còn được cấu hình là thiết bị đầu hay thiết bị cuối Thiết bị đầu nắm vai tròtạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị đầu – cuối giao tiếp thì thiết bịđầu có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị cuối trong suốt
Trang 37quá trình giao tiếp Thiết bị đầu giữ vai trò chủ động, còn thiết bị cuối giữ vai trò bị
động trong việc giao tiếp
Hình 2-18: Hướng đi của xung Clock và hướng đi của đường dữ liệu
❖ Chế độ hoạt động
Các bus I2C có thể hoạt động ở ba chế độ, hay nói cách khác các dữ liệu trên bus
• Chế độ tiêu chuẩn: tốc độ truyền dữ liệu tối đa là 100Kpbs, sử dụng 7 bit địa
chỉ và 112 địa chỉ tớ
• Chế độ nhanh: tốc độ truyền lên đến 400Kpbs
• Chế độ tốc độ cao: Chế độ này đã được tạo ra chủ yếu để tăng tốc độ dữ liệu lên
đến 36 lần nhanh hơn so với chế độ tiêu chuẩn Nó cung cấp 1,7 Mbps (với
• Một chủ một tớ (one master - one slave)
• Một chủ nhiều tớ (one master - multi slave)
• Nhiều chủ nhiều tớ (Multi master - Multi slave)
Thiết bị chủ xác định đúng địa chỉ của thiết bị tớ, cùng với việc xác định địa
chỉ, thiết bị chủ sẽ quyết định việc đọc hay ghi vào thiết bị tớ -Thiết bị chủ gửi dữ liệu
tới thiết bị tớ Thiết bị tớ kết thúc quá trình truyền dữ liệu
❖ Trình tự truyền bit trên đường truyền
Trang 38Thiết bị chủ tạo một điều kiện start Điều kiện này thông báo cho tất cả các
thiết bị tớ lắng nghe dữ liệu trên đường truyền Thiết bị chủ gởi địa chỉ của thiết bị tớ
mà thiết bị chủ muốn giao tiếp và cờ đọc/ghi dữ liệụ (nếu cờ thiết lập lên 1 byte tiếp
theo được truyền từ thiết bị tớ đến thiết bị chủ, nếu cờ thiết lập xuống 0 thì byte tiếp
theo truyền từ thiết bị chủ đến thiết bị tớ)
Khi thiết bị tớ trên bus I2C có địa chỉ đúng với địa chỉ mà thiết bị chủ gửi sẻ
phản hồi lại bằng một xung ACK
Giao tiếp giữa thiết bị chủ và tớ trên bus dữ liệu bắt đầu Cả chủ và tớ đều có
thể nhận hoặc truyền dữ liệu tùy thuộc vào việc truyền thông là đọc hay viết Bộ
truyền gửi 8 bit dữ liệu tới bộ nhận, Bộ nhận trả lời với một bit ACK
Để kết thúc quá trình giao tiếp, thiết bị chủ tạo ra một điều kiện stop
❖ Điều kiện START và STOP
START và STOP là những điều kiện bắt buộc phải có khi một thiết bị chủ muốn
thiết lập giao tiếp với một thiết bị nào đó trên bus I2C START là điều kiện khởi
đầu,báo hiệu bắt đầu của giao tiếp, còn STOP báo hiệu kết thúc một giao tiếp Hình
dưới đây mô tả điều kiện START và STOP
Ban đầu khi chưa thực hiện quá trình giao tiếp, cả hai đường SDA và SCL đều
ở mức cao (SDA = SCL = HIGH) Lúc này bus I2C được coi là rỗi (“bus free”), sẵn
sàng cho một giao tiếp Hai điều kiện START và STOP là không thể thiếu trong việc
giao tiếp giữa các thiết bị I2C với nhau
Hình 2-20: Start bit và Stop bit
Điều kiện Start: Một sự chuyển đổi trạng thái từ cao xuống thấp trên
đường SDA trong khi đường SCL đang ở mức cao báo hiệu một điều kiện START.
Điều kiện Stop: Một sự chuyển đổi từ mức thấp lên mức cao trên đường SDA
khi SCL đang ở mức cao Cả hai điều kiện START và STOP đều được tạo ra bởi thiết
Trang 39bị chủ Sau tín hiệu START, bus I2C coi như đang trong trạng thái làm việc (busy).
Bus I2C sẽ rỗi, sẳn sàng cho một giao tiếp mới sau tín hiệu STOP từ phía thiết bị chủ
Sau khi có một điều kiện START, trong quá trình giao tiếp, khi có một tín hiệu
START được lặp lại thay vì một tín hiệu STOP thì bus I2C vẫn tiếp tục trong trạng
thái bận Tín hiệu START và lặp lại START (Repeated START) đều có chức năng
giống nhau là khởi tạo một giao tiếp
Trang 40Chương 3 TÍNH TOÁN VÀ THIẾT KẾ
3.1 GIỚI THIỆU
Hệ thống cảnh báo hỏa hoạn và rò rỉ khí gas gồm có 2 khối:
+ Khối thu thập dữ liệu có chức năng thu thập các thông tin về nhiệt độ, độẩm,ánh sáng, lửa và khí gas tồn tại trong một khu vực nhất định, truyền cácdữ liệu đó tới khối xứ lý trung tâm nhờ module NRF24L01 Đồng thời, khiphát hiện có lửa hay khí gas tồn tại, mạch sẽ điều khiển relay để kích hoạtmáy bơm dập lửa hoặc sẽ mở quạt để hút khi gas ra ngoài Ngoài ra, hệthống cũng cập nhập dữ liệu liên tục đưa lên trang Web nhờ kit thu phátsóng Wifi NodeMCU8266 giúp người dùng có thể quan sát kể cả khi họkhông có ở nhà
+ Khối thứ hai là khối xử lý trung tâm sẽ nhận các thông tin từ khối thu thập,hiển thị dữ liệu lên LCD cho người dùng dễ quan sát, nếu nhận được cónguy hiểm tại nhà của người dùng sẽ gọi điện và nhắn tin ngay lập tức
Để có kết quả đo chính xác bên cạnh sai số của cảm biến, chúng ta phải tính toán các
hệ số quy đổi cho phù hợp để dữ liệu đo về là chính xác nhất Với đề tài sử dụng khánhiều các cảm biến, sai số càng nhỏ thì tính mạch bạch của đề tài càng cao