You are on page 1of 76

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC TÂY ĐÔ


----o0o----

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA


THÔNG QUA MẠNG INTERNET TRÊN PHẦN MỀM
ĐIỆN THOẠI THÔNG MINH

SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN


TRẦN VÕ BÃO Thạc sĩ: ĐỖ CHÍ TÂM
MSSV: 15D520201001
KỸ THUẬT ĐIỆN – ĐIỆN TỬ 10

Cần Thơ 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC TÂY ĐÔ
----o0o----

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA


THÔNG QUA MẠNG INTERNET TRÊN PHẦN MỀM
ĐIỆN THOẠI THÔNG MINH

SINH VIÊN THỰC HIỆN CÁN BỘ HƯỚNG DẪN


TRẦN VÕ BÃO Thạc sĩ: ĐỖ CHÍ TÂM
MSSV: 15D520201001
KỸ THUẬT ĐIỆN – ĐIỆN TỬ 10

CÁN BỘ PHẢN BIỆN


Tiến sĩ: TRẦN VĂN TẤN

Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn
Điện – Điện tử khoa Kỹ Thuật Công Nghệ, Trường Đại học Tây Đô vào ngày
25 tháng 5 năm 2019

Mã số đề tài:

Cần Thơ 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC TÂY ĐÔ Độc lập – Tự do – Hạnh phúc
***

CHẤP NHẬN LUẬN VĂN ĐẠI HỌC CỦA HỘI ĐỒNG

Luận văn đại học Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng internet
trên phần mềm điện thoại thông minh do sinh viên Trần Võ Bão, mã số sinh viên:
15D520201001, thực hiện và báo cáo đã được chỉnh sửa theo góp ý và được Hội đồng chấm
luận văn đại học thông qua.

_____________________________ _____________________________
Th.s Đỗ Chí Tâm Ts Trần Văn Tấn
Giảng viên hướng dẫn Phản biện

____________________________
Đặng Kim Sản
Thư ký

Cần Thơ, ngày ….. tháng …… năm 20…

_______________________________
Nguyễn Vĩnh Thành
Chủ tịch Hội đồng
KHOA KỸ THUẬT – CÔNG NGHỆ
BỘ MÔN ĐIỆN – ĐIỆN TỬ

XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN

Sinh viên thực hiện: Trần Võ Bão Lớp: Đại học Kỹ thuật Điện - Điện Tử 10
Mã số sinh viên: 15D520201001 Niên khóa: 2015 – 2019
Đã thực hiện đề tài luận văn tốt nghiệp” Thiết kế bộ điều khiển thiết bị điện từ xa
thông qua mạng Internet trên phần mềm điện thoại thông minh”
Dưới sự hướng dẫn của Th.s Đỗ Chí Tâm
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
…………………………………………………………………………………....
Cần Thơ, ngày tháng năm 2019
XÁC NHẬN CỦA
GIẢNG VIÊN HƯỚNG DẪN

Th.s Đỗ Chí Tâm


NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
Cần Thơ, ngày tháng năm 2019
GIẢNG VIÊN PHẢN BIỆN

Ts Trần Văn Tấn


LỜI CẢM ƠN

Được sự phân công của quý thầy cô khoa Kỹ Thuật - Công Nghệ, trường Đại Học
Tây Đô, sau gần ba tháng thực hiện em đã hoàn thành luận văn tốt nghiệp với đề tài
“Thiết kế bộ điều khiển thiết bị điện từ xa thông qua mạng Internet trên phần mềm
điện thoại thông minh”. Để hoàn thành nhiệm vụ được giao, ngoài sự học tập, nghiên
cứu của bản thân còn có sự hướng dẫn tận tình của thầy cô. Đặc biệt, em xin chân
thành cảm ơn thầy Th.s Đỗ Chí Tâm người đã hướng dẫn, chỉ bảo cho em trong suốt
thời gian qua, để em có thể hoàn thành tốt được bài luận văn.
Thầy đã định hướng, giúp đỡ cho em để em có thể hoàn thành tốt nhiệm vụ. Một lần
nữa em xin chân thành cảm ơn thầy và chúc thầy dồi dào sức khoẻ. Tuy nhiên, vì kiến
thức chuyên môn còn hạn chế và bản thân còn thiếu nhiều kinh nghiệm thực tiễn nên
nội dung của luận văn không tránh khỏi những thiếu xót, nên em rất mong nhận được
sự góp ý, chỉ bảo thêm của quý thầy cô để luận văn này được hoàn thiện hơn.
Một lần nữa em xin gửi đến quý thầy lời cảm ơn chân thành và sâu sắc nhất.
Cần Thơ, ngày 25 tháng 5 năm 2019
Sinh viên thực hiện

Trần Võ Bão

i
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

MỤC LỤC
TÓM TẮT ............................................................................................................................... 1
PHẦN MỞ ĐẦU ..................................................................................................................... 2
1. Lý do chọn đề tài ............................................................................................................. 2
2. Tình hình nghiên cứu ngoài nước liên quan tới đề tài...................................................... 2
3. Tình hình nghiên cứu trong nước liên quan tới đề tài ...................................................... 4
4. Tính cấp thiết của đề tài .................................................................................................. 5
5. Mục tiêu nghiên cứu ........................................................................................................ 6
6. Nhiệm vụ nghiên cứu....................................................................................................... 6
7. Nội dung nghiên cứu ....................................................................................................... 6
8. Phương pháp nghiên cứu ................................................................................................ 7
8.1. Phương pháp nghiên cứu tài liệu ............................................................................... 7
8.2. Phương pháp nghiên cứu thực tiễn ............................................................................ 7
9. Đối tượng nghiên cứu...................................................................................................... 7
10. Phạm vi nghiên cứu ....................................................................................................... 7
PHẦN NỘI DUNG .................................................................................................................. 8
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ......................................................................................... 8
GIỚI THIỆU CÁC LINH KIỆN, MODULE ĐƯỢC SỬ DỤNG ................................................. 8
1.1. Sơ lược về vi điều khiển. .............................................................................................. 8
1.2. Vi điều khiển dùng trong đề tài: ESP8266. .................................................................... 9
1.2.1. Giới thiệu ................................................................................................................. 9
1.2.2. Tổng quan về ESP8266 .......................................................................................... 9
1.3. Nguồn xung AC - DC 5VDC - 2A ................................................................................ 17
1.3.1. Mô tả ..................................................................................................................... 17
1.3.2. Thông số kỹ thuật .................................................................................................. 17
1.3.3. Ứng dụng .............................................................................................................. 17
1.3.4. Hình ảnh thực tế.................................................................................................... 17
1.4. Module cảm biến nhiệt độ, độ ẩm DHT11 ................................................................... 18
1.4.1. Mô tả ..................................................................................................................... 18
1.4.2. Thông số kỹ thuật .................................................................................................. 18
1.4.3. Tính năng và ứng dụng ......................................................................................... 18
1.4.4. Hình ảnh................................................................................................................ 18
1.5. Module RF 315 MHz .................................................................................................. 19
1.5.1. Mô tả phần phát .................................................................................................... 19
1.5.2. Thông số kỹ thuật .................................................................................................. 19
1.5.3. Tính năng và ứng dụng ......................................................................................... 19
1.5.4. Hình ảnh................................................................................................................ 19
1.5.5. Mô tả phần thu ...................................................................................................... 20
1.5.6. Thông số kỹ thuật .................................................................................................. 20
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.6. Cảm biến ánh sáng..................................................................................................... 22


1.6.1. Mô tả ..................................................................................................................... 22
1.6.2. Nguyên lý hoạt động.............................................................................................. 22
1.6.3. Tính năng và ứng dụng ......................................................................................... 22
1.6.4. Hình ảnh................................................................................................................ 22
1.7. LCD 16 x 2 ................................................................................................................. 23
1.7.1. Mô tả ..................................................................................................................... 23
1.7.2. Tính năng và ứng dụng ......................................................................................... 23
1.7.3. Thông số ............................................................................................................... 23
1.7.4. Hình ảnh................................................................................................................ 24
1.8. Module I2C cho LCD .................................................................................................. 24
1.8.1. Mô tả ..................................................................................................................... 24
1.8.2. Tính năng và ứng dụng ......................................................................................... 25
1.8.3. Thông số kỹ thuật .................................................................................................. 25
1.8.4. Hình ảnh................................................................................................................ 25
1.9. Transistor ................................................................................................................... 25
1.9.1. Mô tả ..................................................................................................................... 25
1.9.2. Tính năng và ứng dụng ......................................................................................... 26
1.9.3. Phân loại ............................................................................................................... 26
1.9.4. Hình ảnh................................................................................................................ 26
1.10. Relay ........................................................................................................................ 27
1.10.1. Mô tả ................................................................................................................... 27
1.10.2. Tính năng và ứng dụng ....................................................................................... 27
1.10.3. Thông số Relay SRD-05VDC-SL-C ..................................................................... 28
1.10.4. Hình ảnh .............................................................................................................. 28
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG ................................................................................ 29
2.1. Sơ đồ khối .................................................................................................................. 29
2.2. Chức năng của từng khối trong bộ điều khiển ............................................................ 30
2.2.1. Khối xử lý .............................................................................................................. 30
2.2.2. Khối INPUT ........................................................................................................... 30
2.2.3. Khối OUTPUT ....................................................................................................... 31
2.3. Sơ đồ nguyên lý toàn mạch ........................................................................................ 32
2.4. Sơ đồ nguyên lý và hoạt động của từng phần. ........................................................... 32
2.4.1. Khối vi xử lý ........................................................................................................... 32
2.4.2. Khối INPUT ........................................................................................................... 33
2.4.3. Khối OUTPUT ....................................................................................................... 37
2.5. Sơ đồ mạch in ............................................................................................................ 40
2.6. Hình ảnh mạch thực tế ............................................................................................... 40
CHƯƠNG 3: GIẢI THUẬT PHẦN MỀM ............................................................................... 41
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

3.1. Sơ đồ giải thuật chương trình chính cho bộ điều khiển ............................................... 41
3.2. Sơ đồ giải thuật và chức năng của từng phần ............................................................ 41
3.2.1. Khởi tạo chức năng chân ...................................................................................... 41
3.2.2. Khởi tạo EEPROM ................................................................................................ 42
3.2.3. Đọc SSID, PASS, Auth từ EEPROM ..................................................................... 42
3.2.4. Kiểm tra chế độ ..................................................................................................... 43
3.2.5. Kết nối với máy chủ Blynk ..................................................................................... 44
3.2.6. Đọc dữ liệu từ máy chủ Blynk ................................................................................ 44
3.2.7. Thực thi điều khiển thiết bị..................................................................................... 44
3.3. Phần mềm trên thiết bị thông minh ............................................................................. 45
3.4. Giao diện phần mềm .................................................................................................. 46
PHẦN KẾT LUẬN ................................................................................................................ 47
1. Kết quả nghiên cứu ....................................................................................................... 47
2. Những hạn chế trong quá trình nghiên cứu ................................................................... 47
3. Hướng phát triển ........................................................................................................... 47
4. Kết luận ......................................................................................................................... 48
TÀI LIỆU KHAM KHẢO ........................................................................................................ 49
1. Sách, giáo trình ............................................................................................................. 49
2. Tài liệu tham khảo từ web ............................................................................................. 49
PHỤ LỤC ............................................................................................................................. 50
Phụ lục 0.1. Chương trình nạp cho vi điều khiển ESP8266 ............................................... 50
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

TÓM TẮT
Hiện nay, với sự bùng nổ mạnh mẽ của cuộc cách mạng lần thứ 4 công nghệ 4.0 ra
đời hoạt động mạnh mẽ trên nhiều lĩnh vực. Với sự phát triển mới này, cách mạng 4.0
mang đến cho con ngừời nhiều tiện ích, hệ thống tự động thông minh hơn ứng dụng
trong rất nhiều hệ thống có thể giúp đảm bảo an toàn và nâng cao hiệu suất và chất
lượng làm việc. Các hệ thống điều khiển thiết bị và quản lý từ xa có thể giúp cho
người quản lý và vận hành từ xa không giới hạn khoảng cách địa lý.
Chính vì thế, để theo kịp công nghệ hiện tại thì việc nghiên cứu cách thức hoạt động
nguyên lý, đưa vào vận hành và ứng dụng trong thực tế để đem lại hiệu quả trong sản
xuất là vô cùng cần thiết. Trên thị trường hiện nay có rất nhiều thiết bị, phần mềm cho
phép người dùng có thể điều khiển, quản lý được các thiết bị điện trong gia đình giúp
chúng trở nên thuận tiện và thông minh hơn. Tuy nhiên, các thiết bị có giá thành rẻ thì
có khá ít chức năng, giao diện điều khiển phức tạp và nhiều hạn chế riêng. Các thiết bị
thông minh, tối ưu thuận tiện cho người sử dụng thì thường có giá thành khá cao
không phù hợp với nhiều đối tượng người dùng.
Vì vậy, trong đề tài luận văn này em tập trung nghiên cứu để tạo ra một thiết bị
thông minh có thể giúp người dùng điều khiển, quản lý những thiết bị trong gia đình từ
xa thông qua mạng không dây. Thiết bị sẽ có các tính năng cơ bản dùng cho việc điều
khiển, quản lý và có một giao diện điều khiển thân thiện với người sử dụng. Thiết bị
có thể hoạt động ổn định, độ bền cao và giá thành phù hợp với nhiều người dùng hơn
các thiết bị tương tự trên thị trường.

