You are on page 1of 52

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:

HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TỪ XA


VÀ CẢNH BÁO NGUY CƠ
CHÁY NỔ QUA SMS

Sinh viên thực hiện: PHẠM THỊ HƯƠNG LY

Lớp CN-Điện tử 01 – K60

MSSV: 20156011

Giảng viên hướng dẫn: ThS. Đinh Thị Nhung

Hà Nội, 2-2022
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG

ĐỒ ÁN
TỐT NGHIỆP ĐẠI HỌC
Đề tài:

HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ TỪ XA


VÀ CẢNH BÁO NGUY CƠ
CHÁY NỔ QUA SMS

Sinh viên thực hiện: PHẠM THỊ HƯƠNG LY


Lớp CN-Điện tử 01 – K60
MSSV: 20156011

Giảng viên hướng dẫn: ThS. Đinh Thị Nhung


Chữ ký của GVHD

Cán bộ phản biện: _________________


Chữ ký của CBPB

Hà Nội, 2-2022
ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP
(Dùng cho giảng viên hướng dẫn)
Giảng viên đánh giá: ThS. Đinh Thị Nhung
Họ và tên sinh viên: Phạm Thị Hương Ly MSSV: 20156011
Tên đồ án: “Hệ thống điều khiển thiết bị từ xa và cảnh báo nguy cơ cháy nổ qua SMS”.
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả thuyết
1 2 3 4 5
1 (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng của đồ
1 2 3 4 5
án
1 2 3 4 4
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế)
1 2 3 4 5
1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1 2 3 4 5
1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả đạt được
1 2 3 4 5
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp thực hiện 1 2 3 4 5
5
dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống 1 2 3 4 5
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều được 1 2 3 4 5
6
phân tích và đánh giá thỏa đáng. 1 2 3 4 5
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết quả đạt
1 3 3 4 5
7 được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để đề xuất
1 2 3 4 5
hướng giải quyết có thể thực hiện trong tương lai.
Kỹ năng viết quyển đồ án (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương logic và đẹp
mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số thứ tự và được
1 3 3 4 5
8 giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách sau dấu chấm,
1 2 3 4 5
dấu phẩy v.v), có mở đầu chương và kết luận chương, có liệt kê tài liệu
tham khảo và có trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận 1 3 3 4 5
9
logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC
10a khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong 5
nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu
10b khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích 2
trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng /50

Điểm tổng quy đổi về thang 10


Nhận xét khác (về thái độ và tinh thần làm việc của sinh viên)
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

Ngày: … / … / 20…
Người nhận xét
(Ký và ghi rõ họ tên)
ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP
(Dùng cho cán bộ phản biện)
Giảng viên đánh giá: .....................................................................................................
Họ và tên sinh viên: Phạm Thị Hương Ly MSSV: 20156011
Tên đồ án: “Hệ thống điều khiển thiết bị từ xa và cảnh báo nguy cơ cháy nổ qua SMS”.
Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây:
Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5)
Có sự kết hợp giữa lý thuyết và thực hành (20)
Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả thuyết
1 1 3 4 5
1 (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng của đồ
1 2 3 4 5
án
1 2 3 4 5
2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế)
1 2 3 4 5
1 2 3 4 5
3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề
1 2 3 4 5
1 2 3 4 5
4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả đạt được
1 2 3 4 5
Có khả năng phân tích và đánh giá kết quả (15)
Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp thực hiện 1 2 3 4 5
5
dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống 1 2 3 4 5
Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều được 1 2 3 4 5
6
phân tích và đánh giá thỏa đáng. 1 2 3 4 5
Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết quả đạt
1 2 3 4 5
7 được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để đề xuất
1 2 3 4 5
hướng giải quyết có thể thực hiện trong tương lai.
Kỹ năng viết quyển đồ án (10)
Đồ án trình bày đúng mẫu quy định với cấu trúc các chương logic và đẹp
mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số thứ tự và được
1 2 3 4 5
8 giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách sau dấu chấm,
1 2 3 4 5
dấu phẩy v.v), có mở đầu chương và kết luận chương, có liệt kê tài liệu
tham khảo và có trích dẫn đúng quy định
Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận 1 2 3 4 5
9
logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5
Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp)
Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC khoa
10a học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) 5
từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế
Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu
10b khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích 2
trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI contest.
10c Không có thành tích về nghiên cứu khoa học 0
Điểm tổng /50

Điểm tổng quy đổi về thang 10


Nhận xét khác của cán bộ phản biện
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................

Ngày: … / … / 20…
Người nhận xét
(Ký và ghi rõ họ tên)
LỜI CẢM ƠN

Trong quá trình thực hiện đồ án tốt nghiệp, em đã nhận được sự giúp đỡ, góp ý
và chỉ dạy tận tình của thầy cô và bạn bè tại trường Đại học Bách khoa Hà Nội.
Em xin chân thành gửi lời cảm ơn đến ThS. Đinh Thị Nhung – viện Điện tử -
Viễn thông – trường Đại học Bách khoa Hà Nội đã trực tiếp hướng dẫn, chỉ bảo và
góp ý cho em tận tình trong quá trình em thực hiện đề tài “Hệ thống điều khiển thiết
bị từ xa và cảnh báo nguy cơ cháy nổ qua SMS”.
Tiếp đến, em xin cảm ơn viện Điện tử - Viễn thông, trường Đại học Bách khoa
Hà Nội đã tạo điều kiện cho em trong quá trình em thực hiện đồ án tốt nghiệp.
Cuối cùng, em xin cảm ơn anh chị, bạn bè đã giúp đỡ em nhiệt tình trong quá
trình em thực hiện đồ án.
Trân trọng cảm ơn!
LỜI CAM ĐOAN

Tôi là Phạm Thị Hương Ly, mã số sinh viên 20156011, sinh viên lớp CN-Điện
tử 01, khóa K60. Người hướng dẫn là ThS. Đinh Thị Nhung. Tôi xin cam đoan toàn
bộ nội dung được trình bày trong đồ án “Hệ thống điều khiển thiết bị từ xa và cảnh
báo nguy cơ cháy nổ qua SMS” là kết quả quá trình tìm hiểu và nghiên cứu của tôi.
Các dữ liệu được nêu trong đồ án là hoàn toàn trung thực, phản ánh đúng kết quả đo
đạc thực tế. Mọi thông tin trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ; các
tài liệu tham khảo được liệt kê rõ ràng. Tôi xin chịu hoàn toàn trách nhiệm với những
nội dung được viết trong đồ án này.

Hà nội, ngày … / … / 20…


Người cam đoan

Phạm Thị Hương Ly


MỤC LỤC

DANH MỤC TỪ VIẾT TẮT ............................................................................. i