Trang 1
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

PHẦN MỞ ĐẦU
1. Lý do chọn đề tài
Hiện nay, nhu cầu về sự tiện nghi của con người càng tăng cao, trong đó có sự quan
tâm về các thiết bị thông minh, bộ điều khiển thông minh. Ví dụ: Bộ điều khiển bật tắt
các thiết bị điện như: đèn, máy quạt, máy lạnh, TV…, thông qua điều khiển từ xa, qua
Internet, giúp cho việc điều khiển thiết bị trong nhà thông minh hơn, an toàn hơn, và
hơn hết chúng cũng sẽ giúp những người hay quên, người quá bận rộn với công việc,
quản lý và điều khiển các thiết bị điện trong nhà một cách đơn giản. Do bộ điều khiển
được kết nối với Internet, nên người dùng có thể bật, tắt và xem trạng thái thiết bị đang
trong tình trạng đã bật hay tắt, hẹn giờ bật tắt thiết bị qua phần mềm hỗ trợ trên điện
thoại thông minh. Bộ điều khiển còn cho phép người dùng điều khiển thiết bị từ xa
thông qua Remote mà không cần đến điện thoại, điều này khá thuận tiện trong trường
hợp không có điện thoại ở bên, điện thoại hết pin hay những thành viên trong gia đình
hạn chế về sử dụng các thiết bị công nghệ vẫn có thể sử dụng được một cách dễ dàng.
Qua phần mềm một hay nhiều người dùng trong gia đình có thể xem các thiết bị nào
mình đã quên tắt khi đi ra ngoài, giải quyết được vấn đề họ không nhớ mình đã tắt đèn
hay chưa? Máy điều hòa tắt chưa? Hay trước khi về họ muốn bật thiết bị trước để khi
về không cần phải chờ đợi.
Thấy được sự tiện ích của thiết bị này và phối hợp với khả năng nghiên cứu của em,
đồng thời dựa trên nền tảng của đề tài trước cho phép em phát triển lên đề tài: “THIẾT
KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ XA THÔNG QUA MẠNG INTERNET
TRÊN PHẦN MỀM ĐIỆN THOẠI THÔNG MINH”. Đây cũng là thiết bị trong các
dự án cho nhà thông minh.
2. Tình hình nghiên cứu ngoài nước liên quan tới đề tài
Thế giới đang chuyển mình mạnh mẽ trước xu thế "Internet of Things" (IoT). Tới
năm 2021, dự kiến sẽ có 28 tỉ thiết bị kết nối trong đó có 15 tỉ thiết bị kết nối IoT.
Theo báo cáo Ericsson Mobility Report, tới năm 2021, dự kiến sẽ có 28 tỉ thiết bị kết
nối trong đó có 15 tỉ thiết bị kết nối IoT bao gồm thiết bị M2M (machine-to machine)
như đồng hồ đo thông minh, cảm biến trên đường, địa điểm bán lẻ, các thiết bị điện tử
tiêu dùng như ti vi, đầu DVR, thiết bị đeo. 13 tỉ còn lại là điện thoại di động, máy tính
xách tay PC, máy tính bảng. IDC dự kiến năm 2019, tòan cầu sẽ chi 1.300 tỉ đô la Mỹ
cho IoT. Tới năm 2020, theo dự đoán của Gartner thì giá trị gia tăng do IoT mang lại

Trang 2
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

sẽ là 1.900 tỉ đô la Mỹ. Và theo McKinsey, tới năm 2025 IoT sẽ đóng góp vào nền
kinh tế toàn cầu là 11.000 tỉ đô la Mỹ. Tới năm 2021, dự kiến số thuê bao sẽ lên tới 9,1
tỉ. Số thuê bao này cao hơn số dân bởi mỗi người có thể sở hữu nhiều thiết bị.Trong
các kết nối IoT.

Như vậy, sẽ có bao gồm cả những có đăng ký thuê bao SIM/eSIM được gắn ngay
trong thiết bị và cả những thiết bị như điện tử tiêu dùng không cần dùng SIM (Non-
SIM). IoT đang diễn ra một cách mạnh mẽ. 50% doanh nghiệp đã bắt đầu triển khai
những dự án về IoT. IoT mang lại một cơ hội doanh thu cho rất nhiều ngành và những
giải pháp đó bắt đầu thương mại hóa với tốc độ rất nhanh. Ngành dịch vụ tiện ích, giao
thông, tòa nhà thông minh và các ngành bán lẻ là những ngành đi đầu trong việc ứng
dụng IoT.

Tháng 2 vừa qua IBM giới thiệu một công cụ phát triển mã nguồn mở mới được gọi
là Quarks. Công cụ này được cho là sẽ giúp các nhà sản xuất và nhà lập trình phát triển
ứng dụng của mình hiệu quả hơn, dựa trên dữ liệu từ các cảm biến của thiết bị Internet
of Things (IoT).

Ứng dụng của Quarks: Thực chất, Quarks dựa trên nền tảng các sản phẩm của IBM
Streams, một công cụ doanh nghiệp giúp xử lý lượng lớn các dữ liệu trực tiếp. Nhưng
Quarks khác biệt ở chỗ, nó được thiết kế từ đầu để cung cấp cho các nhà sản xuất và
nhà lập trình một công cụ mã nguồn mở, cho việc xây dựng các ứng dụng dựa trên các
thiết bị kết nối. Ý tưởng này là một biện pháp để họ tận dụng lợi thế để xử lý dữ liệu
trực tiếp từ các thiết bị IoT theo cách đơn giản và hiệu quả.

Đại diện Ericsson cho biết, ngay từ đầu năm 2016, hãng này đã giới thiệu giải pháp
Connected Water với nhiệm vụ giám sát chất lượng nước dựa trên kết nối 4G/LTE và
Internet of Things tại triển lãm CES (Mỹ). Ericsson và nhà mạng AT&T hợp tác triển
khai giải pháp giúp tổ chức bảo vệ sông Chattahoochee ở Atlanta kiểm soát nước sông
và cảnh báo kịp thời về sự ô nhiễm. Lưu vực sông này được sử dụng để cung cấp
nguồn nước sinh hoạt cho hơn 4.000 người dân. Các thiết bị cảm biến đầu tiên được
đặt ở khu vực đầu nguồn con sông tại Proctor Creek. Dòng chảy của con sông này ảnh
hưởng tới hơn 60.000 người dân sinh sống ở các khu công nghiệp, khu dân cư, công
viên, trường học quanh đó. Connected Water đặt những cảm biến giá thành rất thấp
vào dòng nước trong hệ thống sông hồ. Chúng có vai trò đo và ghi nhận thời gian thực

Trang 3
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

các thông số quan trọng về chất lượng nước như độ sạch, lượng kim loại nặng và liên
tục chuyển thông số này qua đám mây và mạng di động thông qua công nghệ LTE
Low Power Wide Area (LSWA). Các thiết bị này có tuổi thọ pin rất lâu đảm bảo tính
hiệu quả lâu dài, giúp chính quyền địa phương giám sát hiệu quả và có hành động kịp
thời, nhanh chóng đối với các vấn đề ô nhiễm nếu xảy ra.

Trên thế giới đã và đang nghiên cứu một số hệ thống, thiết bị đo nhiệt độ trong tất
cả các lĩnh vực có thể kể đến như :

- Nhà chế tạo chip vi điều khiển hàng đầu thế giới – Atmel đã cho ra mắt dòng chip
đo nhiệt độ có tên gọi AT30TS750, truyền thông theo giao thức số với bộ nhớ
EEPROM tích hợp.
- Alfredo Milani Comparetti đã cho ra đời phần mềm Speedfan theo dõi điện áp, tốc
độ quạt và nhiệt độ trong máy tính với màn hình phần cứng chip.
- Tại Úc các nhà vật lý học thuộc Đại học Adelaide tuyên bố đã chế tạo thành công
nhiệt kế chính xác nhất thế giới.
- Hãng Cypress Micro System đã cho ra đời công nghệ PSOC (Programmable
System On Chip) để có thể phát triển các thiết bị đo nhiệt độ dựa trên công nghệ
này.
3. Tình hình nghiên cứu trong nước liên quan tới đề tài
Hiện nay các công trình nghiên cứu về các thiết bị, bộ điều khiển từ xa thông qua
mạng Internet ngày một phổ biến. Hầu hết các đề tài đều là mô hình chung, chưa cụ
thể hóa 1 thiết bị nào đó. Trình ứng dụng điều khiển chưa tối ưu, chưa tương tác được
bằng giọng nói, thường không sử dụng mạng LAN cục bộ.
Đối với đề tài này, em đã tập trung nghiên cứu ra bộ điều khiển cụ thể, được tối ưu
hóa tính năng. Trình ứng dụng điều khiển được thiết kết dành cho Smartphone dể dàng
quản lý, tương tác, cài đặt các thông số. Bộ điều khiển sử dụng mạng Wifi, mạng
không dây thông dụng nhất hiện nay.
 Các công trình nghiên cứu tại Việt Nam như:
 Ứng dụng Inernet Of Things xây dựng ngôi nhà thông minh của Đại học Hàng
hải Việt Nam.
 Ứng dụng hệ thống Inernet Of Things xây dựng hệ thống đèn chiếu sáng thông
minh của Đại học Duy Tân.

Trang 4
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Nghiên cứu ứng dụng công nghệ iot cho giám sát môi trường của Đại học Quốc
gia Hà Nội.
 Khả năng và định hướng về sự phát triển internet kết nối vạn vật (internet of
things - iot) trên thế giới của Viện Chiến lược và Chính sách KH&CN.
 Danh mục các công trình đã công bố thuộc lĩnh vực của đề tài của chủ nhiệm và
những thành viên tham gia nghiên cứu:
 Ứng dụng Inernet Of Things xây dựng ngôi nhà thông minh của Đại học Hàng
hải Việt Nam. Tác giả: Nguyễn Văn Thắng, Pham Trung Minh, Nguyễn Cảnh
Toàn, Nguyễn Trọng Đức. Bài báo: Tạp chí khoa học Hàng hải.
 Ứng dụng hệ thống Inernet Of Things xây dựng hệ thống đèn chiếu sáng thông
minh của Đại học Duy Tân. Tác giả: Lê Minh Hải, Phan Vũ Đình Nguyên,
Trương Quốc Dũng.
 Nghiên cứu thiết kế và chế tạo hệ thống đo giám sát nhiệt, ẩm cho các kho nông
lâm sản có môi trường khắc nghiệt của Phạm Minh Tuấn, Phạm Thượng Cát,
Trần Đức Minh, Viện Công nghệ Thông Tin, Viện Khoa học và Công nghệ Việt
Nam.
4. Tính cấp thiết của đề tài
 Hạn chế các công trình đã có:
 Các công trình nghiên cứu trước, bộ điều khiển không cho phép người dùng điều
khiển từ xa ngoài mạng cục bộ.
 Trình điều khiển chưa thông minh, hổ trợ ít thiết bị điện.
 Chưa gửi được thông tin trạng thái thiết bị (bật hay tắt) lên ứng dụng của người
dùng.
Sự cần thiết của đề tài là phát triển một bộ điều khiển thông minh hơn, có thể
điều khiển và xem trạng thái hoạt động của thiết bị điện trong nhà một cách dể dàng
ở bất cứ nơi đâu có Internet, hỗ trợ nhiều thiết bị Smartphone truy cập điều khiển
cùng lúc.
Vì lý do trên, nên mục tiêu của đề tài này là nghiên cứu, phát triển thành công bộ
điều khiển có khả năng điều khiển và xem trạng thái hoạt động của thiết bị điện trong
nhà một cách dể dàng ở bất cứ nơi đâu có Internet.

Trang 5
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

5. Mục tiêu nghiên cứu


 Nghiên cứu và thiết kế thành công bộ điều khiển từ xa có khả năng:
 Điều khiển các thiết bị điện như đèn, máy quạt, TV, máy điều hòa…v.v.
 Điều khiển đa dạng phù hợp với nhiều người dùng.
 Điều khiển từ xa qua mạng Internet, bất cứ ở nơi nào có Internet.
 Thông báo trạng thái thiết bị điện qua phần mềm trên điện thoại Android.
 Hẹn giờ bật tắt thiết bị.
 Đo nhiệt độ và độ ẩm và hiển thị lên màn hình và Smartphone.
6. Nhiệm vụ nghiên cứu
Để thực hiện thành công đề tài “THIẾT KẾ BỘ ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TỪ
XA THÔNG QUA MẠNG INTERNET TRÊN PHẦN MỀM ĐIỆN THOẠI THÔNG
MINH”, người nghiên cứu cũng đã bỏ ra nhiều thời gian và công sức để tìm hiểu về
nguyên tắt hoạt động của các thiết bị, tham khảo cơ sở lý thuyết, những đề tài liên
quan.
 Trong phạm vi đề tài, người nghiên cứu thực hiện các nhiệm vụ sau đây:
 Tìm hiểu về nguyên lý hoạt động của các hệ thống hiện có.
 Đọc kỹ các tài hiệu liên quan về mạch điện tử và am hiểu về Vi điều khiển.
 Vẽ và thiết kế mạch nguyên lý trên lý thuyết, mô phỏng trên phần mềm Proteus.
 Vẽ mạch PCB và thi công mạch thực tế, chạy thử và khắc phục khuyết điểm, sau
đó cho ra sản phẩm hoàn thiện nhất.
7. Nội dung nghiên cứu
 Nội dung nghiên cứu của đề tài bao gồm:
 Nghiên cứu cách tạo App trên Smartphone.
 Tìm hiểu và xây dựng chương trình đọc dữ liệu từ các cảm biến như: cảm biến
nhiệt độ, độ ẩm, cảm biến ánh sáng.
 Xây dựng chương trình điều khiển kết hợp điều khiển thiết bị bằng Remote, nút
nhấn vật lý và Smartphone.
 Tìm hiểu cách cài đặt, sử dụng ứng dụng Blynk trên Smartphone.
 Tìm hiểu Module Wifi ESP8266 và cách xây dựng chương trình.
 Xây dựng chương trình truyền và nhận dữ liệu giữa vi điều khiển và Sever.
 Nghiên cứu và xây dựng chương trình chính cho bộ điều khiển.

Trang 6
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Vẽ sơ đồ nguyên lý, mạch PCB, thi công ráp mạch cho bộ điều khiển.
 Kiểm nghiệm hoạt động của bộ điều khiển ngoài thực tế.
8. Phương pháp nghiên cứu
8.1. Phương pháp nghiên cứu tài liệu
 Nghiên cứu các tài liệu liên quan đến đề tài như:
 Các giáo trình lý thuyết như: Mạch điện tử, Điện tử công nghiệp, Kỹ thuật vi xử
lý…
 Các sơ đồ nguyên lý có liên quan đến đề tài.
 Tham khảo các đề tài trên web, sách, tài liệu liên quan chuyên ngành.
8.2. Phương pháp nghiên cứu thực tiễn
 Tham khảo các ý kiến của các thầy cô giáo chuyên ngành.
 Học hỏi các kinh nghiệm của những người đi trước.
 Lấy kinh nghiệm trong suốt quá trình học tại trường.
9. Đối tượng nghiên cứu
 Module Wifi ESP8266.
 Module RF 2272 M4.
 Remote RF 2262.
 Màn hình LCD 16x2.
 Cảm biến nhiệt độ, độ ẩm DHT11.
 Cảm biến ánh sáng.
 Các chương trình: Arduino IDE, Blynk, Sever Blynk.
10. Phạm vi nghiên cứu
 Bộ điều khiển cho phép:
 Điều khiển 3 thiết bị điện như: quạt, đèn, …
 Hiển thị nhiệt độ, độ ẩm trên ứng dụng và màn hình LCD.
 Điều khiển đèn nền LCD tự động theo ánh sáng môi trường hoặc Remote.
 Cho phép nhiều người dùng tương tác điều khiển cùng 1 bộ điều khiển, cùng một
thời điểm với nhiều phương thức điều khiển đồng bộ với nhau.
 Bộ điều khiển cho phép điều khiển thiết bị điện, xem trạng thái các thiết bị, cài
đặt thời gian bật tắt thiết bị ở bất cứ nơi nào có Internet và có điện cho bộ điều
khiển.

Trang 7
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

PHẦN NỘI DUNG


CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
GIỚI THIỆU CÁC LINH KIỆN, MODULE ĐƯỢC SỬ DỤNG
1.1. Sơ lược về vi điều khiển.
Vi điều khiển là một máy tính được tích hợp trên một chíp, nó thường được sử dụng
để điều khiển các thiết bị điện tử. Vi điều khiển, thực chất, là một hệ thống bao gồm
một vi xử lý có hiệu suất đủ dùng và giá thành thấp (khác với các bộ vi xử lý đa năng
dùng trong máy tính) kết hợp với các khối ngoại vi như bộ nhớ, các module vào ra, các
module biến đổi số sang tương tự và tương tự sang số... Ở máy tính thì các mô đun
thường được xây dựng bởi các chíp và mạch ngoài.
Vi điều khiển thường được dùng để xây dựng các hệ thống nhúng. Nó xuất hiện khá
nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng, điện thoại, đầu đọc
DVD, thiết bị đa phương tiện, dây chuyền tự động …
 Các vi điều khiển thông dụng:
 Họ vi điều khiển AMCC (do tập đoàn "Applied Micro Circuits Corporation" sản
xuất). Từ tháng 5 năm 2004, họ vi điều khiển này được phát triển và tung ra thị
trường bởi IBM: 403 PowerPC CPU, PPC 403GCX, 405 PowerPC CPU, PPC
405EP, PPC 405GP/CR, PPC 405GPr, PPC NPe405H/L, 440 PowerPC Book-E
CPU, PPC 440GP, PPC 440GX, PPC 440EP/EPx/GRx, PPC 440SP/Spe
 Họ vi điều khiển Atmel:
+ Dòng 8051 (8031, 8051, 8751, 8951, 8032, 8052, 8752, 8952).
+ Dòng Atmel AT91 (Kiến trúc ARM THUMB).
+ Dòng AT90, Tiny & Mega – AVR (Atmel Norway design)
+ Dòng Atmel AT89 (Kiến trúc Intel 8051/MCS51)
+ Dòng MARC4
 Họ vi điều khiển Cypress MicroSystems: CY8C2xxxx (PSoC)
 Họ vi điều khiển Freescale Semiconductor. Từ năm 2004, những vi điều khiển này
được phát triển và tung ra thị trường bởi Motorola:
+ Dòng 8-bit: 68HC05 (CPU05), 68HC08 (CPU08), 68HC11 (CPU11)
+ Dòng 16-bit: 68HC12 (CPU12), 68HC16 (CPU16), Freescale DSP56800
(DSPcontroller)

Trang 8
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

+ Dòng 32-bit: Freescale 683XX (CPU32), MPC500, MPC 860 (PowerQUICC),


MPC 8240/8250 (PowerQUICC II), MPC 8540/8555/8560 (PowerQUICC III)
+ Họ vi điều khiển Fujitsu: F²MC Family (8/16 bit), FR Family (32 bit), FR-V
Family (32bit RISC)
 Họ vi điều khiển Intel
+ Dòng 8-bit: 8XC42, MCS48, MCS51, 8061, 8xC251
+ Dòng 16-bit: 80186/88, MCS96, MXS296
+ Dòng 32-bit: 386EX, i96
1.2. Vi điều khiển dùng trong đề tài: ESP8266.
1.2.1. Giới thiệu
ESP8266 là một wifi SOC (system on a chip) được phát triển bởi Espressif
Systems. ESP8266 được tích hợp với đầy đủ các tính năng về internet với kích
thước rất nhỏ gọn với mức giá khiêm tốn (tầm 2$). Đây là sự lựa chọn tuyệt vời cho
những ai triển khai dự án IOT, thiết bị cầm tay, mobile…
1.2.2. Tổng quan về ESP8266
 Tổng quan:
ESP8266 là dòng chip Low-power và là một wifi SOC nên cần rất ít linh kiện
ngoài (tầm 7 thành phần). Hoạt động trong dãi nhiệt -40°C to +125°C.
 32-bit RISC CPU: Tensilica Xtensa LX106 hoạt động với 80 MHz*.
 64 KiB instruction RAM, 96 KiB data RAM.
 QSPI flash ngoài – 512 KiB – 4 MiB* (có thể lên tới 16 MiB).
 IEEE 802.11b/g/n Wi-Fi.
 Tích hợpTR switch, balun, LNA, power amplifier và matching network.
 WEP hoặc WPA/WPA2 authentication, open networks.
 16 GPIO pins.
 SPI, I2C.
 I2S interfaces với DMA (dùng chung với GPIO).
 UART.
 1 10-bit ADC.
 Mạch tích cực ở High Level.
ESP8266EX là một trong những dòng chip tích hợp Wifi trong lĩnh vực công
nghiệp. Với kích thước chỉ 5mmx5mm, ESP8266EX cần rất ít linh kiện hỗ trợ
Trang 9
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

ngoài. ESP8266EX được tích hợp 32-bit Tensilica MCU, các ngoại vi cơ bản,
antenna switches, RF balun, khuếch đại công suất, khuếch đại nhận nhiễu thấp (low
noise), bộ lọc và các modules quản lý nguồn.
 32-bit Tensilica MCU
ESP8266EX tích hợp vi xửa lý Tensilica L106 32-bit (MCU) là dòng chip low-
power, 16-bit RSIC, tốc độ clock cao nhất là 160 MHz. Nếu hệ thống hoạt động với
Real Time Operation System (RTOS) và Wi-Fi stack thì ta có khoảng 80% khả
năng xử lý cho ứng dụng người dùng.
 Low Power Management
Với những ứng dụng cho mobile, thiết bị điện tử cẩm tay và Internet of Things
(IoT), ESP8266EX hoạt động với mức tiệu thụ năng lượng rất thấp với nhưng công
nghệ độc quyền. Tính năng tiết kiệm năng lượng với 3 chế độ hoạt động – active
mode, sleep mode và deep sleep mode, vì vậy cho phép hiện thực những thiết bị với
thời lượng Pin rất lớn.
 Là thiết kế bền vững
Hoạt động với dãi nhiệt khá rộng -40°C to +125°C (trong công nghiệp),
ESP8266EX có thể hoạt động tốt trong môi trường công nghiệp. Với sự tích hợp
cao, dòng chip này hoạt động với rất ít linh kiện ngoài làm tăng độ tin cậy, chặt chẽ
và ổn định cao.
 Module ESP8266
Là mạch được thiết kế với các components khác (flash memory, antenna,
LEDs…). Dựa trên kích thước và số lượng chân ra, có nhiều phiên bản cho Module
này: ESP-01, ESP-02, ESP-03… Phổ biến nhất là ESP-12.

Hình 1: Hình dạng ESP-12

Trang 10
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Hình 2: Nguyên lý ESP-12

Hình 3: Sơ đồ chân ESP-12


 Chức năng của từng chân:
+ VCC: là nguồn cung cấp từ 3.3v đến 3.6v.
+ GND: là chân mass.
+ TXD: là chân truyền dữ liệu (ở mức 3.3v).
+ RXD: là chân nhận dữ liệu (ở mức 3.3v).
+ CH_PD: chân kích hoạt chế độ ngủ cho Vi điều khiển (kích ở mức thấp).
+ GPIO + mã số: Các chân I/O của Vi điều khiển.
+ REST: chân Reset.

Trang 11
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Thiết lập phần cứng với Module ESP8266


+ Thiết lập thêm một số linh kiện để module có thể hoạt động được.
+ Đầu tiên, cần cấp nguồn cho chip. Dòng chip này hoạt động ở 3.3V, phải cẩn
thận nếu kết nối ESP8266 với các thiết bị 5V.
+ Tiếp theo, cần 1 Module USB to TTL (USB-UART) để nạp chip. Kêt nối chân
TX và RX của module USB-UART với chân RX và TX của ESP8266.
+ Chân GPIO 2 nên đặt lên mức cao lúc boot. Chân GPIO 0 phải được đặt ở
mức thấp trong lúc upload 1 chương trình mới, và mức cao lúc boot. Nếu bạn
sử dụng Model ESP-12, chân GPIO 15 nên là mức thấp lúc boot. Các đường
kết nối nên sử dụng các điện trở, ở đây dùng điện trở 2.2K. Chân CH_PD
(chip-enable) nên luôn để mức cao.
+ Mắc 1 nút reset module cho tiện trong lúc thao tác với module.
 Chúng ta có mạch như sau:

Hình 4: Cách lắp mạch trên Breadboard


Trong đề tài, bộ điều khiển đã sử dụng Module Node MCU ESP 8266 có tích hợp
sẵn cách mạch để hoạt động và nạp chương trình.

Hình 5: Hình ảnh thực tế Module Node MCU ESP 8266


Trang 12
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Sơ đồ nguyên lý Module ESP-12 NodeMCU

Hình 6: Sơ đồ nguyên lý Module ESP8266- Node MCU

Trang 13
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Nạp chương trình


ESP8266 được hỗ trợ bởi chương trình Arduino IDE.

Hình 7: Giao diện chương trình Arduino IDE


Lý do chính cho việc sử dụng Arduino IDE cho ESP8266 thay cho SDK của
Espressif là vì nó đơn giản và có tính cộng đồng lớn.
Bây giờ cần thêm một Extension vào Arduino IDE để có thể sử dụng để lập trình
ESP8266. Vào File > Preferences và trong Additional Boards Managers URLs,
nhập URL cho ESP8266 package:
http://arduino.esp8266.com/stable/package_esp8266com_index.json.

Hình 8: Thêm một Extension vào Arduino IDE

Trang 14
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Sau đó vào Tools > Board và mở Boards Manager. Tìm ESP8266 (ESP8266
community) và Install nó.

Hình 9: Tìm và cài đặt Board ESP8266 vào Arduino IDE.


Vào Tools > Board và chọn board tương ứng (NodeMCU 1.0 (ESP-12E Module)
nếu đang sử dụng Module ESP8266 NodeMCU).