DANH MỤC HÌNH VẼ .................................................................................... ii
DANH MỤC BẢNG BIỂU .............................................................................. iii
TÓM TẮT NỘI DUNG ĐỒ ÁN ...................................................................... iv
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG........................................................ 1
1.1. Đặt vấn đề ............................................................................................... 1
1.2. Tầm quan trọng ...................................................................................... 1
1.3. Giới hạn nghiên cứu trong đồ án ............................................................ 2
1.4. Ứng dụng hệ thống ................................................................................. 2
1.5. Giải pháp thiết kế ................................................................................... 2
1.6. Thiết kế sơ đồ khối tổng quát hệ thống .................................................. 2
1.6.1. Sơ đồ khối tổng quát hệ thống ......................................................... 2
1.6.2. Lựa chọn thiết bị chính cho hệ thống .............................................. 3
1.7. Kết luận chương 1 .................................................................................. 4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.................................................................. 5
2.1. Đặt vấn đề ............................................................................................... 5
2.2. Tổng quan phần cứng của đề tài ............................................................. 5
2.2.1. Arduino Nano .................................................................................. 5
2.2.2. Module SIM 800L ........................................................................... 9
2.2.3. Cảm biến nhiệt độ DHT11 ............................................................ 12
2.2.4. Cảm biến khí gas MQ2 .................................................................. 14
2.2.5. LCD ............................................................................................... 15
2.2.6. Đèn led .......................................................................................... 17
2.2.7. Còi chip ......................................................................................... 18
2.3. Kết luận chương 2 ................................................................................ 19
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ........................................................... 20
3.1. Sơ đồ khối phần cứng hệ thống ............................................................ 20
3.2. Nguyên lý hoạt động ............................................................................ 20
3.2.1. Chức năng điều khiển thiết bị từ xa............................................... 20
3.2.2. Chức năng cảnh báo nguy cơ cháy nổ ........................................... 20
3.3. Các chức năng từng khối trong hệ thống.............................................. 20
3.3.1. Khối SMS ...................................................................................... 21
3.3.2. Khối cảm biến ............................................................................... 21
3.3.3. Khối thông báo (chuông, đèn) ....................................................... 21
3.3.4. Khối hiển thị .................................................................................. 21
3.4. Thiết kế phần cứng ............................................................................... 21
3.4.1. Thiết kế sơ đồ nguyên lý hệ thống ................................................ 22
3.4.2. Thiết kế mạch in ............................................................................ 23
3.5. Thiết kế phần mềm ............................................................................... 25
3.5.1. Lưu đồ thuật toán và giải thích lưu đồ thuật toán.......................... 26
3.5.2. Giới thiệu phần mềm Arduino IDE ............................................... 27
3.6. Hình ảnh sản phẩm ............................................................................... 30
3.7. Hạn chế của sản phẩm .......................................................................... 30
3.8. Kết luận chương 3 ................................................................................ 30
KẾT LUẬN ..................................................................................................... 31
TÀI LIỆU THAM KHẢO ............................................................................... 32
PHỤ LỤC ........................................................................................................ 33
DANH MỤC TỪ VIẾT TẮT
ADC (Analog Digital Converter): Bộ chuyển đổi tín hiệu analog sang digital
EIR (Equipment Indentity Register): Thanh ghi định dạng thiết bị
IDE (Integrated development environment): Môi trường lập trình
LCD (Liquid crystal display): Màn hình tinh thể lỏng
LED (Light Emitting Diode): Đèn điốt phát quang
GSM (Global System for Mobile Communication): Mạng thông tin toàn cầu
TDMA (Time Division Multiple Access): Phân chia các truy cập theo thời gian

i
DANH MỤC HÌNH VẼ
Hình 1.1: Sơ đồ khối tổng quát hệ thống .................................................................... 3
Hình 2.1: Arduino Nano ............................................................................................. 5
Bảng 2.1: Thông số của Arduino Nano ...................................................................... 6
Hình 2.2: Vi điều khiển ATmega328 và các GPIO trên Arduino Nano ..................... 7
Hình 2.3: Các cổng vào ra trên Arduino Nano ........................................................... 8
Hình 2.4: Module Sim 800L thực tế ........................................................................... 9
Hình 2.5: Cảm biến DHT11 ...................................................................................... 12
Hình 2.6: Sơ đồ kết nối vi điều khiển ....................................................................... 13
Hình 2.7: Sơ đồ kết nối DHT11 với Arduino Uno ................................................... 14
Hình 2.8: Sơ đồ mạch cảm biến MQ2 ...................................................................... 15
Hình 2.9: Hình dáng của loại LCD thông dụng. ....................................................... 16
Hình 2.10: Sơ đồ chân của LCD. .............................................................................. 16
Bảng 2.2: Chức năng các chân LCD ......................................................................... 16
Hình 2.11: Đèn Led .................................................................................................. 18
Hình 2.12: Còi chip ................................................................................................... 18
Hình 3.1: Sơ đồ khối phần cứng hệ thống ................................................................ 20
Hình 3.2: Sơ đồ nguyên lý hệ thống ......................................................................... 22
Hình 3.3: Phần mềm vẽ mạch in Altium .................................................................. 23
Hình 3.4: Giao diện làm việc của Altium ................................................................. 24
Hình 3.5: Mạch in 2D hệ thống ................................................................................ 25
Hình 3.6: Mạch in 3D hệ thống ................................................................................ 25
Hình 3.7: Lưu đồ thuật toán ...................................................................................... 26
Hình 3.8: Giao diện chính Arduino IDE ................................................................... 27
Hình 3.9: Menu Example .......................................................................................... 28
Hình 3.10: Menu tools .............................................................................................. 29
Hình 3.11: Menu chọn board làm việc ..................................................................... 30
Hình 3.16: Hình ảnh sản phẩm sau khi hoàn thành .................................................. 30

ii
DANH MỤC BẢNG BIỂU
Bảng 2.1: Thông số của Arduino Nano ...................................................................... 6
Bảng 2.2: Chức năng các chân LCD ......................................................................... 16

iii
TÓM TẮT NỘI DUNG ĐỒ ÁN
Khi nhận đồ án tốt nghiệp, em đã chọn đề tài “Hệ thống điều khiển thiết bị từ
xa và cảnh báo nguy cơ cháy nổ qua SMS” để nghiên cứu và ứng dụng dưới sự hướng
dẫn của ThS. Đinh Thị Nhung.
Bước đầu nghiên cứu, em có tìm hiểu sơ qua về các hệ thống báo cháy, các hệ
thống điều khiển thiết bị từ xa đã có trong thực tế kết hợp với lý thuyết đã được học
từ trước, đồng thời tìm hiểu và tìm kiếm tài liệu trên internet.
Đây là đề tài có tính thực tế rất cao nếu được nghiên cứu và đầu tư phát triển
thêm nó có thể ứng dụng trong thực tế. Đồng thời trong quá trình tìm hiểu và thực
hiện đề tài, em đã có cơ hội trau dồi được khá nhiều các kĩ năng như: Khả năng nghiên
cứu tài liệu nước ngoài, sử dụng các phần mềm như Altium, Arduino… khả năng
trình bày báo cáo, cũng như làm slide thuyết trình.
Về nội dung của đồ án thì gồm có 3 phần chính, cụ thể:
- Chương 1: Giới thiệu và xây dựng mô hình chung của hệ thống
- Chương 2: Giới thiệu các khái niệm chung, các module và linh kiện cơ bản của
hệ thống
- Chương 3: Trình bày các bước thiết kế hệ thống hoàn chỉnh và giới thiệu sản
phẩm thực tế

Sinh viên thực hiện


(Ký và ghi rõ họ tên)

iv
CHƯƠNG 1: TỔNG QUAN HỆ THỐNG

1.1. Đặt vấn đề