Hình 10: Chọn board tương ứng để lập trình và nạp chương trình

Trang 15
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Bây giờ đã sẵn sàng để upload chương trình đầu tiên. Chọn một chương trình đơn
giản (ví dụ Blink) từ File > Examples và upload để chắc chắn rằng đã thiết lập mọi
thứ hoàn toàn.

Hình 11: Chạy thử một ví dụ có sẵn


Việc upload mất khoảng một lúc để hoàn thành, khi nạp xong cửa sổ dưới sẽ như
thế này:

Hình 12: Quá trình nạp chương trình của phần mềm Arduino IDE

Trang 16
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.3. Nguồn xung AC - DC 5VDC - 2A


1.3.1. Mô tả
Mạch nguồn xung AC - DC 5VDC 2A được sử dụng để chuyển nguồn xoay
chiều 220 VAC sang 5 VDC – 2A công suất tối đa 10W được dùng để cấp cho thiết
bị, mạch có chất lượng linh kiện và gia công tốt, độ bền cao, thiết kế mạch dùng
biến áp xung cách ly AC/DC và các cơ chế bảo vệ hồi tiếp, chống nhiễu cho độ an
toàn và độ ổn định tối đa độ tin cậy cao.
1.3.2. Thông số kỹ thuật
- Điện áp ngõ vào: 100 ~ 240 VAC.
- Dòng ngõ vào: 0.0273A (110VAC) / 0.014A (AC220VAC).
- Điện áp ngõ ra: 5 VDC (sai số 1%).
- Dòng ngõ ra trung bình: 2000 mA.
- Công suất 10W.
- Kích thước: 54 x 34 mm.
1.3.3. Ứng dụng
Mạch nguồn xung AC - DC 5VDC 2A dùng để cung cấp nguồn 5 VDC cho các
thiết bị sử dụng nguồn 5 VDC có công suất <= 10 W.
1.3.4. Hình ảnh thực tế

Hình 13: Module nguồn xung 5VDC – 2A

Trang 17
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.4. Module cảm biến nhiệt độ, độ ẩm DHT11


1.4.1. Mô tả
DHT11 Là cảm biến rất thông dụng hiện nay vì chi phí rẻ và rất dễ lấy dữ liệu
thông qua giao tiếp 1-wire (giao tiếp digital 1-wire truyền dữ liệu duy nhất). Cảm
biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính xác mà
không cần phải qua bất kỳ thuật toán tính toán nào.Tín hiệu DHT 11 có dạng là một
chuỗi tín hiệu có độ dài 40 bit theo thứ tự bao gồm: 8 bit biểu thị phần nguyên của
độ ẩm + 8 bit biểu thị phần thập phân của độ ẩm + 8 bit biểu thị phần nguyên của
nhiệt độ + 8 bit biểu thị phần thập phân của nhiệt độ + 8 bit check sum.
1.4.2. Thông số kỹ thuật
- Điện áp hoạt động từ: 3VDC - 5VDC.
- Kích thước: 15x12x5.5mm.
- Các chân cách nhau: 0.1 inch.
- Dải nhiệt độ hoạt động: 0 °C đến 50 °C ( Sai số +/- 2 °C ).
- Dải độ ẩm hoạt động: 20% RH - 90 % RH ( Sai số +/- 5% ).
- Khoảng cách truyền tối đa: 20 m.
- Tần số lấy mẫu tối đa: 1 Hz.
1.4.3. Tính năng và ứng dụng
- Dùng đo nhiệt độ và độ ẩm.
- Dùng để nghiên cứu học tập bộ môn điện tử.
- Dùng đo nhiệt độ môi trường xung quanh.
- Dùng đo độ ẩm xung quanh.
- Tương thích với nhiều dòng vi điều khiển như 8051 – Pic – AVR – Arduino ....
1.4.4. Hình ảnh

Hình 14. Module nhiệt độ, độ ẩm DHT11

Trang 18
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.5. Module RF 315 MHz


A. Phần phát RF 315 - PT2262
1.5.1. Mô tả phần phát
Remote RF 4 kênh 315Mhz - PT2262 sử dụng chip mã hóa PT2262, remote được
thiết kế nhỏ gọn, dễ dàng bỏ túi, cầm tay hay làm treo móc khóa với 4 nút nhấn
riêng biệt cho 4 kênh khác nhau của PT2262. Cho phép người dùng có thể mã hóa
riêng biệt cho từng Module ( mã hóa 8 bit ).

1.5.2. Thông số kỹ thuật


- Điện áp hoạt động: 12VDC ( 12V / 27A battery x 1).
- Dòng tiêu thụ: 10mA tại 12V.
- Radiated power: 10mW at 12V.
- Khoảng cách phát: 50m (Theo thông số nhà sản xuất thử nghiệm trong điều
kiện lý tưởng ).
- Tần số RF hoạt động: 315MHz.
- Modulation mode: ASK ( Amplitude Modulation ).
- Encoder types: fixed code.
1.5.3. Tính năng và ứng dụng
- Phát sóng RF đã được mã hóa bởi IC PT2262 với tần số 315 MHz.
- Phát tín hiệu RF điều khiển 4 kênh.
- Chế tạo bộ điều khiển thiết bị từ xa bằng sóng RF.
- Cho phép mã hóa tín hiệu 8 bit.
1.5.4. Hình ảnh

Hình 15. Remote RF 315 – PT226

Trang 19
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Hình 16. Sơ đồ nguyên lý module phát 2262


B. Phần thu RF 315 – 2272 M4
1.5.5. Mô tả phần thu
Module thu RF 4 kênh 315Mhz PT2272 - M4 sử dụng chip giải mã PT2272 –
M4 module được thiết kế nhỏ gọn, dễ dàng sử dụng hay kết hợp với các module
khác. Với 4 ngõ ra riêng biệt cho 4 kênh khác nhau tương ứng với tín hiệu nhận
được của remote PT2262. Cho phép người dùng có thể mã hóa riêng biệt cho từng
Module ( mã hóa 8 bit ). Module PT2272-M4 kích không nhớ trạng thái, trong thời
điểm kích chỉ giữ 1 trạng thái của 4bit, không kích 4bit trở về 0.

1.5.6. Thông số kỹ thuật


- Điện áp hoạt động: 5VDC.
- Tần số hoạt động: 315Mhz.
- Dòng điện tiêu thụ khi ở trạng nghỉ: 4.5mA.
- Độ nhạy: -105dB.
- IC giải mã: PT2272 - M4.
- Kích thước: 41 x 23 x 7mm.
- Anten mắc thêm: dài 23cm, đơn lõi, có thể cuộn tròn.

Trang 20
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.5.7. Tính năng và ứng dụng


- Thu sóng RF và giải mã bởi IC PT2272 với tần số 315 MHz.
- Thu tín hiệu RF điều khiển 4 kênh.
- Chế tạo bộ điều khiển thiết bị từ xa bằng sóng RF.
- Cho phép mã hóa tín hiệu 8 bit.

1.5.8. Hình ảnh

17. Module thu RF 315 – PT2272

Hình 18. Sơ đồ nguyên lý module nhận 2272


 Chú ý: Các cặp trở dao động cần phải đi theo cặp tương đồng giữa module phát
(2262) và module nhận (2272) thì mạch mới có thể thu và nhận được tín hiệu
(Oscillation Resistor Corresponding Table) các giá trị như sau: 470M – 820K,
3.3M – 680K, 2.2M – 390K, 1.5M – 270K, 1.2M – 200K.

Trang 21
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.6. Cảm biến ánh sáng


1.6.1. Mô tả
Cảm biến ánh sáng ( CdS Photoresistor ) hay còn được gọi là quang trở được
dùng để phát hiện cường độ ánh sáng. Được cấu tạo từ điện trở có trị số càng giảm
khi được chiếu sáng càng mạnh. Điện trở tối (khi không được chiếu sáng - ở trong
bóng tối) thường có giá trị trên 1M, trị số này giảm còn rất nhỏ có thể dưới 100 ôm
khi được chiếu sáng mạnh.
1.6.2. Nguyên lý hoạt động
Nguyên lý làm việc của quang điện trở là khi ánh sáng chiếu vào chất bán dẫn
( Cadmium sulfide – CdS, Cadmium selenide – CdSe ) làm phát sinh các điện tử tự
do, tức sự dẫn điện tăng lên và làm giảm điện trở của chất bán dẫn. Các đặc tính
điện và độ nhạy của quang điện trở dĩ nhiên tùy thuộc vào vật liệu dùng trong chế
tạo. Về phương diện năng lượng, ta nói ánh sáng đã cung cấp một năng lượng E=h.f
để các điện tử nhảy từ dãi hóa trị lên dãi dẫn điện. Như vậy năng lượng cần thiết h.f
phải lớn hơn năng lượng của dãi cấm.
1.6.3. Tính năng và ứng dụng
- Điều khiển thiết bị bật tắt theo ánh sáng.
- Điều khiển đèn chiếu sáng tự động.
- Hệ thống cảnh báo chống trộm.
- Đo nhịp tim.
- Truyền tải dữ liệu bằng thu nhận xung laser.
1.6.4. Hình ảnh

Hình 19. Module cảm biến ánh sáng

Trang 22
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.7. LCD 16 x 2
1.7.1. Mô tả
LCD ( Liquid Crystal Display ) được sử dụng trong rất nhiều các ứ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ố và 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 rất ít tài nguyên hệ
thống và giá thành rẻ…

1.7.2. Tính năng và ứng dụng


- Hiển thị các thông số, thông tin lên màn hình.
- Hiển thị được các kí tự trong bảng mã ACSII và 8 kí tự do người dùng tự tạo.
- Hiển thị 2 dòng với mỗi dòng là 16 ký tự, mỗi ký tự có độ phân giải 8x5 pixel
trên nền sáng phát ra từ LED.
- Chỉnh được độ tương phản của màn hình LCD

1.7.3. Thông số
 Sơ đồ thứ tự chân cơ bản của màn hình LCD 16x2:

Hình 20. Sơ đồ chân LCD 16 x 2


 Chú ý: Khi sử dụng màn hình LCD 16x2 cần phải nối chân VEE với một biến trở
để có thể điều chỉnh độ tương phản cho màn hình, tránh trường hợp màn hình hiển
thị không rõ, đen hoặc không hiển thị được.

Trang 23
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Chức năng của từng chân cơ bản sẽ được trình bày cụ thể theo bảng sau:

1.7.4. Hình ảnh

Hình 21. Màn hình LCD 16 x 2 thực tế


1.8. Module I2C cho LCD
1.8.1. Mô tả
LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm dụng
nhiều chân của vi điều khiển? Module chuyển đổi I2C cho LCD sẽ giải quyết vấn
đề này, thay vì sử dụng tối thiểu 6 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úng ta chỉ cần sử dụng 2 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 ( LCD 16x02, LCD 20x04, … ), 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 hiện nay.

Trang 24
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.8.2. Tính năng và ứng dụng


- Tiết kiệm chân cho vi điều khiển
- Dễ dàng kết nối và điều khiển các dòng LCD hiện nay.
- Chuyển đổi tín hiệu điều khiển LCD theo chuẩn giao tiếp I2C.
- Điều khiển độ tương phản qua biến trở.
1.8.3. 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)x19mm(W)x15.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.
1.8.4. Hình ảnh

Hình 22. Module I2C


1.9. Transistor
1.9.1. Mô tả
Trong điện tử, transistor ( transfer-resistor ) là một linh kiện bán dẫn. Khi hoạt
động trong mạch điện, transistor có vai trò như một cái van cách li hay điều chỉnh
dòng điện, điện áp trong mạch. Từ vai trò này, transistor được ứng dụng rộng rãi.
Transistor gồm 3 lớp bán dẫn loại P và loại N ghép lại với nhau. Do đó có 2 loại
transistor là NPN và PNP tương ứng với 2 cách sắp xếp 3 lớp bán dẫn trên.

Trang 25
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Hình 23. Cấu tạo của transistor

Như hình vẽ, transistor có 3 cực là B (Base), C (Collector) và E (Emitter) tương


ứng với 3 lớp bán dẫn. Sự phân hóa thành 3 cực này là do đặc tính vật lí của 3 lớp
bán dẫn là khác nhau.
1.9.2. Tính năng và ứng dụng
- Được dùng trong các mạch khuếch đại tín hiệu.
- Khóa điện tử.
- Kết hợp với các linh kiện khác cấu thành mạch điện tử.
- Kết hợp với nhau tạo thành IC.
1.9.3. Phân loại
 Transistor có rất nhiều loại với hàng tá chức năng chuyên biệt khác nhau:
- Transistor lưỡng cực (BJT - Bipolar junction transistor)
- Transistor hiệu ứng trường (Field-effect transistor)
- Transistor mối đơn cực UJT (Unijunction transistor) …
1.9.4. Hình ảnh

Hình 24. Hình ảnh transistor thực tế

Trang 26
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.10. Relay
1.10.1. Mô tả
Relay là loại linh kiện đóng ngắt điện cơ đơn giản. Nó gồm 2 phần chính là cuộn
hút và các tiếp điểm.
 Cuộn hút:
- Tạo ra năng lượng từ trường để hút tiếp điểm về phía mình.
- Tùy vào điện áp làm việc người ta chia Relay ra DC: 5V, 12V, 24V - AC:
110V, 220V.
 Cặp tiếp điểm:
- Khi không có từ trường ( ko cấp điện cho cuộn dây). Tiếp điểm 1 được tiếp xúc
với 2 nhờ lực của lò xo. Tiếp điểm thường đóng.
- Khi có năng lượng từ trường thì tiếp điểm 1 bị hút chuyển sang 3.
- Trong Relay có thể có 1 cặp tiếp điểm, 2 cặp tiếp điểm hoặc nhiều hơn.

Hình 25. Cấu tạo của Relay

1.10.2. Tính năng và ứng dụng


Nhìn chung, công dụng của rờ-le là "dùng một năng lượng nhỏ để đóng cắt
nguồn năng lượng lớn hơn".
Rờ-le được dùng khá thông dụng trong các ứng dụng điều khiển động cơ và
chiếu sáng.
Khi cần đóng cắt nguồn năng lượng lớn, rờ-le thường được ghép nối tiếp. Nghĩa
là một rờ-le nhỏ điều khiển một rờ-le lớn hơn, và rơ-le lớn sẽ điều khiển nguồn
công suất.

Trang 27
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

1.10.3. Thông số Relay SRD-05VDC-SL-C


- Điện áp điều khiển: 5V.
- Dòng điện cực đại: 10A.
- Thời gian tác động: 10ms.
- Thời gian nhả hãm: 5ms.
- Nhiệt độ hoạt động: -45 °C ~ 75 °C.
 Chú ý: Thông số bên trên được sử dụng cho Relay SRD-05VDC-SL-C, chúng ta
có thể sử dụng các loại Relay khác có điện áp điều khiển tương tự để thay thế
nhưng cần phải kham khảo tài liệu để biết thêm về thông số kỹ thuật của loại
Relay đó.

1.10.4. Hình ảnh

Hình 26. Hình ảnh sơ đồ chân của Relay SRD-05VDC-SL-C

Hình 27. Hình ảnh thực tế của Relay SRD-05VDC-SL-C

Trang 28
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG


2.1. Sơ đồ khối
ESP8266 là vi điều khiển có khả năng kết nối mạng thông qua WIFI, từ đó có để lập
trình điều khiển các thiết bị thông qua các cổng I/O. Có thể điều khiển bằng cách
thông qua mạng Internet hoặc đơn thuần bằng nút bấm như các vi điều khiển khác.
 ESP8266 có thể kết hợp các Module cảm biến, linh kiện để thực hiện các chức
năng tương ứng:
- Kết hợp với Module DHT 11 cảm biến nhiệt độ, độ ẩm để đo nhiệt độ và độ ẩm.
- Kết hợp với Module RF 315 để điều khiển thiết bị từ xa qua Remote RF.
- Gửi dữ liệu lên Server Blynk để lưu trữ và điều khiển thiết bị.
- Cảm biến quang kết hợp với nút nhấn để điều khiển đèn nền tự động theo ánh
sáng phòng hoặc bật tắt đèn nền bằng Remote.
- Kết hợp với nút nhấn để điều khiển bật tắt thiết bị đồng bộ với ứng dụng Blynk.
- Kết hợp với màn hình LCD 16x2 thông qua bộ giải mã I2C LCD để hiển thị
trạng thái nhiệt độ, độ ẩm và trạng thái thiết bị.
- Thông số nhiệt độ, độ ẩm và trạng thái thiết bị sẽ được gửi lên ứng dụng và hiển
thị trên ứng dụng.
- Tín hiệu được xử lý và điều khiển Relay để điều khiển thiết bị có công suất cao.
- Kết hợp với công tắc để chọn chế độ hoạt động cho ESP 8266.

Đối với thiết bị dân dụng thường sử dụng nguồn điện xoay chiều 220V, với điện thế
cao và tiêu thụ dòng lớn, thường các vi điều khiển không đáp ứng được vì mỗi chân
I/O chỉ xuất ra điện áp 3.3V đến 5V, dòng khoảng vài chục mili amper. Khi đó, nếu
nối trực tiếp thiết bị vào vi điều khiển thì mạch sẽ bị hỏng. Do đó để điều khiển được
thiết bị, chân điều khiển của vi điều khiển phải qua các tầng đệm điện áp và tầng đóng
ngắt chịu dòng và điện áp lớn. Để cho vi điều khiển cách li hoàn toàn với nguồn điện
220VAC khi điều khiển các thiết bị điện, bộ điều khiển đã sử dụng Relay thay vì điều
khiển trực tiếp vào chân của thiết bị.

Trang 29
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Sơ đồ khối toàn mạch điện:

Hình 28. Sơ đồ khối toàn mạch điện

2.2. Chức năng của từng khối trong bộ điều khiển


2.2.1. Khối xử lý
Sử dụng Module Node MCU ESP8266 với lõi dựa trên Chip WiFi ESP8266EX
trong Module ESP-12E có khả năng kết nối internet qua Wifi ( 2.4 GHz hỗ trợ
chuẩn 802.11 b/g/n tương thích hầu hết các thiết bị hiện nay ), đóng vai trò là bộ xử
lý trung tâm, nhận các tín hiệu đầu vào và lệnh được gửi về thông qua Internet rồi
xử lý cho ra tín hiệu tương ứng.

2.2.2. Khối INPUT


 Bao gồm: nguồn cung cấp, các cảm biến nhiệt độ, độ ẩm, Module điều khiển RF,
công tắc chọn chế độ, nút nhấn, quang trở.
- Nguồn cung cấp: là bộ chuyển đổi nguồn xung hạ áp từ 220VAC xuống 5VDC
– 2A , cung cấp nguồn nuôi cho vi điều khiển và toàn mạch.

Trang 30
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

- Cảm biến nhiệt độ, độ ẩm: là loại cảm biến DHT 11 ghi nhận nhiệt độ, độ ẩm
của môi trường rồi trả về giá trị cho vi điều khiển.
- Điều khiển RF từ xa: là module nhận RF PT2272 – M4 có 4 kênh có nhiệm vụ
nhận tín hiệu điều khiển từ Remote đưa vào vi xử lý để xử lý tín hiệu.
- Chọn chế độ hoạt động: là một công tắc 2 cực, khi nối lên VCC sẽ chuyển sang
chế độ nhập WiFi mới và khi nối với GND sẽ hoạt động trên WiFi sẵn có.
- Nút nhấn: là các nút nhấn vật lý có vai trò tạo ra tín hiệu điều khiển đưa vào vi
xử lý dùng để bật tắt thiết bị và reset thiết bị.
- Quang trở: đo cường độ ánh sáng của môi trường và trả về tín hiệu có dạng
analog 0 VDC – 5 VDC tương ứng, được dùng để điều khiển đèn nền bật/tắt tự
động theo ánh sáng của môi trường.
2.2.3. Khối OUTPUT
 Bao gồm: Màn hình LCD và mạch điều khiển thiết bị.
- Màn hình LCD: là màn hình LCD 16x2 được kết nối với module I2C. Tín hiệu
đã được xử lý sẽ được truyền đến module I2C và được giải mã để hiển thị các
thông số trên màn hình LCD.
- Mạch điều khiển thiết bị: là mạch điều khiển đệm tín hiệu từ vi xử lý để tín hiệu
đủ lớn có thể điều khiển đóng cắt Relay bật tắt thiết bị.

Trang 31
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

2.3. Sơ đồ nguyên lý toàn mạch

Hình 29. Sơ đồ nguyên lý toàn mạch


2.4. Sơ đồ nguyên lý và hoạt động của từng phần.
2.4.1. Khối vi xử lý

Hình 30. Sơ đồ nguyên lý khối xử lý

Trang 32
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Khối vi xử lý:
Với vi xử lý chính là Node MCU ESP8266 có vai trò tiếp nhận – xử lý – trả về
tín hiệu điều khiển phù hợp với yêu cầu sử dụng.

Pin
Kết nối Chức năng
ESP8266
Output Pin này có chức năng đọc giá trị từ công tắc để chọn chế độ
A0 khối chọn hoạt động cho mạch.
chế độ Thêm mạng mới 1 / 0 kết nối với mạng sẵn có.
Output của Cấp nguồn cho vi điều khiển hoạt động.
Vin
khối nguồn Điện áp cấp vào pin này là 5VDC.
Pin điện áp ngõ ra 3.3VDC của Node MCU sau khi hạ áp từ
Khối chọn
3.3V nguồn vào 5VDC.
chế độ
Có vai trò tạo mức điện thế cao cho khối chọn chế độ.
GND toàn GND được nối chung với GND ngõ ra của khối nguồn và
GND
mạch GND của các khối khác.
D0 Input khối
D1 điều khiển Pin xuất tín hiệu I/O để điều khiển bật tắt thiết bị
D2 thiết bị
D3 SDA I2C Tín hiệu xuất ra màn hình LCD
D4 DHT 11 Đọc giá trị của cảm biến nhiệt độ, độ ẩm DHT 11
D5 SCL I2C Tín hiệu xuất ra màn hình LCD
D6 Đọc giá trị từ nút nhấn trả về để điều khiển bật tắt thiết bị.
Khối nút
D7 Được kéo xuống GND với điện trở 10k để giảm nhiễu, tăng
nhấn
RX độ nhạy cho các nút nhấn.
Nút nhấn
RST Thực hiện chức năng khởi động lại cho khối xử lý.
reset
Còn lại Bỏ trống Các chân này được bỏ trống.

2.4.2. Khối INPUT


 Bao gồm các khối chức năng:
- Khối nguồn.
- Khối cảm biến nhiệt độ.
- Khối điều khiển RF.
- Khối chọn chế độ.
- Khối nút nhấn.
- Khối reset.
- Khối cảm biến đèn nền.

Trang 33
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Khối nguồn:

Hình 31. Sơ đồ khối nguồn

Điện áp 220 VAC được cấp vào domino DO1 sau đó được chuyển đổi hạ áp qua
mạch nguồn để đầu ra ta có được 5 VDC – 2 A để cung cấp cho toàn mạch. Tụ C6
có vai trò là tụ lọc nguồn để đảm bảo nguồn được ổn định.
 Khối cảm biến nhiệt độ:

Hình 32. Sơ đồ khối nhiệt độ, độ ẩm

Cảm biến được sử dụng là cảm biến nhiệt độ, độ ẩm DHT 11. Cảm biến sẽ được
cấp nguồn 5 VDC. Tín hiệu output sẽ được đưa vào chân D4 của Node MCU và
được giải mã để hiển thị trên LCD và trên thiết bị thông minh.
 Khối điều khiển RF:

Hình 33. Sơ đồ khối điều khiển RF

Trang 34
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Tín hiệu được phát từ remote sẽ được nhận tại module RF315 PT2272-M4 và
được giải mã cho ra 4 đường tín hiệu tại các chân D0 D1 D2 D3. Các tín hiệu này sẽ
được đưa qua diode 1N4007 để ngăn dòng điện đi ngược lại module PT2272 – M4 (
khi ấn nút nhấn ) và hạn dòng qua trở 1k để có mức điện áp phù hợp với ngõ vào
của Node MCU. Chân VT có chức năng báo hiệu khi nhận được tín hiệu, khi nhận
được tín hiệu chân này sẽ lên mức cao 5 VDC sẽ làm cho đèn D10 sáng báo hiệu đã
nhận được tín hiệu từ remote.
 Khối chọn chế độ:

Hình 34. Sơ đồ khối chọn chế độ


Công tắc SW1 có chân giữa được mắc qua trở 100 ohm để hạn dòng và được đưa
trực tiếp vào chân A0 của Node MCU. Khi bật công tắt SW1 lên trên ngõ ra sẽ nhận
được mức áp cao ( 3.3 V) và ngược lại khi bật công tắc xuống chân A0 sẽ nhận
được mức áp thấp ( 0 V). Tín hiệu này sẽ được chân A0 đọc và lưu giá trị vào Node
MCU. Dựa vào giá trị được lưu chúng ta có thể lập trình để Node MCU hoạt động
theo chế độ khác nhau phụ thuộc vào mục đích sử dụng.
 Khối nút nhấn:

Hình 35. Sơ đồ khối nút nhấn

Trang 35
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

VCC sẽ được hạn dòng qua trở 100 ohm và được nối vào một đầu của các nút
nhấn. Đầu còn lại của các nút nhấn sẽ được nối vào jack J3 để kết nối với jack J1
của khối xử lý. Khi nhấn nút nhấn, các trạng thái của các chân 2 3 4 ( Jack J3 ) sẽ
chuyển trạng thái từ mức thấp lên mức cao, các tín hiệu này sẽ được đưa về khối xử
lý để bật tắt thiết bị. Khi không nhấn nút nhấn, trạng thái các chân 2 3 4 ( Jack J3 )
sẽ trở về mức thấp, chờ cho lần nhấn nút nhấn tiếp theo.
 Khối reset:

Hình 36. Sơ đồ khối reset


Chân RST của Node MCU sẽ được nối vào một chân của nút nhấn và chân còn
lại của nút nhấn được nối vào GND. Khi nhấn nút nhấn, chân RST bị kéo xuống
GND làm cho Node MCU reset khởi động lại.
 Khối cảm biến đèn nền:

Hình 37. Sơ đồ khối cảm biến đèn nền