Ngày nay, với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được ứng
dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu, chăm sóc sức khỏe, bảo
vệ tính mạng và tài sản của con người.
Qua tìm hiểu thực tế em đã thấy được rằng gần đây rất nhiều vụ nổ bình gas
thương tâm đã xảy ra gây thiệt hại rất lớn về người và của. Mặt khác, nhiều vụ cháy
lớn không được cảnh báo và phát hiện kịp thời đã thiêu trụi và phá hủy gần như toàn
bộ tài sản và đe dọa đến tính mạng con người. Khi mà cuộc sống hiện đại ngày nay
bình gas là nhiên liệu đốt không thể thiếu trong mỗi gia đình, các nguy cơ cháy nổ
luôn luôn thường trực, mối đe dọa về một thảm họa có thể xảy đến bất cứ lúc nào.
Hiện nay, do nhu cầu sử dụng các hệ thống, thiết bị tự động của người dân ngày
càng tăng. Đồng thời, mạng điện thoại di động phát triển rộng khắp và các thiết bị
điện thoại di động ngày càng có mức giá phù hợp với người dân. Đó là những mặt
thuận lợi của việc hình thành ý tưởng điều khiển các thiết bị bằng cách sử dụng các
tin nhắn SMS. Đây là một hình thức điều khiển thiết bị thuận lợi, tiết kiệm được nhiều
thời gian cho việc điều khiển thiết bị, vừa tiết kiệm được chi phí lắp đặt khi sử dụng.
Từ đó, em đã tìm hiểu và thiết kế hệ thống điều khiển thiết bị từ xa, cảnh báo rò
rỉ khí gas và báo cháy thông qua mạng điện thoại GSM rất phổ biến hiện nay để tăng
sự tiện ích trong cuộc sống cũng như giảm thiểu tối đa hậu quả của chúng gây ra cho
con người.
1.2. Tầm quan trọng
Trong cuộc sống hiện đại ngày nay, công tác cảnh báo chữa cháy đang trở thành
mối quan tâm hàng đầu vì quanh ta luôn tồn tại vô số nguyên nhân gây cháy. Ở Việt
Nam hiện nay tốc độ xây dựng cơ sở hạ tầng đang diễn ra vô cùng mạnh mẽ. Các tòa
nhà cao tầng, trung tâm thương mại, nhà ở xã hội, trụ sở văn phòng… xuất hiện ngày
càng nhiều, đặc biệt ở các thành phố lớn như Hà Nội, TP Hồ Chí Minh,… Các tòa
nhà với kiến trúc rộng và đa dạng, lại là nơi tập trung một lượng lớn người học tập,
làm việc và được trang bị nhiều vật dụng, tài sản luôn tiềm tàng những nguy cơ cháy
khác nhau dẫn tới hỏa hoạn. Không chỉ những tòa nhà cao tầng, những trung tâm
thương mại, những khu vui chơi giải trí mà còn trong chính ngôi nhà chúng ta ở cũng
là một mối nguy hại.
Ngoài ra, khi xã hội ngày càng phát triển, hiện đại, nhu cầu nâng cao chất lượng
cuộc sống của con người ngày càng tăng cao. Việc ứng dụng khoa học – kĩ thuật, điều
khiển thiết bị từ xa ngày càng được đưa vào sử dụng rộng rãi.
Chính vì vậy, lắp đặt hệ thống điều khiển thiết bị từ xa và cảnh bảo nguy cơ
cháy nổ kịp thời là vô cùng cần thiết. Hệ thống giúp đáp ứng nhu cầu của con người,
nâng cao chất lượng cuộc sống trở nên tiện ích và hiện đại hơn, cũng như giúp được
phần nào đó trong việc báo cháy kịp thời để chủ nhà có thể giải quyết, gây ít hậu quả
nghiêm trọng.
1
1.3. Giới hạn nghiên cứu trong đồ án
Với đề tài tốt nghiệp và do giới hạn về thời gian, việc nghiên cứu của đồ án nằm
trong những giới hạn sau:
• Quy mô nhỏ trong hộ gia đình
• Sản phẩm nghiên cứu, cần kiểm định độ chính xác và hiệu quả trước khi đưa ra
thị trường thành sản phẩm hoàn chỉnh
• Thiết kế mô hình ví dụ, chưa thể thiết kế thành mô hình hoàn chỉnh cho hệ thống
to
1.4. Ứng dụng hệ thống
Thiết kế hệ thống điều khiển thiết bị từ xa và cảnh báo cháy nổ qua SMS có
nhiều ứng dụng trong cuộc sống ngày nay, ví dụ như:
• Hệ thống phát hiện kịp thời sự cố cháy hoặc rò rỉ khí gas và báo ngay cho chủ
nhân ngôi nhà, giúp cho người dùng có những biện pháp xử lý kịp thời.
• Giảm thiểu tối đa khả năng ảnh hưởng của đám cháy, hạn chế mất mát tài sản
cũng như con người.
• Hệ thống điều khiển được trạng thái của các thiết bị từ xa, tạo cảm giác tiện lợi
và hiện đại cho người dùng.
1.5. Giải pháp thiết kế
Hệ thống điều khiển thiết bị từ xa và cảnh báo cháy nổ qua SMS được thiết kế
với một số module cơ bản sau:
• Khối cảm biến tích hợp các cảm biến có khả năng phát hiện cháy, phát hiện rò
rỉ khí gas, truyền thông tin trực tiếp đến khối xử lý trung tâm.
• Tích hợp chuông cảnh báo, còi hú báo động trên khối xử lý trung tâm khi xảy
ra cháy.
• Hệ thống có khả năng phát hiện đám cháy thật và chưa phải đám cháy.
• Khối xử lý thu thập dữ liệu từ khối thu, khi xảy ra cháy có khả năng thông báo
và gửi tin nhắn kịp thời đến chủ nhân của ngồi nhà.
• Khối điều khiển nhận tín hiệu điều khiển từ người dùng và thực hiện điều khiển
bật/tắt thiết bị theo yêu cầu
1.6. Thiết kế sơ đồ khối tổng quát hệ thống
1.6.1. Sơ đồ khối tổng quát hệ thống
Từ những tìm hiểu hệ thống báo cháy và căn cứ vào giải pháp thiết kế hệ thống,
em xin đưa ra thiết kế sơ đồ khối tổng quát hệ thống như sau:

2
Hình 1.1: Sơ đồ khối tổng quát hệ thống
Hệ thống bao gồm các khối cơ bản sau:
• Khối xử lý trung tâm: Làm nhiệm vụ chính điều khiển các thiết bị trong hệ
thống. Khối xử lý trung tâm giao tiếp với khối cảm biến, khối SMS, xuất dữ liệu
ra khối hiển thị và điều khiển khối thực thi cũng như khối SMS kịp thời.
• Khối SMS: Có nhiệm vụ nhận tin nhắn điều khiển từ người dùng, gửi tin nhắn
đến chủ nhân ngôi nhà khi xảy ra cháy.
• Khối thực thi: Thông báo cháy.
• Khối hiển thị: Hiển thị trạng thái các cảm biến xung quanh ngôi nhà, hiển thị
trạng thái của thiết bị theo tín hiệu điều khiển.
• Khối cảm biến: Theo dõi tình trạng cháy trong nhà.
1.6.2. Lựa chọn thiết bị chính cho hệ thống
1.6.2.1. Khối xử lý trung tâm
Với giới hạn đề tài cũng như đáp ứng đầy đủ các yêu cầu trong đề tài, em lựa
chọn Arduino Nano với những lý do sau:
a. Ưu điểm
Ø Giá thành hợp lý với sinh viên
Ø Ngôn ngữ dễ hiểu
Ø Cộng động phát triển rộng, dễ dàng tìm kiếm tài liệu
b. Nhược điểm
Ø Chỉ phù hợp với những project vừa và nhỏ

3
1.6.2.2. Module SIM
Sử dụng nhắn tin thông báo và giao tiếp dễ dàng với khối xử lý trung tâm
Arduino nano, em lựa chọn module SIM 800L:
a. Ưu điểm
Ø Giá thành rẻ
Ø Lập trình dễ dàng với arduino
Ø Gửi tin nhắn có độ trễ thấp
b. Nhược điểm
Ø Chỉ gửi được tin nhắn đến một số thuê bao cố định
1.6.2.3. Khối cảm biến
Cháy nổ thường xuất hiện làm nhiệt độ môi trường tăng cao hoặc dễ nhận biết
nhất là rò rỉ khí gas trong nhà bếp. Chính vì vậy em lựa chọn cảm biến nhiệt độ
DHT11 và cảm biến khí gas MQ2
a. Ưu điểm
• Giá thành rẻ, phù hợp với sinh viên
• Thích hợp với các hệ thống mô hình nhỏ
• Dễ tìm kiếm trên thị trường
b. Nhược điểm
• Dữ liệu đo nồng độ khí gas và chưa hoàn toàn chính xác, một phần vì chất
lượng linh kiện
• Bị nhiễu bởi môi trường ngoài
1.6.2.4. Một số linh kiện khác
Ngoài các linh kiện chính phục vụ cho hoàn thành sản phẩm demo, một số linh
kiện phụ trợ đáp ứng hoàn thành mô hình như còi chip, led, tụ điện…. với những ưu
điểm dễ sử dụng, phổ biến trong các quán linh kiện điện tử, cộng đồng hỗ trợ lớn, rất
phù hợp với các mô hình demo nhỏ.
1.7. Kết luận chương 1
Như vậy ở chương 1, chúng ta thấy hệ thống điều khiển thiết bị từ xa và cảnh
báo cháy nổ rất cần thiết với đời sống hiện nay. Ngoài ra chúng ta nêu ra giải pháp
thiết kế cho hệ thống báo cháy và nêu lý do lựa chọn các thiết bị trong hệ thống. Từ
đó đi vào chương 2 sẽ tìm hiểu chi tiết các thiết bị và sơ đồ khối cho hệ thống.