Có chức năng điều khiển đèn nền của màn hình LCD. Trong mạch transistor Q8
có vai trò khuếch đại đệm cho transistor Q7 điều khiển bật tắt đèn nền. R12 là trở
hạn dòng cho LED đèn nền giá trị thường từ 100 ohm – 150 ohm. Quang trở LDR1
kết hợp với biến trở VR1 tạo thành cầu chia thế có thể điều chỉnh được giá trị thông
qua biến trở. Tụ C4 có vai trò tạo độ trễ cho mạch kích đệm, vì mạch kích cần phải
có thời gian để nạp cho tụ C4 đầy, điều này rất quan trọng vì nó sẽ làm giảm hiện

Trang 36
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

tượng nhấp nháy đèn nền khi có ánh sáng chớp ở môi trường tác động lên mạch.
R14 R13 có vai trò là trở phân cực cho mạch đệm.

+ Khi cường độ ánh sáng mạnh, giá trị quang trở giảm, áp tại chân B ( Q8 ) tăng sẽ
kích dẫn transistor Q8 và Q7 làm cho áp tại C ( Q7 ) giảm làm LED sáng.
+ Khi cường độ ánh sáng yếu, giá trị quang trở tăng, áp tại B ( Q8 ) giảm làm cho
transistor Q8 và Q7 không dẫn làm cho áp tại C ( Q7 ) tăng làm LED tắt.
+ Khi D3 ( PT2272 – M4 ) lên mức cao do nhận được tín hiệu từ remote sẽ làm cho
áp tại chân B ( Q7 ) tăng làm cho áp tại C ( Q7 ) giảm làm LED sáng.
+ Khi D3 ( PT22272 – M4 ) không nhận được tín hiệu thì áp tại B ( Q7 ) sẽ phụ
thuộc vào tầng kích phía sau.
2.4.3. Khối OUTPUT
 Bao gồm các khối chức năng:
- Khối hiển thị LCD.
- Khối điều khiển thiết bị.
- Khối tạo trễ.
 Khối hiển thị LCD.

Hình 38. Sơ đồ khối hiển thị LCD


Khối hiển thị có nhiệm vụ tiếp nhận tín hiệu từ Node MCU và hiển thị thông số
lên màn hình. Để tiết kiệm các chân I/O nên chúng ta sẽ dùng giao tiếp I2C để
truyền dữ liệu. 2 chân D3 D5 được nối với 2 chân SDA và SCL của module I2C.
Các chân còn lại sẽ được nối với màn hình LCD 16 x 2.

Trang 37
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

 Khối điều khiển thiết bị:

Hình 39. Sơ đồ khối điều khiển thiết bị


Tín hiệu điều khiển 3.3 V được đưa qua các diode và hạn dòng bởi trở 1k sau đó
được đưa vào chân B (Q1, Q2, Q3). Khi tín hiệu điều khiển lên mức cao, áp tại chân B
(Q1, Q2, Q3) lên mức cao, transistor (Q1, Q2, Q3) sẽ dẫn làm cho áp tại chân C (Q1,
Q2, Q3) giảm, kích relay đóng và led (D3, D6, D9) sáng. Ngược lại, khi tín hiệu điều
khiển ở mức thấp, áp tại chân B (Q1, Q2, Q3) là mức thấp, transistor (Q1, Q2, Q3)
không dẫn. Áp tại chân C (Q1, Q2, Q3) là mức cao, relay mở, led (D3, D6, D9) tắt.
Các diode (D2, D5, D8) có vai trò xả năng lượng của cuộn hút relay khi ngắt nguồn và
khi relay mở. Tụ (C1, C2, C3) có vai trò khử nhiễu do quá trình đóng ngắt relay sinh
ra. Các trở (R2, R4, R6) có vai trò hạn dòng cho led (D3, D6, D9). Các chân E (Q1,
Q2, Q3) được nối chung với nhau và đưa vào chân C (Q4) của khối tạo trễ, có vai trò
đóng trễ cho các relay. DO2 là domino cấp nguồn cho các tải, DO3, DO4, DO5 là các
domino ra các tải.
 Khối hiển thị LCD:

Hình 40. Sơ đồ khối hiển thị LCD

Trang 38
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

LCD 16x2 được kết nối với module I2C. Việc truyền và nhận dữ liệu hiển thị lên
LCD thông qua module I2C. Các chân SDA, SCL được nối với chân D3, D5 của
Node MCU để truyền và nhận dữ liệu. Riêng hai chân Anot ( A ), Katot ( K ) của
đèn nền LCD sẽ được nối với A, K của khối điều khiển đèn nền.
 Khối delay:

Hình 41. Sơ đồ khối tạo trễ


Trong quá trình khởi động Node MCU sẽ bị nháy lên mức cao tại một số chân
I/O ( D0, D1, D3, D4, … ) vì vậy, trong quá trình mất điện có lại, reset lại mạch, …
sẽ xuất hiện hiện tượng đóng thiết bị ở các ngõ ra điều khiển trong tích tắc sau đó
trở về trạng thái bình thường. Hiện tượng này ảnh hưởng rất nhiều đến các thiết bị
được điều khiển để khắc phục tình trạng này, khối tạo trễ sẽ được thêm vào mạch.
Nguyên lý hoạt động của mạch tạo trễ là sử dụng transistor Q4 ( D468 ) để đóng
ngắt các chân E ( Q1, Q2, Q3 ) của khối điều khiển thiết bị. Khi khởi động lại, R19
sẽ nạp cho tụ C5 khiến áp tại chân B ( Q5 ) tăng dần, khi áp tăng đến ngưỡng hoạt
động sẽ làm cho transistor Q5 dẫn. Khi Q5 dẫn sẽ kích hoạt Q4 dẫn, nối các chân E
( Q1,Q2,Q3 ) về GND để khối điều khiển thiết bị có thể hoạt động được. Quá trình
này mất khoảng 1s – 2s từ lúc bật nguồn, khi đó Node MCU đã được cấp nguồn
trước và đã trải qua quá trình nháy nên khối mạch tạo trễ đã loại bỏ được lỗi nháy
lên mức cao trong quá trình khởi động của Node MCU.

Trang 39
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

2.5. Sơ đồ mạch in

Hình 42. Sơ đồ mạch in


2.6. Hình ảnh mạch thực tế

Hình 43. Mạch điều khiển thực tế

Trang 40
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

CHƯƠNG 3: GIẢI THUẬT PHẦN MỀM


3.1. Sơ đồ giải thuật chương trình chính cho bộ điều khiển
 Sơ đồ giải thuật tổng hợp:

Bắt đầu

Khởi tạo chức


năng các chân

Khởi tạo
EEPROM

Đọc SSID,
PASS và Auth
từ EEPROM

S
Kiểm tra
Khởi tạo AP
chế độ

Đ
Đợi kết nối với
người dùng Kết nối vói máy
chủ Blynk

Nhận dữ liệu
SSID, PASSvà
Auth Blynk

Lưu vào Đọc dữ liệu từ Đợi nhận dữ Gửi dữ liệu lên


EEPROM máy chủ Blynk liệu từ máy chủ máy chủ

Thiết bị 1 Thiết bị 2 Thiết bị 3

Đ Đ Đ

Bật/tắt thiết bị 1 Bật/tắt thiết bị 2 Bật/tắt thiết bị 3

Hình 44. Sơ đồ giải thuật chương trình chính cho bộ điều khiển
3.2. Sơ đồ giải thuật và chức năng của từng phần
3.2.1. Khởi tạo chức năng chân
Trong vi xử lý, mỗi chân có thể chứa nhiều chức năng khác nhau và Node MCU
cũng không ngoại lệ. Việc nhiều chức năng như vậy sẽ gây rối loạn trong quá trình
hoạt động của vi xử lý khiến các tín hiệu ngõ ra bị sai lệch. Việc khai báo chân sẽ
nằm trong phần cài đặt void setup() và được chạy duy nhất một lần khi khởi động.
Trang 41
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Tại phần này chúng ta sẽ khai báo các ngõ vào ra, chân cảm biến, các giá trị ban
đầu của biến, …

3.2.2. Khởi tạo EEPROM


Gọi hàm EEPROM.begin(); thực hiện việc đọc và lưu giá trị vào bộ nhớ
EEPROM. Đây là một bộ nhớ khá đặc biệt, dữ liệu được lưu vào đây sẽ không bị
mất đi khi mất nguồn, Reset. Trong đề tài này, EEPROM sẽ được sử dụng để lưu
các thông số quan trọng như SSID, PASS, AUTH các thông số này sẽ được lưu trữ
và sẵn sàng để đọc dữ liệu về tên mạng Wifi, mật khẩu đăng nhập vào mạng Wifi,
mã máy chủ Blynk.

3.2.3. Đọc SSID, PASS, Auth từ EEPROM