4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Đặt vấn đề


Với quy mô đồ án đặt ra, việc lựa chọn thiết bị phù hợp là rất cần thiết. Nó đảm
bảo đồ án hoàn thành đúng nhiệm vụ cũng như đáp ứng được sát nhất với mô hình
thực tế. Do vậy việc lựa chọn thiết bị cho hệ thống đảm bảo một số tiêu chí sau:
• Thiết bị sử dụng phù hợp với quy mô nhỏ
• Kinh phí cho thiết bị không lớn với sinh viên
• Cộng đồng hỗ trợ cho việc nghiên cứu và phát triển mạnh
• Hệ thống phần mềm lập trình, phần mềm mô phỏng miễn phí, dễ sử dụng, không
vướng đến vấn đề bản quyền
Chính vì lý do trên, em đưa ra một số lựa chọn thiết bị cơ bản sau:
• Vi xử lý: Sử dụng board lập trình nghiên cứu Arduino
• Module gửi tin nhắn: Sử dụng module SIM 800L
• Một số thiết bị cảm biến mô hình như DHT11, MQ2
• Một số thiết bị ngoại vi khác

2.2. Tổng quan phần cứng của đề tài

2.2.1. Arduino Nano


Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường
nói tới chính là dòng Arduino NANO. Với thiết kế nhỏ gọn, ứng dụng cao, hoạt động
ổn định, Arduino Nano chính là lựa chọn hàng đầu khi sử dụng Arduino

Hình 2.1: Arduino Nano

Một vài thông số của Arduino Nano

5
Bảng 2.1: Thông số của Arduino Nano

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên dùng 7-12V DC

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

a. Vi điều khiển

6
Hình 2.2: Vi điều khiển ATmega328 và các GPIO trên Arduino Nano
Arduino Nano sử dụng vi điều khiển họ 8bit AVR là ATmega328. Bộ não này
có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu
cho xe điều khiển từ xa, làm một trạm đo nhiệt độ - độ ẩm và hiển thị lên màn hình
LCD. Thiết kế tiêu chuẩn của Arduino Nano sử dụng vi điều khiển ATmega328 với
giá khoảng 90.000đ.
Arduino Nano có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp nguồn
ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì cấp
nguồn bằng pin vuông 9V là hợp lí nhất nếu không có sẵn nguồn từ cổng USB. Nếu
cấp nguồn vượt quá ngưỡng giới hạn trên, sẽ làm hỏng Arduino Nano.
• GND (Ground): Cực âm của nguồn điện cấp cho Arduino Nano.
• 5V: Cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
• 3.3V: Cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
• Vin (Voltage Input): Để cấp nguồn ngoài cho Arduino Nano
• IOREF: Điện áp hoạt động của vi điều khiển trên Arduino Nano có thể được
đo ở chân này. Điện áp luôn là 5V.
• RESET: Việc nhấn nút Reset trên board để reset vi điều khiển tương đương với
việc chân RESET được nối với GND qua 1 điện trở 10KΩ.
b. Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

7
32KB bộ nhớ Flash: Những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng
cho bootloader.
2KB cho SRAM (Static Random Access Memory): Giá trị các biến bạn khai
báo khi lập trình sẽ lưu ở đây. Khai báo càng nhiều biến thì càng cần nhiều bộ nhớ
RAM. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
1KB cho
EEPROM (Electrically Eraseble Programmable Read Only Memory): Đây giống
như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu của mình vào đây mà không
phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM.
c. Các cổng ra vào

Hình 2.3: Các cổng vào ra trên Arduino Nano


Arduino Nano có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc
định thì các điện trở này không được kết nối).
Một số chân digital có các chức năng đặc biệt như sau:
• 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
– RX) dữ liệu TTL Serial. Arduino Nano có thể giao tiếp với thiết bị khác
thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết
nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng
2 chân này nếu không cần thiết

8
• Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, có thể điều chỉnh được điện áp ra ở
chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những
chân khác.
• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao
thức SPI với các thiết bị khác.
• LED 13: trên Arduino Nano có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân số 13.
Khi chân này được người dùng sử dụng, LED sẽ sáng.
Arduino Nano có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board,
có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là nếu cấp
điện áp 2.5V vào chân này thì có thể dùng các chân analog để đo điện áp trong khoảng
từ 0V → 2.5V với độ phân giải vẫn là 10bit.
Đặc biệt, Arduino Nano có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.
2.2.2. Module SIM 800L
2.2.2.1. Thông số kỹ thuật

Hình 2.4: Module Sim 800L thực tế

Thông số kỹ thuật của Sim 800L:

9
• Nguồn cấp: 3,5V - 4,5V, 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).
• Dòng khi ở chế độ chờ: 10mA.
• Dòng khi hoạt động: 100mA đến 2A.
• Kích thước: 2.5 cm x 3.1 cm.
• Nhiệt độ hoạt động: -30oC đến 80oC.
• Tốc độ GPRS: download dat: 85.6kbps; upload data: 42.8kbps.
• Hỗ trợ đồng hồ thời gian thực, lập trình bằng tập lệnh AT
Chức năng các chân của module Sim 800L:
• VCC: Nguồn vào 5V
• DTR: Chân Uart DTR
• TXD: Chân truyền Uart TX.
• RXD: Chân nhận Uart RX.
• Headphone: Chân phát âm thanh.
• Microphone: Chân nhận âm thanh (phải gắn thêm Micro từ GND vào chân này
sẽ thu được tiếng).
• Reset: Chân khởi động lại Module (thường không dùng).
• GND: Chân Mass, cấp 0V

2.2.2.2. Các chế độ hoạt động của Module Sim 800L


GSM/GPRS SLEEP: Module sẽ tự động chuyển sang chế độ SLEEP nếu DTR
được thiết lập mức cao và ở đó không có ngắt phần cứng như ngắt GPIO hoặc dữ
liệu trên port nối tiếp. Trong trường hợp này, dòng tiêu thụ của module sẽ giảm
xuống mức thấp nhất.Trong suốt chế độ SLEEP, module vẫn có thể nhận gói tin
nhắn hoặc SMS tự hệ thống.
GSM IDLE: Phần mềm tích cực. Module kết nối mạng GSM và module sẵn
sàng gửi và nhận.
GSM TALK: Kết nối vẫn tiếp tục diễn ra giữa 2 thuê bao, nhưng không có dữ
liệu được gửi hoặc nhận. Trong trường hợp này, năng lượng tiêu thụ phụ thuộc vào
thiết lập mạng và cấu hình GPRS.
GPRS STANDBY: Module sẵn sàng truyền dữ liệu GPRS, nhưng không có
dữ liệu nào được gửi và nhận. Trong trường hợp này, năng lượng tiêu thụ phụ thuộc
vào thiết lập mạng và cấu hình GPRS.
GPRS DATA: Xảy ra việc truyền dữ liệu GPRS. Trong trường hợp này, năng
lượng tiêu thụ liên quan tới việc thiết lập mạng (mức điều khiển nguồn), tốc độ
uplink/downlink và cấu hình GPRS (sử dụng thiết lập multi -slot).

10
2.2.2.3. Các tập lệnh AT test Module Sim 800L
Các tập lệnh AT là các hướng dẫn được sử dụng để điều khiển một
modem.AT là một cách viết gọn của chữ Attention. Mỗi dòng lệnh của nó bắt đầu
với “AT” hay “at”. Đó là lý do tại sao các lệnh modem được gọi là các lệnh AT.
Bên cạnh bộ lệnh AT thông dụng này, các modem GSM/GPRS và các điện thoại
di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với công nghệ GSM. Nó
bao gồm các lệnh liên quan tới SMS như: AT+CMGS (gửi tin nhắn SMS),
AT+CMSS (gửi tin nhắn SMS từ một vùng lưu trữ), AT+CMGL (liệt kê các tin
nhắn SMS) và AT+CMGR (đọc tin nhắn SMS).
Tắt ứng dụng GSM của module Sim 800L: Các cách được sử dụng để tắt ứng
dụng GSM của module Sim 800L:
• Sử dụng chân PWRKEY (kéo mức thấp trong một khoảng thời gian ngắn.
Module sẽ gửi thông báo: NORMAL POWER DOWN)
• Sử dụng lệnh AT

2.2.2.4. Tổng quan về tin nhắn SMS


SMS là từ viết tắt của Short Message Service. Đó là một công nghệ cho phép
gửi và nhận các tin nhắn giữa các điện thoại với nhau. Dữ liệu có thể được lưu giữ
bởi một tin nhắn SMS là rất giới hạn. Một tin nhắn SMS có thể chứa tối đa là 140
byte (1120 bit) dữ liệu. Vì vậy, một tin nhắn SMS chỉ có thể chứa:
• 160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng.
• 70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng.
• Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau. Nó có thể
hoạt động tốt với nhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm
cả Arabic, Trung Quốc, Nhật bản và Hàn Quốc.
Một đặc tính nổi bật của SMS đó chính là sự báo nhận.
• Ưu điểm: SMS có thể gửi và đọc bất cứ lúc nào.SMS có thể gửi khi máy nhận
tắt.SMS được hỗ trợ 100% đối với thiết bị di động GSM, tin nhắn SMS là một
công nghệ rất mạnh.Tất cả các thiết bị di động GSM đều hỗ trợ chúng.
• Khuyết điểm: Một tin nhắn SMS chỉ có thể mang theo một khối lượng dữ liệu
rất hạn chế. Để khắc phục vấn đề trên, có một cách giải quyết được đưa ra là
nối các SMS lại với nhau (và nó được hiểu là một SMS dài). Một tin nhắn văn
bản được nối lại có thể chứa hơn 160 ký tự Tiếng Anh.
Cấu trúc tin nhắn:
• Instructions to air interface: Chỉ thị dữ liệu kết nối với air interface (giao diện
không khí).
11
• Instructions to SMSC: Chỉ thị dữ liệu kết nối với trung tâm tin nhắn SMSC
(Short Message Service Centre).
• Instructions to handset: Chỉ thị dữ liệu kết nối bắt tay.
• Instructions to SIM (optional): Chỉ thị dữ liệu kết nối, nhận biết SIM (Subscriber
Identity Modules).
• Message body: Nội dung tin nhắn SMS.

2.2.3. Cảm biến nhiệt độ DHT11


2.2.3.1. 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.

Hình 2.5: Cảm biến DHT11


- DHT11 có cấu tạo 4 chân và sử dụng giao tiếp số theo chuẩn 1 dây.
- Thông số kỹ thuật:
• Do độ ẩm: 20%-95%
• Nhiệt độ: 0-50ºC
• Sai số độ ẩm ±5%
• Sai số nhiệt độ: ±2ºC2.3.4.2.
2.2.3.2. Nguyên lý hoạt động:

12
Hình 2.6: Sơ đồ kết nối vi điều khiển
Bước 1: Khởi tạ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.
• MCU đưa chân DATA lên 1, sau đó thiết lập lại là chân đầu vào.
• Sau khoảng 20-40us, DHT11 sẽ kéo chân DATA xuống thấp. Nếu >40us mà
chân DATA không được kéo xuống thấp nghĩa là không giao tiếp được với
DHT11.
• 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 không. 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
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.
Đọc dữ liệu:

13
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.
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.2.3.4.3. Sơ đồ kết nối với Arduino.

Hình 2.7: Sơ đồ kết nối DHT11 với Arduino Uno

2.2.4. Cảm biến khí gas MQ2

2.2.4.1. Giới thiệu


MQ2 là cảm biến khí, dùng để phát hiện các khí có thể gây cháy. Nó được
cấu tạo từ chất bán dẫn SnO2. Chất này có độ nhạy cảm thấp với không khí sạch.
Nhưng khi trong môi trường có chất gây cháy, độ dẫn của nó thay đổi ngay. Chính
nhờ đặc điểm này người ta thêm vào mạch đơn giản để biến đổi từ độ nhạy này
sang điện áp.
Khi môi trường sạch điện áp đầu ra của cảm biến thấp, giá trị điện áp đầu ra
càng tăng khi nồng độ khí gây cháy xung quanh MQ2 càng cao.
MQ2 hoạt động rất tốt trong môi trường khí hóa lỏng LPG, H2, và các chất
khí gây cháy khác. Nó được sử dụng rộng rãi trong công nghiệp và dân dụng do
mạch đơn giản và chi phí thấp.

2.2.4.2. Sơ đồ mạch cảm biến MQ2

14
Hình 2.8: Sơ đồ mạch cảm biến MQ2

• Aout: điện áp ra tương tự. Nó chạy từ 0.3-4.5V, phụ thuộc vào nồng độ khí
xung quanh MQ2.
• Dout: điện áp ra số, giá trị 0,1 phụ thuộc vào điện áp tham chiếu và
nồng độ khí mà MQ2 đo được.
• Việc có chân ra số Dout rất tiện cho ta mắc các ứng dụng đơn giản,
không cần đến vi điều khiển. Khi đó ta chỉ cần chỉnh giá trị biến trở tới
giá trị nồng độ ta muốn cảnh báo. Khi nồng độ MQ2 đo được thấp hơn
mức cho phép thì Dout = 1. Đèn Led tắt. Khi nồng độ khí đo được lớn
hơn nồng khí cho phép, Dout =0, đèn led sáng.
• Việc ra chân tương tự Aout dành cho những xử lý đòi hỏi cần độ chính xác :
Đầu tiên đo trạng thái không khí sạch, giá trị thu được Vout1.Cho khí ga từ bật
lửa rò rỉ ra. Ta thấy giá trị Aout tăng lên. Khi đạt khoảng cách khí ga từ bật lửa
hợp lý rồi tương ứng với nồng độ khí bắt đầu nguy hiểm, ta ghi lại giá trị Vout2.
Ta chọn giá trị Vout2 là giá trị ngưỡng cảnh báo. Nếu giá trị đo đƣợc lớn hơn ta
sẽ cảnh báo. Chỉnh chân biến trở để điện áp đo tại chân 3 của L358 = Vout2.

2.2.5. LCD

2.2.5.1. Hình dáng và cấu tạo


Có rất nhiều loại LCD được sử dụng trong nhiều ứng dụng của vi điều khiển.
LCD có rất nhiều ưu điểm so với các dạng hiển thị khác: nó có khả năng hiển thị kí
tự đa dạng, trực quan (chữ, số, kí tự đồ họa) dễ dàng đưa vào mạch ứng dụng theo
nhiều giao thức giao tiếp khác nhau, tốn ít tài nguyên hệ thống và giá thành rẻ...
Có rất nhiều loại LCD với nhiều hình dáng và kích thước khác nhau.
15
Hình 2.9: Hình dáng của loại LCD thông dụng.
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên
trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết. Các chân này được đánh số thứ
tự và đặt tên như hình sau:

Hình 2.10: Sơ đồ chân của LCD.

2.2.5.2. Chức năng các chân

Bảng 2.2: Chức năng các chân LCD