Tên đăng nhập Wifi (SSID), mật khẩu đăng nhập Wifi (PASS) và mã máy chủ
(Auth) được cài đặt trước sẽ được lấy ra từ EEPRPOM để phục vụ cho việc kết nối
và truyền dữ liệu giữa mạch chính và máy chủ. Vì được lưu trong EEPROM nên khi
sử dụng các lệnh này, tại phần lập trình chúng ta sẽ cần phải khai báo thêm thư viện
hỗ trợ các lệnh thao tác với EEPROM (#include “EEPROM.h”). Để thao tác được
với EEPROM thì chúng ta cần lệnh EEPROM.begin(size); với size là số byte muốn
sử dụng ( trong khoảng từ 4 byte đến 4096 byte). Và đọc dữ liệu bằng lệnh
EEPROM.read(i) với i là địa chỉ vùng nhớ đã lưu giá trị. Để ghi dữ liệu vào
EEPROM chúng ta sẽ sử dụng lệnh EEPROM.write(i, 0); với i là địa chỉ và 0 là giá
trị ghi cho địa chỉ đó. Lệnh này được dùng với mục đích để xóa dữ liệu của
EEPROM về 0 vì bản chất không có lệnh xóa dành cho dữ liệu trong EEPROM.
Nhưng chúng ta cần chú ý khi sử dụng lệnh EEPROM.write() thì dữ liệu sẽ không
được viết trực tiếp lên flash mà chúng ta cần phải gọi EEPROM.commit() trước khi
muốn thay đổi, lưu trữ trên flash. Lệnh EEPROM.end() cũng sẽ ghi nhận và cho
phép RAM sao chép nội dung chứa trong EEPROM.

Trang 42
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

3.2.4. Kiểm tra chế độ

Hình 45. Sơ đồ giải thuật chương trình kiểm tra chế độ


 Hoạt động của giải thuật:
Sau khi khởi tạo EEPROM, Node MCU bắt đầu đọc các giá trị SSID, PASS và
Auth sẵng sang cho việc kết nối Internet. Nếu công tắc chọn chế độ hoạt động được
cài mức 0, Node MCU sẽ tiến hành kết nối máy chủ Blynk với các thông số đọc
được từ EEPROM. Sau khi kết nối được với máy chủ, Node MCU sẽ tiến hành truy
suất trạng thái ở lần hoạt động cuối và điều khiển trạng thái các thiết bị bật/tắt giống
với lần cuối hoạt động. Nếu công tắc chọn chế độ hoạt động được cài ở mức 1,
Node sẽ tiến hành chạy các lệnh thông báo rằng đã kích hoạt chế độ cài mạng Wifi
mới. Lúc này AP được tạo, Node MCU sẽ khởi tạo một WebSever với địa chỉ
192.168.4.1 khi kết nối với Web này bằng trình duyệt trên thết bị thông minh, người
dùng sẽ có thể thay đổi các thông số SSID, PASS, Auth của mạch chính.

Trang 43
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

3.2.5. Kết nối với máy chủ Blynk


Sau khi tạo Project mới chúng ta sẽ được cấp một mã Auth để phân biệt các tài
khoản với nhau, các Project với nhau và người dùng sẽ kết nối với máy chủ Blynk
thông qua mã này. Mã Auth có dạng là một chuỗi 32 kí tự gồm chữ và số, người
dùng sẽ thông qua WebSever mà Node MCU đã tạo (trong chế độ thêm mạng mới)
để nhập vào mã Auth của Project điều khiển trên phần mềm thiết bị thông minh và
lưu vào EEPROM để sử dụng cho các lần đăng nhập sau.

3.2.6. Đọc dữ liệu từ máy chủ Blynk


Trên phần mềm Blynk, các chân điều khiển sẽ được gán cho một chân ảo kí hiệu
V0, V1, V2, V3, … tín hiệu điều khiển sẽ được gửi thông qua trạng thái của các
chân này. Khi Node MCU nhận được các giá trị này sẽ được ghi vào các biến ngõ
vào ra để đưa vào xử lý bật tắt thiết bị.
3.2.7. Thực thi điều khiển thiết bị

Đ Đ Đ

Hình 46. Sơ đồ giải thuật chương trình điều khiển thiết bị

Trang 44
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

Khi nút nhấn trên thiết bị thông minh được nhấn, các chân ảo (V0, V1, V2) sẽ
thay đổ trạng thái, các trạng thái này sẽ được sử dụng để thay đổi trạng thái của các
biến điều khiển ngõ ra điều khiển thiết bị. Khi có nút nhấn bằng tay, hay từ Remote
các tín hiệu này tác động vào các ngõ vào và các ngõ vào sẽ chuyển dổi trạng thái
của các biến điều khiển ngõ ra. Từ trạng thái 0/1 của các biến mà các ngõ ra tương
ứng với các mức High/Low để điều khiển bật/tắt thiết bị. Sau khi trạng thái của thiết
bị đã được thay đổi, trạng thái hiện tại sẽ được gửi lên Sever để đồng bộ trạng thái
phần cứng và phần mềm giống nhau. Khi gửi trạng thái, giá trị nhiệt độ độ ẩm cũng
sẽ được gửi lên Sever Blynk theo chu kỳ đã lập trình và được lưu trữ lại phục vụ
cho quá trình truy xuất dữ liệu sau này.
3.3. Phần mềm trên thiết bị thông minh

Giao diện

Xử lý

Máy chủ Blynk

Vi điều khiển

Hình 47. Sơ đồ giải thuật phần mềm trên thiết bị thông minh
Khối giao diện có nhiệm vụ tạo nên sự thuận tiện cho việc điều khiển của người
dùng. Thay vi phải cài đặt các ngõ vào điều khiển thay đổi trạng thái thì giao dện sẽ
đơn giản hóa vấn đề hơn với nút nhấn và hiển thị bằng hình ảnh, màu sắc trực quan
sinh động dễ dàng hơn cho việc điều khiển. Các tin hiệu điều khiển sẽ được gửi về
khối xử lý để xử lý tín hiệu.

Khối xử lý có nhiệm vụ tiếp nhận và xử lý thông tin từ các nút nhấn, bộ hẹn giờ, …
gửi dữ liệu này đến bộ điều khiển qua máy chủ Blynk. Đồng thời cũng nhận tín hiệu
phản hồi từ bộ điều khiển để hiển thị cập nhật trạng thái lên giao diện điều khiển.

Máy chủ Blynk có vai trò trung gian giữa bộ điều khiển và phàn mềm trên thiết bị
thông minh. Máy chủ Blynk sẽ là nơi tiếp nhận, phản hồi, lưu trữ, cho phép phần cứng,
Trang 45
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

phần mềm truy cập thông tin trong cơ sỡ dữ liệu đã lưu trữ, giúp cho việc điều khiển
được mượt mà hơn.

Khối vi điều khiển có vai trò tiêp nhận dữ liệu dạng thô sau đó xử lý chúng để có
thể truyền, lưu trữ trên máy chủ Blynk và nhận dữ liệu giữa các thiết bị với nhau.

3.4. Giao diện phần mềm

Hình 48. Hình ảnh giao diện điều khiển thực tế

Trang 46
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

PHẦN KẾT LUẬN


1. Kết quả nghiên cứu
Qua nhiều ngày tìm hiểu, nghiên cứu, cùng với sự giúp đở tận tình của thầy Đỗ Chí
Tâm và các thầy cô khác trong khoa Kỹ thuật – Công nghệ. Cuối cùng em cũng nghiên
cứu và thiết kế thành công bộ điều khiển thiết bị điện từ xa thông qua mạng Internet
trên phần mềm điện thoại thông minh, kết quả đạt được như sau:

 Bộ điều khiển điều khiển được ba thiết bị điện, hẹn giờ bật tắt thiết bị theo thời
gian cài đặt trước.
 Bộ điều khiển có màn hình LCD hiển thị được nhiệt độ - độ ẩm, trạng thái của
thiết bị.
 Bộ điều khiển thiết bị thông qua nhiều hình thức: nút nhấn, remote từ xa, phần
mềm trên thiết bị thông minh.
 Đọc và hiển thị giá trị nhiệt độ - độ ẩm của môi trường xum quanh.
 Điều khiển đèn nền màn hình LCD tự động theo ánh sáng của môi trường.
 Dễ dàng tải và cài đặt phần mềm cho thiết bị thông minh trên Android và IOS.
 Cho phép nhiều người dùng điều khiển thiết bị đồng thời với nhau.
2. Những hạn chế trong quá trình nghiên cứu
Do thời gian làm đề tài hạn chế và tài liệu tham khảo liên quan đến đề tài không
nhiều, chủ yếu tự nghiên cứu, thử nghiệm và chỉnh sửa nên đã mất nhiều thời gian.

Mạch được thiết kế và gia công thủ công nên mạch còn to, độ bền của đường mạch
không cao dễ bị ô-xi hóa.

Hiện tại bộ điều khiển chỉ có thể điều khiển ba thiết bị, chưa có thể diều khiển được
nhiều hơn.

3. Hướng phát triển


Để bộ điều khiển hoạt động tốt và đầy đủ tính năng như các sản phẩm trên thị
trường, bộ điều khiển phải khắc phục được những hạn chế được nêu ở trên. Điều khiển
được nhiều thiết bị hơn, thông báo tình trạng của thiết bị chính xác hơn. Thiết bị có thể
điều khiển được trên nhiều giao thức hơn: Website, điều khiển thông qua giọng nói,
điều khiển qua trợ lý ảo, qua tin nhắn, …

Trang 47
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

4. Kết luận
Phần đề tài này đã tạo cho sinh viên hiểu rõ một phần nào đó về sản phẩm thuộc dự
án nhà thông minh. Nâng cao sự hiểu biết về cách thức hoạt động của thiết bị thông
minh và hưởng ứng làn gió của cuộc cách mạng công nghiệp 4.0 ở Việt Nam.

Hiện tại bộ điều khiển đã đáp ứng gần đầy đủ chức năng cơ bản của một bộ điều
khiển thường lắp đặt cho các dự án nhà thông minh, nhưng vì lý do kiến thức về lĩnh
vực mới này của người nghiên cứu chưa đủ rộng, thời gian hạn chế, nên việc gặp
những lỗi trong bộ điều khiển và thiếu tính năng là không thể thiếu. Mong quý thầy cô
thông cảm và đóng góp ý kiến để ngày càng hoàn thiện hơn.

Em xin chân thành cảm ơn !

Trang 48
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

TÀI LIỆU KHAM KHẢO


1. Sách, giáo trình
1. Nguyễn Tấn Phước (2003), “Giáo trình Linh Kiện Điện Tử”, NXB Tổng hợp
TP Hồ Chí Minh.
2. Tống Văn On – Hoàng Đức Hải, “Họ vi điều khiển 8051”, NXB Lao động – Xã
hội.
3. IoT Maker VietNam, “Internet of Things cho người mới bắt đầu”, IoT Maker
VietNam.
4. Trung tâm ADVANCECAD, “Internet of Things với ESP8266”, Advance
CAD.
5. Luigi Atzori, Antonio Iera, Giacomo Morabito, “Internet of Things: A survey,
Computer Networks” 54 (2010) 2787–2805.
6. Dr. Ovidiu Vermesan, Dr. Peter Friess, Patrick Guillemin, Internet of Things
Strategic Research Roadmap, 2009 Strategic Research Agenda, The IoT
European Research Cluster - European Research Cluster on the Internet of
Things (IERC).

2. Tài liệu tham khảo từ web


1. https://raw.githubusercontent.com/nodemcu/nodemcu-
devkit/master/Documents/
2. https://www.espressif.com/sites/default/files/documentation/0a-
esp8266ex_datasheet_en.pdf
3. https://iotmaker.vn/nodemcu.html
4. https://esp8266.vn/introduction/prepare/
5. https://svtdhnlu.com/chia-se/nodemcu/nodemcu-gipo-voi-arduino-ide.html
6. https://arduino.esp8266.vn/wifi/station.html
7. http://maxembedded.com/2014/02/inter-integrated-circuits-i2c-basics/
8. https://iotmaker.vn/mach-chuyen-doi-i2c-cho-lcd.html
9. https://playground.arduino.cc/Main/I2cScanner/
10. https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
11. http://arduino.vn/bai-viet/922-tinh-theo-phong-cach-arduino
12. https://blynk.io/
13. https://docs.blynk.cc/#intro

Trang 49
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

PHỤ LỤC
Phụ lục 0.1. Chương trình nạp cho vi điều khiển ESP8266
// So do dau day
// Node MCU ESP 8266
//
// A0 A0 ----- Selec Mode
// D0 16 ----- Relay 1
// D1 5 ----- Relay 2
// D2 4 ----- Relay 3
// D3 0 ----- SDA
// D4 2 ----- DTH 11
// D5 14 ----- SCL
// D6 12 ----- Button 1
// D7 13 ----- Button 2
// D8 15 ----- Button 3
// RX 3 -----
// TX 1 -----
// S2 9 -----
// S3 10 -----

#include <ESP8266WiFi.h> // Khai bao thu vien


#include <ESP8266WebServer.h> // Blynk
#include <BlynkSimpleEsp8266.h> // Blynk
#include <LiquidCrystal_I2C.h>
#include "EEPROM.h" // EEPROM
#include"DHT.h" // DTH 11
#define DHTPIN D4 // DTH 11
#define DHTTYPE DHT11 // DHT 11
#define BLYNK_PRINT Serial // Blynk
#include <Wire.h> // LCD
LiquidCrystal_I2C lcd(0x27, 16, 2); // LCD
ESP8266WebServer server(80); // Khoi tao WebSever

Trang 50
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

const char* ssid = "XSwitch"; // Ten Wifi dung cho viec dang nhap
const char* passphrase = "000000000"; // Mat khau Wifi dung cho viec dang nhap
const int out_relay1 = 4; // gan cac chan GPIO thanh cac relay cho viec de goi ten
const int out_relay2 = 5;
const int out_relay3 = 16;
const int button1 = 12; // gan cac chan GPIO thanh cac nut nhan de de cho viec goi ten
const int button2 = 13;
const int button3 = 15;
const int selec_mode = A0; // gan chan A0 de chon mode
int relay_state1 = 0, relay_state_last1=0; // khai bao cac bien dung de dao trang thai relay
int relay_state2 = 0, relay_state_last2=0;
int relay_state3 = 0, relay_state_last3=0;
float temper = 0; // khai bao bien nhiet do
float humi = 0; // khai bao bien do am
int nhiet_do = 30;
int do_am = 40;
char gt_ht1=0, /* button_blynk1=0, */ gt_trc1=0; // khai bao cac bien nut nhan Blynk
char gt_ht2=0, /* button_blynk2=0, */ gt_trc2=0; // gia tri 1
char gt_ht3=0, /* button_blynk3=0, */ gt_trc3=0;
String st; // khai bao chuoi nhan gia tri Auth
String content;
int statusCode;
BlynkTimer timer;
DHT dht(DHTPIN, DHTTYPE);
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V0);
Blynk.syncVirtual(V1);
Blynk.syncVirtual(V2);
}
BLYNK_WRITE(V0) // nhan gia tri tu AP Blynk Button 1
{
if(param.asInt()==0)
{

Trang 51
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

digitalWrite(out_relay1,0);
}
else{
digitalWrite(out_relay1,1);
}
}
BLYNK_WRITE(V1) // nhan gia tri tu AP Blynk Button 2
{
if(param.asInt()==0)
{
digitalWrite(out_relay2,0);
}
else
{
digitalWrite(out_relay2,1);
}
}
BLYNK_WRITE(V2) // nhan gia tri tu AP Blynk Button 2
{
if(param.asInt()==0)
{
digitalWrite(out_relay3,0);
}
else
{
digitalWrite(out_relay3,1);
}
}

BLYNK_READ(V4)
{
Blynk.virtualWrite(V4, temper);
}
BLYNK_READ(V5)

Trang 52
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