Chân Mô tả
hiệu

Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với GND của mạch điều
1 Vss
khiển.

Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của
2 VDD
mạch điều khiển.

16
3 VEE Điều chỉnh độ tương phản của LCD.

Chân chọn thanh ghi (Register select). Nối chân RS với logic “0” (GND) hoặc
logic “1” (VCC) để chọn thanh ghi.
4 RS + Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ
“ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read).
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD.

Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic “0” để LCD
5 R/W
hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc.

Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh
chỉ được chấp nhận khi có 1 xung cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi
6 E bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát hiện cạnh
lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E
xuống mức thấp.

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU. Có 2 chế độ sử
dụng 8 đường bus này :
DB0 -
7 - 14 + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7.
DB7
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB
là DB7.

15 - Nguồn dương cho đèn nền

16 - GND cho đèn nền

2.2.6. Đèn led


LED (Light-emitting diode – Đi-ốt bức xạ ánh sáng)
Bản chất của LED là một đi-ốt, nó chứa một chíp bán dẫn có pha các tạp chất
để tạo ra một tiếp giáp P-N, kênh P chứa lỗ trống, kênh N chứa điện tử, dòng điện
truyền từ A-nốt( kênh P) đến K-tốt (kênh N), khi điện tử lấp đầy chỗ trống nó sinh ra
bức xạ ánh sáng, các bước sóng phát ra có màu khác nhau tùy thuộc vào tạp chất trong
chíp bán dẫn. LED phân thành ba loại chính theo dải công suất: cỡ nhỏ, cỡ trung bình,
cỡ lớn.

17
Hình 2.11: Đèn Led

2.2.7. Còi chip


Buzzer là một thiết bị tạo ra tiếng còi hoặc tiếng bíp. Có nhiều loại nhưng cơ
bản nhất là buzzer áp điện, là một miếng phẳng của vật liệu áp điện với hai điện cực.
Loại buzzer này đòi hỏi phải có các bộ dao động (hoặc vi điều khiển) để điều khiển
nó. Nếu bạn sử dụng điện áp một chiều, nó chỉ kêu lách cách. Chúng được sử dụng ở
những vị trí cần phát ra âm thanh nhưng không quan tâm đến việc tái tạo âm thanh
trung thực, như lò vi sóng, báo cháy và đồ chơi điện tử. Chúng rẻ và kêu to mà không
cần sử dụng nhiều năng lượng. Chúng cũng rất mỏng, vì vậy có thể được sử dụng
trong các vật phẳng như thiệp chúc mừng.
Yếu tố áp điện cũng tạo ra một điện áp khi có áp lực. Do đó, buzzer áp điện
cũng có thể được sử dụng như một cảm biến áp suất hoặc micro.
Bộ buzzer phức tạp hơn bao gồm mạch dao động và loa, vì vậy khi cấp điện áp
ta sẽ được một tiếng bíp hoặc tiếng còi. Sonalert là tên thương hiệu phổ biến cho các
thiết bị này, nên đôi khi bạn sẽ nghe thấy từ “Sonalert” được sử dụng để chỉ bất kỳ
loại còi hoặc module còi nào.

Hình 2.12: Còi chip

18
Ngoài ra còn có còi điện, sử dụng một cuộn dây và một tiếp điểm điện động.
Khi cuộn dây được cấp điện, tiếp điểm được kéo về phía cuộn dây, nhưng nó nhanh
chóng đóng mạch và tiếp điểm trở lại vị trí ban đầu tạo ra một âm thanh lớn. (Nếu
bạn thêm một miếng sắt vào bộ này, bạn sẽ được chuông điện). Bạn có thể tạo một
bộ buzzer với rơle điện bằng cách mắc nối tiếp cuộn dây với tiếp điểm thường đóng,
mặc dù nó có thể sẽ kêu không to. Chuông điện thường được sử dụng trong hệ thống
báo động, chuông cửa, và chuông ở trường học.
Thông số kỹ thuật còi chip 5V
• Điện áp hoạt động: 3.5V – 5.5V
• Dòng hoạt động: <25mA
• Tần số âm thanh: 2500Hz

2.3. Kết luận chương 2


Ở chương 2, chúng ta đã thiết kế và giải thích sơ đồ khối toàn bộ hệ thống. Tìm
hiểu chi tiết tính năng các linh kiện, thành phần có trong hệ thống để tạo nên một hệ
thống báo cháy tốt nhất và hoạt động ổn định. Dựa vào cơ sở lý thuyết này, chương 3
chúng ta thiết kế phần cứng và thiết kế phần mềm của hệ thống.

19
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Sơ đồ khối phần cứng hệ thống

Hình 3.1: Sơ đồ khối phần cứng hệ thống

3.2. Nguyên lý hoạt động


3.2.1. Chức năng điều khiển thiết bị từ xa
Khi có tin nhắn điều khiển từ người dùng (bật/tắt thiết bị x), khối SMS sẽ nhận
tín hiệu điều khiển và gửi tín hiệu đến khối xử lý trung tâm. Khối xử lý trung tâm sẽ
phân tích tín hiệu nhận được và thực thi bật/tắt thiết bị. Sau khi thực thi bật/tắt thiết
bị, sẽ hiển thị trạng thái bật/tắt của thiết bị lên LCD, đồng thời sẽ gửi thông báo cho
người dùng biết trạng thái thực hiện đã bật/tắt thiết bị.
3.2.2. Chức năng cảnh báo nguy cơ cháy nổ
Khi có rò rỉ khí gas hoặc phát hiện lượng khói tăng đột ngột hoặc nhiệt độ cao
bất thường (tăng nhanh lên khoảng 50oC), các sensor cảm biến nồng độ khí và nhiệt
độ sẽ phát hiện, gửi thông số tương ứng tới khối xử lý trung tâm và hiển thị ra LCD.
Khối xử lý trung tâm sẽ phân tích tín hiện nhận về. Khi có dấu hiệu của hỏa
hoạn, khối điều khiển sẽ điều khiển phát ra chuông cảnh báo cháy và đèn tín hiệu,
đồng thời sẽ thông báo gửi tin nhắn tới chủ nhân ngôi nhà.
3.3. Các chức năng từng khối trong hệ thống

20
3.3.1. Khối SMS
Nhiệm vụ và chức năng:
- Khối SMS có nhiệm vụ nhận lệnh từ vi xử lý, báo tin nhắn tới người sử
dụng, kịp thời xử lý khi xảy ra cháy.
- Có nhiệm vụ nhận lệnh điều khiển từ người dùng, gửi tín hiệu điều khiển đến
khối xử lý trung tâm xử lý thực hiện lệnh điều khiển bật/tắt thiết bị. Ngược
lại, sẽ nhận tín hiệu từ khối điều khiển, thông báo cho người dùng trạng thái
của thiết bị sau khi thực hiện lệnh điều khiển.
Yêu cầu:
• Hoạt động ổn định
• Truyền thông tin chính xác tới người dùng
• Truyền tin với khoảng cách rất xa
• Độ trễ truyền tin thấp
3.3.2. Khối cảm biến
Nhiệm vụ và chức năng: Khối cảm biến có nhiệm vụ đọc tín hiệu, truyền về vi
xử lý để đưa ra quyết định.
Yêu cầu:
• Hoạt động ổn định
• Đọc thông tin chính xác
• Sai số thấp
• Hoạt động tốt trong môi trường khắc nghiệt
3.3.3. Khối thông báo (chuông, đèn)
Nhiệm vụ và chức năng: Báo động khi môi trường xảy ra cháy.
Yêu cầu:
• Hoạt động ổn định
• Chuông và còi hú có âm thanh lớn, đặc biệt và dễ nhận biết
3.3.4. Khối hiển thị
Nhiệm vụ và chức năng: Hiển thị trạng thái bật/tắt thiết bị, nhiệt độ, nồng độ
khí gas khi nhiệt độ hoặc nồng độ khí gas tăng cao.
Yêu cầu:
• Hoạt động ổn định
• Hiển thị rõ ràng