{
Blynk.virtualWrite(V5, humi);
}
void setup()
{
Serial.begin(115200); // Mo Serial Monitor
dht.begin();
// SDA / SCL // DTH
Wire.begin(0,14); // LCD
lcd.init(); // LCD
lcd.noBacklight(); // LCD co sua doi
timer.setInterval(50L, nutnhan1); // Timer
timer.setInterval(50L, nutnhan2); // Timer
timer.setInterval(50L, nutnhan3); // Timer
timer.setInterval(1000L, nhietdo_doam); // Timer
timer.setInterval(2000L, hien_thi_nhietdo_doam); // Timer
timer.setInterval(4000L, hien_thi_trang_thai); // Timer
// Serial.print("Server started"); // setup cac ngo vao ra trang thai ban dau
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print(" Khoa luan ");
lcd.setCursor(0,1); // cot 0 dong 1
lcd.print("Tran Vo Bao DT10 ");
delay(1000);
lcd.setCursor(0,0);
lcd.print("DKTB qua Internet");
lcd.setCursor(0,1);
lcd.print(" Server start ");
delay(1000);
pinMode(out_relay1,OUTPUT);
pinMode(button1,INPUT);
digitalWrite(out_relay1,0);
pinMode(button1,0);
pinMode(out_relay2,OUTPUT);
pinMode(button2,INPUT);

Trang 53
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

digitalWrite(out_relay2,0);
pinMode(button2,0);
pinMode(out_relay3,OUTPUT);
pinMode(button3,INPUT);
digitalWrite(out_relay3,0);
pinMode(button3,0);
pinMode(A0, INPUT); // 0 co san / 1 them moi
analogWrite(A0, 100);
// for (int i = 1; i < 3; i++)
// {
// digitalWrite(2, HIGH); // nhap nhay led blink bao hieu
delay(500);
// digitalWrite(2, LOW);
// delay(500);
// digitalWrite(2, HIGH);
// }
EEPROM.begin(512); // chay EEPROM lay ssid pass auth de dang nhap vao Wifi tao
duong truyen du lieu
delay(10);
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Bat dau ");
lcd.setCursor(0,1);
lcd.print(" Doc EEPROM ");
// Serial.println("Startup");
// Serial.println("Reading EEPROM ssid");
String esid; // lay gia tri ssid tu EEPROM
for (int i = 0; i < 32; ++i)
{
esid += char(EEPROM.read(i));
}
// Serial.print("SSID: ");
// Serial.println(esid.c_str());
esid.trim();

Trang 54
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

// Serial.println("Reading EEPROM pass"); // lấy giá trị Pass


String epass = "";
for (int i = 32; i < 96; ++i)
{
epass += char(EEPROM.read(i));
}
// Serial.print("PASS: ");
// Serial.println(epass.c_str());
epass.trim();
// Serial.println("Reading EEPROM blynk"); // lấy giá trị Auth
String eblynk = "";
for (int i = 96; i < 128; ++i)
{
eblynk += char(EEPROM.read(i));
}
// Serial.print("BLYNK: ");
// Serial.println(eblynk.c_str());
eblynk.trim();
if ( esid.length() > 1 )
{
WiFi.begin(esid.c_str(), epass.c_str());
if (testWifi())
{
launchWeb(0);
WiFi.disconnect();
char * auth_ = new char[eblynk.length() + 1];
eblynk.toCharArray(auth_, eblynk.length() + 1);
Blynk.begin(auth_, esid.c_str(), epass.c_str());
EEPROM.end();
return;
}
}
setupAP();
EEPROM.end();

Trang 55
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

}
bool testWifi(void)
{
int c = 0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Xin vui long doi");
lcd.setCursor(0,1);
lcd.print(" ket noi WiFi ");
// Serial.println("Xin vui long doi ket noi WIFI");
while ( c < 3 ) // Kiem tra dieu kien 3 lan
{
if (analogRead(A0)<100)
{
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print("Kiet noi vao mang");
lcd.setCursor(0,1); // cot 0 dong 1
lcd.print(" WiFi co san ");
delay(1000);
return true;
}
else
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Login: SXwitch ");
lcd.setCursor(0,1);
lcd.print("Pass: 000000000 ");
delay(1000);
lcd.setCursor(0,0);
lcd.print("Bang Smart Phone");
lcd.setCursor(0,1);
lcd.print(" Dien thong tin ");

Trang 56
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

delay(1000);
lcd.setCursor(0,0);
lcd.print("Sau do nhan gui ");
lcd.setCursor(0,1);
lcd.print(" Nhan nut Reset ");
delay(1000);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Please wait ... ");
delay(500);
// Serial.print(WiFi.status());
c++;
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Dang nhap mang ");
lcd.setCursor(0,1);
lcd.print(" WiFi moi ");
// Serial.println("");
// Serial.println("Thoi gian ket noi cham, Mo AP");
return false;
}
void launchWeb(int webtype)
{
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print(" WiFi ket noi ");
lcd.setCursor(0,1); // cot 0 dong 1
lcd.print("IP:");
lcd.setCursor(4,1);
lcd.print(WiFi.localIP());
// Serial.println("");
// Serial.println("WiFi ket noi");

Trang 57
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

// Serial.print("Dia chi IP: ");


// Serial.println(WiFi.localIP());
// Serial.print("SoftAP IP: ");
// Serial.println(WiFi.softAPIP());
createWebServer(webtype);
// Start the server
server.begin();
// Serial.println("May chu bat dau");
}
void setupAP(void)
{
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
int n = WiFi.scanNetworks();
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print(" Tim hoan tat ");
// Serial.println("Tim hoan tat");
if (n == 0)
{
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print(" Khong tim thay ");
// Serial.println("Khong tim thay mang");
}
else
{
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print("Tim thay:");
lcd.setCursor(10,0); // cot 0 dong 1
lcd.print(n);
lcd.setCursor(12,0); // cot 0 dong 0

Trang 58
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

lcd.print("mang");
lcd.setCursor(0,1); // cot 0 dong 1
lcd.print(" WiFi co san ");
// Serial.print(n);
// Serial.println("Tim thay mang");
for (int i = 0; i < n; ++i)
{
// Print SSID and RSSI for each network found
// Serial.print(i + 1);
// Serial.print(": ");
// Serial.print(WiFi.SSID(i));
// Serial.print(" (");
// Serial.print(WiFi.RSSI(i));
// Serial.print(")");
// Serial.println((WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*");
delay(10);
}
}
//Serial.println("");
st = "<ol>";
for (int i = 0; i < n; ++i)
{
// Print SSID and RSSI for each network found
st += "<li>";
st += WiFi.SSID(i);
st += " (";
st += WiFi.RSSI(i);
st += ")";
st += (WiFi.encryptionType(i) == ENC_TYPE_NONE) ? " " : "*";
st += "</li>";
}
st += "</ol>";
delay(100);
// Serial.println("softap");

Trang 59
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

// Serial.println(ssid);
// Serial.println(passphrase);
WiFi.softAP(ssid, passphrase, 6);
launchWeb(1);
// Serial.println("over");
}
void createWebServer(int webtype)
{
if ( webtype == 1 )
{
server.on("/", []()
{
IPAddress ip = WiFi.softAPIP();
String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);
content = "<!DOCTYPE HTML>\r\n<html><h2>XSwitch</h2>";
//content += ipStr;
//content += "<form method='get' action='setting'><table width='100%'
border='1'><tr><td width=\"30%\"><label>Wifi</label></td><td width=\"70%\><input
name='ssid' length=32
width='500'></td></tr><tr><td><label>Password</label></td><td><input name='pass'
length=64 width='500'></td></tr><tr><td><label>Blynk</label></td><td><input name='blynk'
length=32 width='500'></td></tr><tr><td></td><td><input
type='submit'></tr></tr></table></form>";
content += "<form method=\"get\" action=\"setting\">";
content += "<div>Wifi</div>";
content += "<div><input name=\"ssid\" size=\"40\"></div>";
content += "<div>Mat Khau</div>";
content += "<div><input name=\"pass\" size=\"40\"></div>";
content += "<div>Blynk</div>";
content += "<div><input name=\"blynk\" size=\"40\"></div>";
content += "<div><input type='submit'></div>";
content += "<p>";
content += st;
content += "</p>";
content += "</html>";
server.send(200, "text/html", content);

Trang 60
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

});
server.on("/setting", []()
{
String qsid = server.arg("ssid");
String qpass = server.arg("pass");
String qblynk = server.arg("blynk");
if (qsid.length() > 0 && qpass.length() > 0)
{
EEPROM.begin(512);
// Serial.println("clearing eeprom");
for (int i = 0; i < 128; ++i)
{
EEPROM.write(i, 0);
}
EEPROM.commit();
// Serial.println(qsid);
// Serial.println("");
// Serial.println(qpass);
// Serial.println("");
// Serial.println(qblynk);
// Serial.println("");
// Serial.println("writing eeprom ssid:");
for (int i = 0; i < qsid.length(); ++i)
{
EEPROM.write(i, qsid[i]);
// Serial.print("Wrote: ");
// Serial.println(qsid[i]);
}
// Serial.println("writing eeprom pass:");
for (int i = 0; i < qpass.length(); ++i)
{
EEPROM.write(32 + i, qpass[i]);
// Serial.print("Wrote: ");
// Serial.println(qpass[i]);

Trang 61
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

}
// Serial.println("writing eeprom blynk:");
for (int i = 0; i < qblynk.length(); ++i)
{
EEPROM.write(96 + i, qblynk[i]);
// Serial.print("Wrote: ");
// Serial.println(qblynk[i]);
}
EEPROM.commit();
EEPROM.end();
pinMode(2, OUTPUT); //Chop den xanh sau khu lam xong
digitalWrite(2, HIGH);
digitalWrite(2, LOW);
delay(500);
digitalWrite(13, HIGH);
content = "{\"Success\":\"Luu vao he thong. Khoi dong lai ten wifi moi\"}";
statusCode = 200;
}
else
{
content = "{\"Error\":\"404 not found\"}";
statusCode = 404;
lcd.clear();
lcd.setCursor(0,0); // cot 0 dong 0
lcd.print(" Loi ket noi 404 ");
// Serial.println("Sending 404");
}
server.send(statusCode, "application/json", content);
});
}
else if (webtype == 0)
{
server.on("/", []()
{

Trang 62
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

IPAddress ip = WiFi.localIP();
String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);
server.send(200, "application/json", "{\"IP\":\"" + ipStr + "\"}");
});
server.on("/cleareeprom", []()
{
content = "<!DOCTYPE HTML>\r\n<html>";
content += "<h2>XSwitch</h2><p>Clearing the EEPROM</p></html>";
server.send(200, "text/html", content);
// Serial.println("clearing eeprom");
for (int i = 0; i < 128; ++i)
{
EEPROM.write(i, 0);
}
// pinMode(2, OUTPUT); //Chop den xanh sau khu lam xong
// digitalWrite(2, HIGH);
// digitalWrite(2, LOW);
delay(500);
// digitalWrite(2, HIGH);
EEPROM.commit();
});
}
}

void loop()
{
server.handleClient();
Blynk.run(); // chay blynk
timer.run(); // Initiates BlynkTimer
}
void nhietdo_doam()
{
temper = dht.readTemperature();
humi = dht.readHumidity();

Trang 63
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

if (isnan(humi) || isnan(temper))
{
// Serial.println("Failed to read from DHT sensor!");
// Thong bao neu khong ket noi duoc voi DHT 11
delay(1000);
return;
}
else
{
nhiet_do = temper;
do_am = humi;
// Serial.print("Temperature: ");
// Serial.println(nhiet_do);
// Serial.print(" *C\t");
// Serial.print("Humidity: ");
// Serial.print(do_am);
// Serial.print(" %\t");
Blynk.virtualWrite(V6, nhiet_do);
Blynk.virtualWrite(V7, do_am);
}
}
void hien_thi_nhietdo_doam()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(" Nhiet do: ");
lcd.print(nhiet_do);
lcd.setCursor(13,0);
lcd.print("*C ");
lcd.setCursor(0,1);
lcd.print(" Do am: ");
lcd.print(do_am);
lcd.setCursor(10,1);
lcd.print("% ");

Trang 64
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

}
void hien_thi_trang_thai()
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print("TB1:");
lcd.setCursor(4,0);
if(relay_state1==1)
{
lcd.print("ON ");
}
else
{
lcd.print("OFF");
}
lcd.setCursor(9,0);
lcd.print("TB2:");
lcd.setCursor(13,0);
if(relay_state2==1)
{
lcd.print("ON ");
}
else
{
lcd.print("OFF");
}
lcd.setCursor(0,1);
lcd.print(" TB3:");
lcd.setCursor(8,1);
if(relay_state3==1)
{
lcd.print("ON ");
}
else

Trang 65
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

{
lcd.print("OFF");
}
}
void nutnhan1() // ham con cho nut nhan thu 1
{
if(gt_ht1==0 && gt_trc1==1)
{
delay(50);
if(digitalRead(button1)==0)
{
relay_state1= !relay_state1;
digitalWrite(out_relay1,relay_state1);
gt_trc1= 0;
// Serial.print(digitalRead(out_relay1)); // in ra trangj thai cua relay 1
// Serial.print(digitalRead(button1)); // in ra trang thai cua nut nhan 1
// Serial.print("ok");
Blynk.virtualWrite(V0, relay_state1); // gui gia tri den AP Blynk
}
}
gt_ht1= digitalRead(button1);
if(gt_ht1) gt_trc1= 1;
relay_state1= digitalRead(out_relay1);
}
void nutnhan2()
{
if(gt_ht2==0 && gt_trc2==1) // nut nhan
{
delay(50);
if(digitalRead(button2)==0)
{
relay_state2= !relay_state2;
digitalWrite(out_relay2,relay_state2);
gt_trc2= 0;

Trang 66
LUẬN VĂN TỐT NGHIỆP GVHD: Th.s ĐỖ CHÍ TÂM

// Serial.print(digitalRead(out_relay2));
// Serial.print(digitalRead(button2));
// Serial.print("ok");
Blynk.virtualWrite(V1, relay_state2); // gui gia tri den AP Blynk
}
}
gt_ht2= digitalRead(button2);
if(gt_ht2) gt_trc2= 1;
relay_state2= digitalRead(out_relay2);
}
void nutnhan3()
{
if(gt_ht3==0 && gt_trc3==1) // nut nhan
{
delay(50);
if(digitalRead(button3)==0)
{
relay_state3= !relay_state3;
digitalWrite(out_relay3,relay_state3);
gt_trc3= 0;
// Serial.print(digitalRead(out_relay3));
// Serial.print(digitalRead(button3));
// Serial.print("ok");
Blynk.virtualWrite(V2, relay_state3); // gui gia tri den AP Blynk
}
}
gt_ht3= digitalRead(button3);
if(gt_ht3) gt_trc3= 1;
relay_state3= digitalRead(out_relay3);
}

Trang 67

You might also like