3.4. Thiết kế phần cứng


21
3.4.1. Thiết kế sơ đồ nguyên lý hệ thống

Hình 3.2: Sơ đồ nguyên lý hệ thống


Sơ đồ nguyên lý hệ thống bao gồm như sau:
• Khối nguồn được kết nối tới adapter 12V, đi qua module LM2596 ổn định dòng
đến mạch. Khối nguồn được thiết kế 1 led báo nguồn. Khi có nguồn, led sáng
và ngược lại
• Khối xử lý trung tâm Arduino sử dụng các chân:
+ SCL, SDA tại chân A5, A4 cho giao tiếp I2C với LCD
+ Tx, Rx tại chân D10, D11 cho giao tiếp UART với Module SIM 800L
+ Các chân GPIO điều khiển Led, Buzz, D5 cho relay
• Khối SIM 800L với chuẩn giao tiếp UART kết nối qua 2 chân TX và RX
• Khối LCD với chuẩn giao tiếp I2C kết nối qua 2 chân SCL và SDA
• Led, còi, relay bật tắt thiết bị được kết nối tới chân GPIO. Để điều khiển bật tắt,
vi điều khiển chỉ cần xuất tín hiệu 1 hoặc 0 tới các chân tương ứng

22
3.4.2. Thiết kế mạch in

3.4.2.1. Giới thiệu phần mềm vẽ mạch in Altium


Altium Designer trước kia có tên gọi quen thuộc là Protel DXP, là một trong
những công cụ vẽ mạch điện tử mạnh nhất hiện nay. Được phát triển bởi hãng Altium
Limited. Altium designer là một phần mềm chuyên ngành được sử dụng trong thiết
kế mạch điện tử. Nó là một phần mềm mạnh với nhiều tính năng thú vị, tuy nhiên
phần mềm này còn được ít người biết đến so với các phần mềm thiết kế mạch khác
như orcad hay proteus.

Hình 3.3: Phần mềm vẽ mạch in Altium


Altium Designer có một số đặc trưng sau:
- Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý
file, quản lý phiên bản cho các tài liệu thiết kế.
- Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối
ưu, phân tích lắp ráp linh kiện. Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa
mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.
- Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất
cả các linh kiện nhúng, số, tương tự…
- Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh
các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.
- Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không
gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra
khoảng cách cách điện, cấu hình cho cả 2D và 3D.
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại.

23
Hình 3.4: Giao diện làm việc của Altium
Việc thiết kế mạch điện tử trên phần mềm altium designer có thể được tóm tắt
gồm các bước như sau:
- Đặt ra các yêu cầu bài toán.
- Lựa chọn linh kiện.
- Thiết kế mạch nguyên lý.
- Lựa chọn các chân linh kiện để chuyển sang mạch in Update mạch nguyên lý
sang mạch in.
- Lựa chọn kích thước mạch in, sắp xếp các vị trí các loại linh kiện như điện
trở, tụ điện, IC...
- Đặt kích thước các loại dây nối.
- Đi dây trên mạch.
- Kiểm tra toàn mạch.

24
3.4.2.2. Mạch in

Hình 3.5: Mạch in 2D hệ thống

Hình 3.6: Mạch in 3D hệ thống

3.5. Thiết kế phần mềm

25
3.5.1. Lưu đồ thuật toán và giải thích lưu đồ thuật toán

Hình 3.7: Lưu đồ thuật toán


Giải thích lưu đồ thuật toán:
Bước 1: Đọc giá trị dữ liệu từ module sim và các cảm biến
Bước 2: Xử lý dữ liệu nhận được. Kiểm tra thông tin cảm biến nhận về có nguy
cơ xảy ra cháy hay không, nếu không đủ điều kiện lượng gas trong không khí
hoặc nhiệt độ trên 50oC, khối điều khiển không báo tin nhắn về người dùng.
Ngược lại, nếu đủ điều kiện xảy ra đám cháy, khối điều khiển điều khiển còi,
đèn hoạt động, đồng thời gửi thông báo cảnh báo về cho người dùng qua SMS.
Bước 3: Kiểm tra tín hiệu điều khiển bật/tắt thiết bị. Nếu không có tín hiệu điều
khiển bật/tắt thiết bị, khối điều khiển không thực hiện bật/tắt thiết bị. Ngược lại,
nếu có tín hiệu điều khiển, thực hiện bật/tắt thiết bị, sau đó hiển thị trạng thái
thiết bị lên LCD, đồng thời gửi thông báo trạng thái đã bật/tắt thiết bị cho người
dùng qua SMS.

26
3.5.2. Giới thiệu phần mềm Arduino IDE

Hình 3.8: Giao diện chính Arduino IDE


Giao diện của phần mềm Arduino IDE có nhiều phần, tuy nhiên chúng ta chú ý
đến những phần quan trọng như được nêu ra trong hình trên. Chức năng của từng
phần như sau:

3.5.2.1. Nút kiểm tra chương trình


Dùng để kiểm tra xem chương trình được viết có lỗi không. Nếu chương trình
bị lỗi thì phần mềm Arduino IDE sẽ hiển thị thông tin lỗi ở vùng thông báo thông tin.

3.5.2.2. Nút nạp chương trình xuống bo Arduino


Dùng để nạp chương trình được viết xuống mạch Arduino. Trong quá trình nạp,
chương trình sẽ được kiểm tra lỗi trước sau đó mới thực hiện nạp xuống mạch
Arduino.

3.5.2.3. Hiển thị màn hình giao tiếp với máy tính
Khi nhấp vào biểu tượng cái kính lúp thì phần giao tiếp với máy tính sẽ được
mở ra. Phần này sẽ hiển thị các thông số mà người dùng muốn đưa lên màn hình.
Muốn đưa lên màn hình phải có lệnh Serial.print() mới có thể đưa thông số cần hiển
thị lên màn hình

27
3.5.2.4. Vùng lập trình
Vùng này để người lập trình thực hiện việc lập trình cho chương trình của mình.

3.5.2.5. Vùng thông báo thông tin


Có chức năng thông báo các thông tin lỗi của chương trình hoặc các vấn đề liên
quan đến chương trình được lập.

3.5.2.6. Sử dụng một số menu thông dụng trên phần mềm Arduino IDE
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File,
ngoài những tính năng như mở một file mới hay lưu một file, phần menu này có một
mục đáng chú ý là Example. Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập
trình có thể tham khảo, giảm bớt thời gian lập trình. Hình bên dưới thể hiện việc chọn
một ví dụ cho led chớp tắt (blink) để nạp cho mạch Arduino. Ví dụ về led chớp tắt
này thường được dùng để kiểm tra bo khi mới mua về.

Hình 3.9: Menu Example


Một menu thường được sử dụng khác là menu Tools. Khi mới kết nối bo
Arduino với máy tính ta click vào Tools->board để chọn loại board sử dụng. Phần
mềm chọn sẵn kiểu bo là bo Arduino Uno, nếu người dùng dùng kiểu bo khác thì
chọn kiểu bo đang dùng.

28
Hình 3.10: Menu tools
Bên cạnh việc chọn bo thì một phần quan trọng nữa là chọn cổng COM. Hình
bên dưới minh họa cho việc chọn cổng COM. Khi lần đầu gắn mạch Arduino vào
máy tính, người sử dụng cần nhấn chọn cổng COM bằng cách vào Tools -> Serial
Port (một số phiên bản dùng từ Port) sau đó nhấn chọn cổng COM, ví dụ như COM5.
Những lần sau khi đưa chính board Arduino đó vào máy tính thì không cần chọn cổng
COM, nếu đưa bo Arduino khác vào máy thì cần phải chọn lại cổng COM, quy trình
thực hiện cũng tương tự.

29
Hình 3.11: Menu chọn board làm việc
Sau khi thực hiện các bước trên xong, người dùng sẽ bắt tay vào việc lập trình.

3.6. Hình ảnh sản phẩm

Hình 3.3: Hình ảnh sản phẩm sau khi hoàn thành

3.7. Hạn chế của sản phẩm


Sản phẩm hoàn thành đã đáp ứng được phần lớn yêu cầu thiết kế đặt ra. Tuy
nhiên gặp giới hạn về phạm vi và công nghệ nên sản phẩm còn tồn tại một số hạn chế
sau:
• Đỗ trễ tuy nhỏ nhưng vẫn cần cải thiện để đưa vào thực tế sử dụng
• Cảm biến nhiệt độ và cảm biến khí ga do chất lượng linh kiện giá rẻ, phục vụ
sinh viên nên dữ liệu chưa chính xác. Vẫn còn sai số ở mức nhỏ.
• Sản phẩm thí nghiệm, chưa đưa được vào đời sống thực tế

3.8. Kết luận chương 3


Kết thúc chương 3, sản phẩm tương đối hoàn thành. Phần cứng cũng như phần
mềm của sản phẩm đã được thiết kế. Một số hạn chế của sản phẩm đã được chỉ ra,
tuy nhiên hạn chế không ảnh hưởng quá nhiều đến chất lượng sản phẩm. Sản phẩm
hoàn toàn đủ tính năng cơ bản để đưa vào sử dụng trong đời sống.

30
KẾT LUẬN

Hệ thống điều khiển thiết bị từ xa và cảnh báo cháy nổ cho gia đình luôn là một
đề tài cấp thiết và cần rất nhiều sự cải tiến về độ tin cậy và hiệu quả của hệ thống. Sau
thời gian học tập tìm hiểu dưới sự hướng dẫn của ThS. Đinh Thị Nhung, đồ án của
em đã hoàn thành đúng thời gian quy định và đã giải quyết được những yêu cầu đặt
ra ban đầu. Đồ án đã kế thừa hai khía cạnh trong hệ thống vi điều khiển, đó là sử dụng
vi điều khiển Arduino trong mạch báo cháy và mạch điều khiển. Tuy chưa phát huy
được các tính năng ưu việt của Arduino nhưng cũng phần nào ứng dụng và giải quyết
công việc thực tiễn.
Với sự phát triển không ngừng của khoa học kỹ thuật nói chung và lĩnh vực điện
tử nói riêng đề tài này có thể phát triển hoàn thiện hơn để đạt được những kết quả tốt
hơn, tính năng sử dụng rộng rãi hơn. Như có thể thay đổi chương trình để ứng dụng
trong mạch tính cước phí điện thoại, v.v… Và đây cũng là hướng phát triển cho các
đề tài khóa sau.
Mặc dù có sự giúp đỡ nhiệt tình từ quý thầy cô và các bạn nhưng sự hiểu biết
và lượng kiến thức của bản thân em về lĩnh vực điện tử vẫn còn giới hạn nên đồ án
khó tránh khỏi những sai sót. Rất mong đón nhận những ý kiến đóng góp của thầy cô
cùng các bạn để phát triển đề tài ngày càng hoàn thiện hơn.

31
TÀI LIỆU THAM KHẢO

[1] Lịch sử phát triển Arduino wikipedia.com


[2] Tiêu chuẩn Việt Nam TCVN 5738:2000 về Yêu cầu kĩ thuật của hệ thống báo
cháy tự động.
[3] http://www.arduino.vn
[4] http://www.arduino.cc
[5] www.dientuvietnam.com/
[6] https://www.altium.com/

32
PHỤ LỤC

Mã nguồn chương trình


#include<SoftwareSerial.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "DHT.h"
LiquidCrystal_I2C lcd(0x27, 16, 2);
SoftwareSerial sim(10, 11);

int led1 = 7;
int led2 = 8;
int led3 = 9;
int gas = A0;

int coi = 12;


const int DHTPIN = 4; //Đọc dữ liệu từ DHT11 ở chân 2 trên mạch
Arduino
const int DHTTYPE = DHT11; //Khai báo loại cảm biến, có 2 loại là
DHT11 và DHT22

DHT dht(DHTPIN, DHTTYPE);

String val;
int _timeout;
String _buffer;
String number = "+84852880426";
void setup() {
delay(7000); //delay for 7 seconds to make sure the modules get
the signal
Serial.begin(9600);
_buffer.reserve(50);
Serial.println("Sistem Started...");
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);

33
pinMode(coi, OUTPUT);
pinMode(gas, INPUT);
dht.begin();
sim.begin(9600);
delay(1000);
delay(100);
sim.println("AT");
sim.println("AT+CMGF=1");
sim.println("AT+CNMI=1,2,0,0,0");
lcd.init();
lcd.backlight();
}
void nhietgas() {
lcd.clear();

int t = dht.readTemperature();
int data = analogRead(gas);
lcd.setCursor(0, 0);
lcd.print("KHI GAS: ");
lcd.setCursor(11, 0);
int data2 = map(data, 270, 1024, 0, 100);
if (data2 < 0) {
data2 = 0;
}
lcd.print(data2);
lcd.setCursor(14, 0);
lcd.print("%");
lcd.setCursor(0, 1);
lcd.print("NHIET DO: ");
lcd.setCursor(11, 1);
lcd.print(t);
lcd.setCursor(14, 1);
lcd.print("*C");
delay(100);
if (t > 50 || data2 > 50) {

34
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("CANH BAO CHAY");
digitalWrite(coi, HIGH);
SendMessage();
delay(10000);
digitalWrite(coi, LOW);
}

}
void SendMessage()
{
//Serial.println ("Sending Message");
sim.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode
delay(1000);
//Serial.println ("Set SMS Number");
sim.println("AT+CMGS=\"" + number + "\"\r"); //Mobile phone
number to send message
delay(1000);
String SMS = "canh bao chay";
sim.println(SMS);
delay(100);
sim.println((char)26);// ASCII code of CTRL+Z
delay(1000);
_buffer = _readSerial();
}

String _readSerial() {
_timeout = 0;
while (!sim.available() && _timeout < 12000 )
{
delay(13);
_timeout++;
}
if (sim.available()) {
return sim.readString();

35
}
}

void loop() {
nhietgas();
if (Serial.available()) {
sim.write(Serial.read());
}
if (sim.available() > 0) {
val = sim.readStringUntil('\n');
Serial.println(val);
if (val == "On1\r") {
digitalWrite(led1, HIGH);
phanhoi(1);
Serial.println("LED1 ON");
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("thiet bi 1 bat");
delay(3000);
lcd.clear();

}
if (val == "Off1\r") {
digitalWrite(led1, LOW);
phanhoi(0);
Serial.println("LED1 OFF");
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("thiet bi 1 tat");
delay(3000);
lcd.clear();

}
if (val == "On2\r") {
digitalWrite(led2, HIGH);

36
phanhoi(1);
Serial.println("LED2 ON");
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("thiet bi 2 bat");
delay(3000);
lcd.clear();

}
if (val == "Off2\r") {
digitalWrite(led2, LOW);
phanhoi(0);
Serial.println("LED2 OFF");
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("thiet bi 2 tat");
delay(3000);
lcd.clear();

}
if (val == "On3\r") {
digitalWrite(led3, HIGH);
phanhoi(1);
Serial.println("LED3 ON");
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("thiet bi 3 bat");
delay(3000);
lcd.clear();

}
if (val == "Off3\r") {
digitalWrite(led3, LOW);
phanhoi(0);
Serial.println("LED3 OFF");
lcd.clear();

37
lcd.setCursor(0, 1);
lcd.print("thiet bi 3 tat");
delay(3000);
lcd.clear();
}
}

void phanhoi(bool tipe) {


sim.println("AT+CMGF=1");
delay(1000);
sim.println("AT+CMGS=\"+84853773338\"\r"); // số của mạch bật tắt
delay(1000);
if (tipe == 1) {
sim.println("LED ON");
} else {
sim.println("LED OFF");
}
delay(100);
sim.println((char)26);
delay(1000);
}

38

You might also like