SlideShare a Scribd company logo
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
-------------------
ĐỒÁN1
HỆ THỐNG KHÓA CỬA THÔNG MINH
NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Sinh viên: NGUYỄN ĐỨC NGỌC CẢNH
MSSV: 17119059
BÙI VIẾT DANH
MSSV: 17119061
TP. HỒ CHÍ MINH – 07/2020
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG
-------------------
ĐỒÁN1
HỆ THỐNG KHÓA CỬA THÔNG MINH
NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH
Sinh viên: NGUYỄN ĐỨC NGỌC CẢNH
MSSV: 17119059
BÙI VIẾT DANH
MSSV: 17119061
Hướng dẫn: PGS.TS. PHAN VĂN CA
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TP. HỒ CHÍ MINH – 07/2020
MỤC LỤC
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI..................................................1
1.1. ĐẶT VẤN ĐỀ....................................................................................1
1.2. MỤC TIÊU ĐỀ TÀI...........................................................................1
1.3. NỘI DUNG ĐỀ TÀI ..........................................................................2
1.4. GIỚI HẠN ĐỀ TÀI............................................................................2
1.5. BỐ CỤC .............................................................................................2
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ....................................................4
2.1. PHẦN CỨNG ....................................................................................4
2.1.1. Giới thiệu về Arduino Uno R3....................................................4
2.1.2. Giới thiệu về ESP8266 NodeMCU .............................................7
2.1.3. Giới thiệu về RFID RC522........................................................11
2.1.4. Giới thiệu về động cơ Servo......................................................13
2.1.5. Giới thiệu về MC-38 .................................................................14
2.2. CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG ..............................15
2.2.1. Chuẩn giao tiếp UART..............................................................15
2.2.2. Chuẩn giao tiếp SPI...................................................................16
2.3. PHẦN MỀM ....................................................................................17
2.3.1. Giới thiệu về Firebase ...............................................................17
2.3.2. Arduino IDE..............................................................................19
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ.....................................21
3.1. GIỚI THIỆU ....................................................................................21
3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG.....................................21
3.2.1. Thiết kế sơ đồ khối hệ thống .....................................................21
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
3.2.2. Tính toán và thiết kế mạch ........................................................22
CHƯƠNG 4. THI CÔNG HỆ THỐNG............................................28
4.1. GIỚI THIỆU ....................................................................................28
4.2. THI CÔNG HỆ THỐNG .................................................................28
4.2.1. Thi công bo mạch......................................................................28
4.2.2. Lắp ráp và kiểm tra....................................................................29
4.3. LẬP TRÌNH HỆ THỐNG................................................................31
4.3.1. Lưu đồ giải thuật .......................................................................31
4.3.2. Viết chương trình cho mạch......................................................34
CHƯƠNG 5. KẾT QUẢ VÀ NHẬN XÉT........................................39
5.1. KẾT QUẢ ........................................................................................39
5.1.1. Kết quả đạt được........................................................................39
5.1.2. Kết quả thực hiện.......................................................................40
5.2. NHẬN XÉT .....................................................................................44
CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................46
6.1. KẾT LUẬN......................................................................................46
6.2. HƯỚNG PHÁT TRIỂN...................................................................47
TÀI LIỆU THAM KHẢO ....................................................................48
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
LỜI MỞ ĐẦU
Ngày nay khoa học ngày càng phát triển và tiến bộ vượt bậc, nó
mang lại cho chúng ta cuộc sống tiện nghi hơn. Sự đa dạng về phát triển
khoa học kỹ thuật làm cho chúng ta có nhiều sự lựa chọn để giải quyết các
vấn đề khác nhau. Việc ứng dụng các thành tựu khoa học kỹ thuật hiện đại
trong tất cả các lĩnh vực đã và đang rất phổ biến trên toàn thế giới, thay thế
dần những phương thức thủ công, lạc hậu và ngày càng được cải tiến hiện
đại hơn.
Trong cuộc sống hằng ngày, việc ra đường luôn luôn phải cầm theo
một chiếc hay một chùm chìa khóa khá là vất vả, mỗi khi phải tìm chiếc
chìa nhỏ nhắn để mở cửa thì nó hay nằm ở những nơi mình không thể tìm
thấy ngay được trong chiếc túi của mình, và làm mất nhiều thời gian. Nó
còn có cả rủi ro thất lạc. Trước tình hình đó, “Hệ Thống Khóa Cửa Thông
Minh” ra đời để giúp mọi người không bị thất lạc chìa khóa, rút ngắn thời
gian mở cửa.
Sau vài tháng thiết kế và thi công mô hình với sự hướng dẫn của thầy
Phan Văn Ca, đề tài cũng đã hoàn thành và hoạt động tương đối ổn định.
Tuy nhiên do tầm hiểu biết và thời gian còn hạn chế nên khó tránh khỏi
những sai sót. Rất cảm ơn sự hướng dẫn của Thầy và bạn bè đã làm cho đồ
án được hoàn chỉnh hơn.
Trong báo cáo này gồm có 5 chương:
CHƯƠNG I: TỔNG QUAN ĐỀ TÀI
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
CHƯƠNG III: TÍNH TOÁN VÀ THIẾT KẾ
CHƯƠNG IV: THI CÔNG HỆ THỐNG
CHƯƠNG V: KẾT QUẢ VÀ NHẬN XÉT
CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI
1.1. ĐẶT VẤN ĐỀ
Mỗi người chúng ta đều sở hữu ít nhất một chiếc smartphone chạy hệ
điều hành android trong tay, cũng có người còn sử dụng cả 2 cho đến 3
chiếc để phục vụ nhu cầu riêng của họ. Điện thoại là vật có giá trị, nên mọi
người sẽ chú ý đến hơn mà giữ gìn bảo quản kỹ càng, còn chiếc chìa khóa
nhỏ bé kia lại dễ bị đánh rơi cho dù chúng ta muốn hay không muốn đi
chăng nữa.
Với mức sống ngày càng cao của xã hội hiện nay, cộng với việc kinh
tế xã hội phát triển cực nhanh thì vấn đề bảo mật rất đáng được quan tâm.
Chúng ta muốn biết ở nhà cửa đang mở hay đóng không, nhà chúng ta có
được an toàn không, đề tài này giúp tăng tính bảo mật và sự chủ động của
gia chủ, trực quan hơn khi gia chủ vắng nhà.
Vì thế, nhóm chúng em đã nghĩ ra một ý tưởng là kết hợp cả chiếc
chìa khóa vào điện thoại thông minh, nó khắc phục được vấn đề ra khỏi nhà
là phải cầm theo chìa khóa, nay đã có điện thoại cũng có thể mở cửa dễ
dàng. Ngoài ra, nếu điện thoại đã hết pin thì hệ thống cũng có biện pháp đề
phòng là mở bằng thẻ từ.
Sự ra đời của điện thoại thông minh và thẻ từ đã làm thay đổi
phương thức mở khóa. Làm cho việc mở cửa trở nên nhanh chóng, hiện
đại, hiệu quả. Có thể nói đề tài “Hệ Thống Khóa Cửa Thông Minh”
mang lại hiệu quả cao trong cuộc sống, mang tính bảo mật tốt và thuận tiện,
dễ sử dụng.
Đề tài sử dụng KIT nodeMCU là kit phát triển dựa trên nền chip
Wifi SoC ESP8266 với thiết kế dễ dàng sử dụng vì tích hợp chip nạp trên
board. Ngôn ngữ lập trình có thể sử dụng trực tiếp phần mềm IDE của
Arduino để lập trình với bộ thư viện riêng.
1.2. MỤC TIÊU ĐỀ TÀI
1
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
- Tiếp nhận tín hiệu từ các cảm biến và điều khiển thiết bị.
- Có chức năng giám sát trạng thái đóng mở cửa.
- Điều khiển bằng điện thoại.
- Có thể thi công đồ án trên một mô hình.
1.3. NỘI DUNG ĐỀ TÀI
- Tìm hiểu về Arduino
- Tìm hiểu về module ESP8266 nodeMCU
- Tìm hiểu về module RFID RC522
- Tìm hiểu cách trao đổi dữ liệu giữa FireBase và ESP thông qua
Wifi.
- Tìm hiểu cách trao đổi dữ liệu giữa ESP và Arduino thông qua
UART.
- Thiết kế ứng dụng điều khiển thiết bị
1.4. GIỚI HẠN ĐỀ TÀI
Vì một số yếu tố khách quan (điều kiện tài chính…) cũng như yếu tố
chủ quan (hạn chế về kiến thức chuyên môn…) mà nội dung đề tài chỉ
được thực hiện trong phạm vi sau đây:
- Hệ thống chỉ sử dụng Wifi để điều khiển. Thay vào đó thì trên
thực tế có rất nhiều loại sóng khác có thể điều khiển và giám sát
như: sóng Bluetooth…
- Kích thước mô hình
- Sử dụng các nền tảng đã có sẵn và các thư viện mở để phát triển
sản phẩm
- Giao diện ứng dụng trên điện thoại tự thiết kế, đơn giản dễ sử
dụng
1.5. BỐ CỤC
Nội dung chính của để tài được trình bày như sau, thành các chương
như sau:
2
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
- Chương 1. Tổng quan đề tài: Trình bày tổng quan tình hình
nghiên cứu, mục tiêu nghiên cứu và phạm vi nghiên cứu của đề
tài.
- Chương 2. Cơ sở thiết kế: Ở chương này nhóm trình bày cơ sở lý
thuyết về các vấn đề liên quan của hệ thống. Giới thiệu các thiết
bị phần cứng và giao thức truyền thông giữa các thiết bị trong hệ
thống.
- Chương 3. Tính toán và thiết kế: Chương này sẽ thiết kế sơ đồ
khối của hệ thống. Từ đó lựa chọn linh kiện thích hợp để xây
dựng sơ đồ nguyên lý của toàn hệ thống.
- Chương 4. Thi công hệ thống: Trình bày thiết kế phần cứng, đưa
ra lưu đồ giải thuật cho phần mềm. Thiết kế giao diện trên điện
thoại, quá trình điều khiển, giám sát và hoạt động của hệ thống.
- Chương 5. Kết quả và nhận xét: Những kết quả đạt được sau
thời gian thực hiện, kết quả thực nghiệm, từ đó đưa ra đánh giá
nhận xét.
- Chương 6. Kết luận và hướng phát triển: Tóm tắt nội dung đề
tài và kết luận những việc đã làm được, hạn chế. Từ đó rút ra
những nhận xét về khả năng ứng dụng thực tế và hướng phát triển
của đề tài. Đặt nền móng cho những đề tài nghiên cứu sau được
hoàn thiện và tiến bộ hơn về mặt kết quả thực nghiệm.
3
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 2. CƠ SỞ LÝ THUYẾT
2.1. PHẦN CỨNG
2.1.1. Giới thiệu về Arduino Uno R3
Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng
tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao
gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR
Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị
gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số
tương thích với nhiều board mở rộng khác nhau.
Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố
gắng mang đến một phương thức dễ dàng, không tốn kém cho những người
yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả
năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp
hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao
gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động.
Hình 2.1 Arduino UNO R3
4
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 2.2 Sơ đồ chân Arduino UNO R3
Bảng 2.1 Các thông số của Arduino UNO R3
Vi điều khiển Atmega328 họ 8 bit
Điện áp hoạt động 5V DC (chỉ được cấp qua USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ 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 PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30mA
Dòng ra tối đa (5V) 500mA
Dòng ra tối đa (3.3V) 50mA
Bộ nhớ Flash 32KB(Atmega328)
SRAM 2KB(Atmega328)
EEPROM 1KB(Atmega328)
5
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Các chân năng lượng:
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO.
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 UNO.
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có
thể được đo ở chân này, luôn là 5V. Mặc dù vậy , không được lấy
nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải
là cấp nguồn.
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ộ nhớ của Arduino UNO R3:
Sử dụng vi điều khiển Atmega328.
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ
trong bộ nhớ Flash của vi điều khiển. Sẽ có khoảng vài KB trong số này sẽ
được dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá
20kb bộ nhớ này.
2KB cho SRAM (Static Random Access Memory): giá trị các biế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.
Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất.
6
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
1KB cho EEPROM (Electrically Erasable Programmable Read Only
Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ
liệu vào đây mà không phải lo bị mất khi mất điện giống như dữ liệu trên
SRAM.
Các cổng vào/ra:
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu.
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 Uno 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.
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 UNO 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.
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép 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). 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.
2.1.2. Giới thiệu về ESP8266 NodeMCU
ESP8266
7
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
ESP8266 là dòng chip tích hợp Wifi 2.4Ghz có thể lập trình được, rẻ
tiền được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif
Systems.
Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị
trường dạng Module ESP-01. Có khả năng kết nối Internet qua mạng Wifi
một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm. Với giá cả có thể
nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm được.
ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn,
cung cấp nhiều Module lập trình mã mở giúp nhiều người có thể tiếp cận
và xây dựng ứng dụng rất nhanh.
Hiện nay tất cả các dòng chip ESP8266 trên thị trường đều mang
nhãn ESP8266EX, là phiên bản nâng cấp của ESP8266, đã có hơn 14 phiên
bản ESP ra đời, trong đó phổ biến nhất là ESP-12.
Hình 2.3 ESP8266
Module ESP8266 NodeMCU
Module ESP-12 kết hợp với firmware ESP8266 trên Arduino và thiết
kế phần cứng giao tiếp tiêu chuẩn đã tạo nên NodeMCU, loại Kit phát triển
ESP8266 phổ biến nhất trong thời điểm hiện tại. Với cách sử dụng, kết nối
8
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
dễ dàng, có thể lập trình, nạp chương trình trực tiếp trên phần mềm
Arduino, đồng thời tương tích với các bộ thư viện Arduino sẵn có.
Hình 2.4 Module ESP8266 NodeMCU
Sơ bộ về Module ESP8266 NodeMCU:
- Khả năng hoạt động như một Module Wifi:
Có thể quét và kết nối với một mạng Wifi bất kì (Wifi client)
để thực hiện tác vụ như lưu trữ, truy cập dữ liệu từ server.
Tạo điểm truy cập Wifi (Wifi Access Point) cho phép các thiết
bị khác kết nối,giao tiếp và điều khiển.
Một server để xử lý dữ liệu từ các thiết bị sử dụng internet.
- Nguồn vào và nguồn ra:
ESP8266 NodeMCU nhận nguồn từ cổng micro USB tích hợp
sẵn trên mạch, giúp việc nạp code trở nên dễ dàng hơn. Bên
cạnh đó, việc cấp nguồn cho module cũng linh động hơn vì
bạn có thể sử dụng sạc dự phòng thay cho nguồn từ USB trên
máy tính (nguồn cấp tối đa là 5V).
ESP8266 NodeMCU có thể cung cấp nguồn cho tối đa 4 thiết
bị: 3 nguồn ra 3.3V và một nguồn từ chân Vin (điện thế bằng
9
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
điện thế từ cổng micro USB). Khi sử dụng các chân cấp nguồn
này, hãy luôn kiểm tra để chắc chắn không cắm nhầm chân
dương (trên mạch in là 3v3 và Vin) và chân âm (GND). Tuy
nhiên, 3 chân 3.3V đều được bảo vệ, khi cắm ngược cực,
module sẽ chỉ nóng lên và dừng hoạt động. Chân Vin thì
không được bảo vệ, nếu cắm ngược cực sẽ gay hư hỏng hoặc
cháy Module.
- Truyền và nhận tín hiệu:
ESP8266 NodeMCU có tổng cộng 13 chân GPIO (General-purpose
input/output): chân có thể truyền/nhận tín hiệu (trên mạch in từ D0 đến D8
và RX, TX, SD2, SD3). Module chỉ có thể kết nối với tới nguồn tối đa 5V
qua cổng Micro USB. Các chân I/O chỉ có thể giao tiếp với các linh kiện
qua điện thế tối đa 3.3V.
Hình 2.5 Sơ đồ chân của Module
Thông số kỹ thuật:
10
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
IC chính: ESP8266 Wifi SoC.
Phiên bản firmware: NodeMCU Lua.
Chip nạp và giao tiếp UART: CP2102.
GPIO tương thích hoàn toàn với firmware Node
MCU. Cấp nguồn: 5VDC MicroUSB hoặc Vin.
GPIO giao tiếp mức 3.3VDC.
Tích hợp Led báo trạng thái, nút Reset, Flash.
Tương thích hoàn toàn với trình biên dịch Arduino.
Kích thước: 25 x 50 mm.
2.1.3. Giới thiệu về RFID RC522
Module RFID RC522 sử dụng IC MFRC522 của Philips dùng để đọc
và ghi dữ liệu cho thẻ NFC tần số 13.56MHz, với mức giá rẻ thiết kế nhỏ
gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ
RFID.
11
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 2.6 Module RFID RC522
Đặc điểm kỹ thuật:
Nguồn: 3.3VDC
Dòng điện hoạt động: từ 13 đến 26m
Dòng ở chế độ chờ (Stand by): từ 10 đến 13mA
Dòng ở chế độ nghỉ (Sleep Mode): nhỏ hơn 80µA
Dòng tải tối đa: 30mA
Tần số sóng mang: 13.56MHz
Khoảng cách đọc tối ưu: từ 0 đến 60mm
Giao tiếp: SPI
Tốc độ truyền dữ liệu: tối đa 10mbps
Nhiệt độ hoạt động: -20 đến 80 °C
Độ ẩm hoạt động: từ 5 đến 95%
12
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Các loại thẻ RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare
UltraLight, mifare Pro, mifare Desfire
Kích thước: 40mm × 60mm
Nguyên lý hoạt động cơ bản của hệ thống RFID: Thiết bị Reader
phát ra sóng điện từ ở một tần số nhất định, khi thiết bị Tag trong vùng hoạt
động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng từ đó phát
lại cho thiết bị Reader biết ID (mã số) của mình. Từ đó thiết bị RFID reader
nhận biết được tag nào đang trong vùng hoạt động.
Thẻ RFID là thiết bị có thể lưu trữ và truyền dữ liệu về bộ đọc bằng
sóng vô tuyến. Trong đó các thẻ thường lưu trữ thông tin về các sản phẩm
nào đó hoặc các ID (mã nhận diện. Thẻ RFID gồm chip bán dẫn nhỏ (bộ
nhớ của chip có thể chứa từ 96 đến 512 bit dữ liệu, nhiều gấp 64 lần so với
mã vạch) và anten được thu nhỏ trong một số hình thức đóng gói. Vài thẻ
RFID giống như những nhãn giấy và được ứng dụng để bỏ vào hộp và
đóng gói. Một số khác được sản xuất thành các miếng da bao cổ tay. Mỗi
thẻ được lập trình với một nhận dạng duy nhất cho phép theo dõi không
dây đối tượng hoặc con người đang gắn thẻ đó.
2.1.4. Giới thiệu về động cơ Servo
Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ
thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được
điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0 –
180 độ. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có
loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở
hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và
nhông sắc chắc chắn...
13
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 2.7 Động cơ Servo SG90
Ở đề tài này nhóm sử dụng động cơ Servo SG90 để biểu diễn cho
chốt khóa cửa. Nếu ở mô hình thực tế được đưa ra sử dụng, thì động cơ này
sẽ được tác động vào thanh chốt cài giúp cho cửa được khóa lại nếu động
cơ quay.
14
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
2.1.5. Giới thiệu về MC-38
Cảm biến từ MC-38 là một công tắc từ có dây, được gắn trên cửa, tủ.
Cảm biến sẽ đóng khi hai miếng đạt gần nhau, thường được dùng trong ứng
dụng chống trộm ở cửa, tủ, két sắt…
Hình 2.8 Cảm biến từ MC-38
Thông số kỹ thuật:
Khoảng cách hoạt động 18 +- 6mm
Điện áp giữa 2 tiếp điểm: tối đa 100V DC
Dòng tiêu thụ: tối đa 300mA
Tuổi thọ: 100 triệu lần đóng/ngắt
Dạng ngõ ra: thường mở (khi để 2 miếng gần thì đóng)
Cảm biến từ được dùng trong đề tài này để giám sát cửa có đang mở,
hay đóng hay không. Giúp gia chủ biết được trạng thái đóng mở cửa khi
không có ở nhà, cũng như để chắc chắn về việc khóa cửa có chính xác hay
không.
15
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
2.2. CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG
2.2.1. Chuẩn giao tiếp UART
UART là giao thức truyền thông nối tiếp trên lớp vật lý bao gồm
chuẩn RS232 hỗ trợ điểm-điểm và chuẩn RS485 hỗ trợ đa điểm được quản
lý bởi Hội Công Nghiệp Điện Tử EIA. Những chuẩn truyền thông trên quy
định nhiều thành phần của giao diện nối tiếp bao gồm mức điện áp, chuẩn
đấu nối, chân ra, chiều dài dây, thứ tự bit, tốc độ bit giữa các thiết bị.
Truyền dữ liệu không đồng bộ bao gồm đường truyền dữ liệu (Tx) và
đường nhận dữ liệu (Rx) và không có xung CK. Không còn phân biệt chủ
(Master) và tớ (Slave) - các hệ thống ngang cấp. Mỗi xung CK là một bit
dữ liệu được truyền đi. Để truyền được dữ liệu thì mỗi hệ thống phải có
một mạch dao động tạo xung CK, hai hệ thống sẽ có hai mạch giao động
độc lập nhưng phải có cùng tần số hay cùng tốc độ.
Hình 2.9 Truyền dữ liệu nối tiếp bất đồng bộ
Để duy trì sự đồng bộ giữa bộ truyền và nhận, trong một khung dữ
liệu chèn các bit start vào đầu và bit stop vào cuối mỗi byte dữ liệu trong
một chuỗi dữ liệu truyền đi. Do không có tín hiệu xung Clock chung để
đồng bộ, mỗi thiết bị phải tìm bit start bàng cách lấy mẫu từ đường nhận dữ
liệu (Rx) với xung nhịp nội. Khi bit start được xác định, thiết bị thu biết
rằng quá trình truyền đã bắt đầu và cần dịch chuỗi bit nối tiếp. Quá trình
truyền và nhận phải tuân theo một tốc độ bit chung được xác định trước khi
16
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
quá trình truyền thông bắt đầu, nếu không thì thiết bị nhận sẽ giải mã sai dữ
liệu thu được.
Truyền thông nối tiếp UART được sử dụng cho phương thức truyền
song công để giao tiếp giữa bộ nhận và bộ truyền. Lúc này, phần cứng của
bộ vi điều khiển cần được trang bị độc lập cả bộ truyền và bộ nhận riêng
biệt. Khi kết nối các truyền thông nối tiếp để đảm bảo các thông số truyền
thông giữa máy phát và máy thu giống nhau. Cả máy phát và máy thu cần
được thiết lập thành phần sử dụng chuẩn cùng tốc độ Baud, cùng số bit bắt
đầu và kết thúc, tính chẵn lẻ, phân cực, mức điện áp,…
2.2.2. Chuẩn giao tiếp SPI
Giao thức nối tiếp SPI (Serial Peripheral Interface – Giao diện ngoại
vi nối tiếp) được phát triển bởi Motorola cho phép nhiều thiết bị ngoại vi
giao tiếp song công (hai thiết bị truyền và nhận dữ liệu đồng thời). SPI là
một giao thức đa điểm, trong đó thiết bị thông tin qua một giao diện nối
tiếp bao gồm xung nhịp nối tiếp SCLK, MOSI (Master Out/Slave In),
MISO (Master In/Slave Out) và SS (Slave Select). Chỉ có duy nhất một
thiết bị trên bus được xem là thiết bị chủ (master) và tất cả các thiết bị còn
lại được xem là thiết bị tớ (slave) trên bus nối tiếp.
Hình 2.10 Giao tiếp SPI
17
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Tại một thời điểm thiết bị chủ chỉ giao tiếp với một thiết bị tớ bằng
cách cho đường SS của thiết bị tớ đó hoạt động. Thiết bị chủ điều khiển
việc truyền nhận bằng cách điều khiển các đường SS của từng thiết bị tớ và
sau  đó cấp xung trên đường SCLK. Đồng thời, thiết bị chủ nhận thông tin
từ thiết bị tớ qua đường MISO và nhận dữ liệu từ thiết bị tớ qua đường
MOSI.
SPI có thể được xem như một quá trình truyền đồng bộ. Bộ truyền
được chỉ định là chủ vì nó cấp xung đồng bộ giữa giữa máy phát và máy
thu. Một slave được chọn để giao tiếp bằng cách đặt đường tín hiệu SS của
nó xuống mức thấp.
Quá trình truyền SPI được bắt đầu bằng cách truyền một byte dữ liệu
vào thanh ghi dữ liệu SPI (SPDR) được cấu hình là chủ. Lúc này, bộ truyền
xung nhịp SPI cung cấp các xung nhịp cho master và slave qua chân
SCLK. Các bit đơn được dịch ra khỏi thanh ghi dịch của master, qua chân
MOSI sau mỗi xung CLK. Các bit dữ liệu được nhận tại chân MOSI của
slave được chỉ định. Cùng thời điểm, một bit đơn được truyền qua chân
MISO của slave và vào chân MOSI của master.
2.3. PHẦN MỀM
2.3.1. Giới thiệu về Firebase
Firebase là một dịch vụ API (giao diện lập trình ứng dụng) để lưu trữ
và đồng bộ dữ liệu giữa hai hay nhiều thiết bị với nhau. Firebase hoạt động
dựa trên nền tảng đám mây được cung cấp bởi Google nhằm giúp đỡ các
lập trình viên phát triển nhanh ứng dụng bằng cách đơn giản hóa các thao
tác ứng dụng với cơ sở dữ liệu.
18
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 2.11 Ứng dụng rộng lớn của
Firebase Lịch sử phát triển
Firebase được thành lập bởi Tamplin và Lee . Hai nhà sáng lập này
đã dựa vào một dịch vụ API chat trực tuyến vào trang web được cung cấp
bởi Envolve, các nhà phát triển sử dụng Envolve để đồng bộ hóa dữ liệu
các trạng thái trò chơi trong thời gian thực lên trang web. Dựa vào yếu tố
này Tamplin và Lee đã quyết định tách riêng hệ thống chat và kiến trúc
thời gian thực để thành lập một cơ sở dữ liệu Firebase riêng biệt vào tháng
4 năm 2012. Vào ngày 21 tháng 10 năm 2014 Google đã mua lại Firebase.
Các chức năng chính của Firebase
Realtime Database – Cơ sở dữ liệu thời gian thực
Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng
bộ database tới tất cả các client theo thời gian thực. Chúng ta có thể xây
dựng được client đa nền tảng (cross-platform client) và tất cả các client này
sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự động cập
nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa đổi.
Firebase Authentication – Hệ thống xác thực của Firebase
Với Firebase chúng ta có thể dễ dàng tích hợp các công nghệ xác
thực của Google, Facebook, Twitter, … hoặc một hệ thống xác thực mà
19
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
chúng ta mình tạo ra từ trong ứng dụng ở bất kì nền tảng nào như Android,
iOS hoặc Web.
Firebase Hosting
Chúng ta có thể triển khai một ứng dụng nền web chỉ với vài giây
với hệ thống Firebase, và các dữ liệu sẽ được lưu trữ đám mây đồng thời
được bảo mật thông qua giao thức truy cập SSL.
Ưu nhược điểm của Firebase
Ưu điểm
- Triển khai ứng dụng cực nhanh
- Tính bảo mật cao
- Có linh hoạt và mở rộng ứng dụng dễ dàng
- Tính ổn định cao ít khi nào gặp trường hợp sập server
- Người đăng ký tài khoản miễn phí có 1GB dung lượng lưu trữ
Nhược điểm
- Đăng ký tài khoản miễn phí thì chỉ được tối đa 100 thiết bị hoặc
người truy cập trong khi có tính phí thì sẽ trả phí theo thuê bao và
dung lượng lưu trữ.
2.3.2. Arduino IDE
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn
riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng
nói chung. Và Wiring lại là một biến thể của C/C++. Ngôn ngữ Arduino
bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu.
Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino,
nhóm phát triển dự án này đã cung cấp cho người dùng một môi trường lập
trình Arduino được gọi là Arduino IDE (Integrated Development
20
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Environment – Môi trường phát triển tích hợp). Phần mềm này có thể chạy
trên nhiều nền tảng hệ điều hành khác nhau: Windows, Mac OS,…
Hình 2.12 Giao diện phần mềm Arduino
IDE Vùng lệnh
Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía
dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của
IDE.
Vùng viết chương trình
Các dòng code sẽ được soạn thảo ở đây. Tên chương trình được hiển
thị ngay dưới dãy các Icon, ở đây nó tên là “Blink”. Để ý rằng phía sau tên
chương trình có một dấu “§”. Điều đó có nghĩa là đoạn chương trình đã viết
chưa được lưu lại.
Vùng thông báo lỗi (debug)
Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới
cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng.
21
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ
3.1. GIỚI THIỆU
Đề tài này yêu cầu thiết kế được hệ thống điều khiển thiết bị trung
tâm, cụ thể là động cơ Servo. Các thao tác từ ứng dụng trên điện thoại di
động hay trên mạch được đưa về vi xử lý, thực hiện lệnh điều khiển. Cũng
như từ vi xử lý thu thập dữ liệu từ động cơ hay cảm biến từ để đưa lên lại
hiển thị trên ứng dụng trên điện thoại.
Ở chương này, sẽ tập trung tính toán và thiết kế các khối cho hệ
thống, dựa vào mục tiêu từ đầu của đề tài mà từ đó tính toán và lựa chọn
các linh kiện, thiết bị phù hợp, thiết kế các bản vẽ cho hệ thống hoàn thiện.
3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1. Thiết kế sơ đồ khối hệ thống
Khối thực thi điều khiển
Khối xử lý trung tâm
Khối cơ sở dữ liệu
Khối truyền nhận dữ liệu
Khối thu
Khối phát
Khối nguồn
Hình 3.1 Sơ đồ khối của hệ thống
22
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Chức năng của các khối:
Khối xử lý trung tâm: là khối quan trọng, chứa Arduino được xem
như bộ não của hệ thống. Có chức năng giao tiếp UART với khối
truyền dữ liệu nodeMCU, giao tiếp SPI với RFID ở khối thu cùng
MC-38 và đưa tín hiệu ra khối phát để điều khiển Servo.
Khối truyền nhận dữ liệu: là nodeMCU cập nhật dữ liệu từ khối cơ
sở dữ liệu sau đó đưa cho Arduino xử lý, cũng như đưa dữ liệu lên.
Khối thực thi điều khiển: đây là ứng dụng được viết trên điện thoại
android, dùng để gửi và nhận dữ liệu từ khối cơ sở dữ liệu.
Khối thu: thu thập tín hiệu từ từ cảm biến và module, truyền về khối
xử lý trung tâm để xử lý.
Khối phát: dùng để truyền tín hiệu từ khối xử lý trung tâm đến thiết
bị ngoại vi.
Khối nguồn: cung cấp nguồn để các thiết bị hoạt động ổn định.
Khối cơ sở dữ liệu: đây là nơi lưu trữ dữ liệu giữa khối truyền nhận
dữ liệu và khối thực thi điều khiển.
3.2.2. Tính toán và thiết kế mạch
a) Thiết kế khối xử lý trung tâm
Để xử lý dữ liệu hai chiều ta cần một bộ xử lý dữ liệu và nhiều cổng
giao tiếp serial để giao tiếp với nodeMCU, RFID, MC-38, Servo. Cho nên
nhóm chúng em chọn board Arduino UNO R3 sử dụng bộ xử lý
Atmega328.
Board này có nhiều chân I/O hỗ trợ cho chúng em giao tiếp, quan
trọng hơn là nó có nhiều cổng UART (Rx,Tx) phù hợp với đề tài của chúng
em. Cùng với ưu điểm của nó là: hỗ trợ thư viện cho giao tiếp nodeMCU,
23
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
tương thích nhiều hệ điều hành, chương trình lập trình đơn giản, dễ sử
dụng.
Phần mềm lập trình cho vi điều khiển là phần mềm IDE. Đây là phần
mềm mã nguồn mở và có thể coi là một phần mềm lập trình lý tưởng cho
học sinh, sinh viên.
Hình 3.2 Sơ đồ nguyên lý của hệ thống
b) Thiết kế khối truyền nhận dữ liệu
Module ESP8266 nodeMCU là KIT phát triển dựa trên nền chip
Wifi SoC ESP8266 với thiết kế dễ dàng sử dụng vì tích hợp sẵn mạch nạp
sử dụng chip CP2102 trên board, người dùng muốn nạp chương trình chỉ
cần kết nối với máy tính qua cáp USB (loại dùng cho Laptop và điện thoại
thông minh). Hiện tại có hai ngôn ngữ có thể lập trình cho ESP8266, là sử
dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thư viện
riêng hoặc sử dụng phần mềm node MCU. Vì sự tiện lợi và giá thành hợp
lý (~80.000 VNĐ) nên nhóm em quyết định chọn module này làm khối
truyền nhận dữ liệu.
24
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Bảng 3.1 Sơ đồ nối chân của nodeMCU
Arduino nodeMCU
RX (PIN 5) TX (PIN 5)
TX (PIN 4) RX (PIN 6)
GND GND
c) Thiết kế khối thực thi điều khiển
Yêu cầu chức năng:
Điều khiển thiết bị ở bất cứ nơi đâu (thiết bị động cơ được kết nối
wifi và điện thoại thông minh kết nối 3G hoặc wifi).
Có thể xem trạng thái đóng mở cửa trên điện thoại thông minh.
Có thể cài đặt lại các thông số và thông số này sẽ được lưu lại.
Tên khóa
Ổ khóa
Trạng thái khóa
25
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 3.3 Giao diện điều khiển trên điện thoại
Giao diện bao gồm các biểu tượng “ổ khóa”, “trạng thái khóa”. Khi
chạm vào “ổ khóa”, tương ứng động cơ sẽ quay 90 độ, nhấn thêm lần nữa
động cơ sẽ quay về vị trí ban đầu. Ngay dưới “ổ khóa” là “trạng thái khóa”,
nó hiển thị “cửa đã mở” hoặc “cửa đã khép”, tượng trưng cho cảm biến từ
MC-38 cho giá trị lần lượt là 1 hoặc 0.
d) Thiết kế khối thu
Trong đề tài này, khối thu sẽ đảm nhiệm việc tiếp nhận tín hiệu từ
module RFID hoặc cảm biến từ MC-38 đưa về khối xử lý trung tâm.
Module RFID RC522
Module này hoạt động với điện áp 3.3V lấy trực tiếp từ Arduino,
dòng nuôi từ 13 – 26 mA, tần số sóng mang 13.56MHz, có khoảng cách
hoạt động từ 0 – 60mm và giao tiếp bằng chuẩn SPI.
Khi thẻ từ chạm gần vào khung nhận tín hiệu của module, tín hiệu
mở cửa sẽ được truyền về bộ xử lý trung tâm làm cho động cơ hoạt động.
Bảng 3.2 Sơ đồ nối chân của RFID
Arduino RFID
PIN 10 SDA
PIN 13 SCK
PIN 11 MOSI
PIN 12 MISO
NO CONNECT NC
GND GND
PIN 9 RST
3.3V 3.3V
Cảm biến từ
MC-38
26
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Cảm biến này được xem như công tắc mở cửa, khi 2 miếng cảm biến
chạm gần vào nhau, ngõ ra của nó trả về giá trị digital 0 hoặc 1, tương ứng
với chạm hoặc không chạm. Ta lấy giá trị đó đem đi cài đặt, thì sẽ nhận
biết được cửa đang mở hay đóng. Khoảng cách hoạt động của nó trong
vòng 18 +- 6mm, dòng điện tiêu thụ khoảng 300mA, có kích thước nhỏ gọn
chỉ bằng ngón tay cái.
27
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Bảng 3.3 Sơ đồ nối chân của MC-38
Arduino MC-38
GND Chân 1
PIN 2 Chân 2
e) Thiết kế khối
phát:
Với yêu cầu được đặt ra, điều khiển được chốt khóa cửa, thì nhóm sẽ
chọn động cơ truyền động đến chốt khóa, cụ thể là động cơ Servo SG90.
Vì động cơ không cần dòng lớn, nên chúng ta có thể lấy nguồn 5V
trực tiếp từ Arduino.
Bảng 3.4 Sơ đồ nối chân động cơ Servo
Arduino Servo SG90
GND ĐEN
PIN 6 VÀNG
5V ĐỎ
f) Thiết kế khối
nguồn:
Về nguồn cấp cho mạch hoạt động thì nhóm không thiết kế nguồn
nuôi riêng mà dùng trực tiếp nguồn điện gia đình. Có thể là bộ adapter sạc
điện thoại có nguồn 5V – 0.5A. Hoặc pin sạc dự phòng, hoặc nguồn nạp từ
USB máy tính. Cùng với cổng chuyển đổi 1 đầu USB sang 2 đầu USB để
tiện cho việc cắm cùng lúc Arduino và nodeMCU vào 1 cổng cắm.
g) Thiết kế khối cơ sở dữ liệu:
Với cơ sở thiết kế nhóm em sử dụng là Firebase Database của hãng
Google, điều nhóm hướng đến là giá thành phải phù hợp và dung lượng lưu
trữ phải đủ để lưu dữ liệu.
28
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hiện tại nhóm đang sử dụng bản miễn phí của Firebase với 100 thuê
bao tương ứng với 100 người sử dụng (hiểu đơn giản 1 người sử dụng là
một hộ gia đình được lắp đặt sản phẩm), cùng với đó là 1GB dung lượng
lưu trữ (có thể dùng để lưu trữ thông tin khách hàng vv..). Khi lượng khách
hàng tăng lên quá 100 thì nhóm em có thể sử dụng bản trả phí của Firebase
với giá 25 USD/tháng với 100.000 thuê bao và 2,5 GB dung lượng lưu trữ.
Firebase có cách thức lưu cơ sở dữ liệu dưới dạng cây Json, vì thế
nhóm em thiết kế một cơ sở dữ liệu hợp lý để gửi và nhận dữ liệu cho động
cơ cũng như cảm biến như sau:
Hình 3.4 Cơ sở dữ liệu Firebase theo dạng cây Json
29
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 4. THI CÔNG HỆ THỐNG
4.1. GIỚI THIỆU
Trong chương này là quá trình thi công PCB, lập trình, lắp ráp phần
cứng và test mạch. Bên cạnh đó hình vẽ được chụp từ mô hình thực của hệ
thống bên ngoài, hình chụp các kết quả chạy mà hệ thống tính đến thời
điểm hiện tại.
4.2. THI CÔNG HỆ THỐNG
4.2.1. Thi công bo mạch
Mạch in được vẽ trên Altium Designer, là mạch in một lớp. Mạch
gồm chân của Arduino và nodeMCU, và các hàng rào được vẽ thêm để gắn
các linh kiện không có sẵn thư viện footprint trong Altium.
Hình 4.1 Sơ đồ mạch in mạch khóa cửa thông minh
Sau khi thiết kế được mạch in ta tiến hành mô phỏng 3D:
30
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 4.2 Sơ đồ bố trí các linh kiện của mạch
Từ mô phỏng 3D trên altium có thể thấy các linh kiện chưa có sự sắp
xếp hợp lý cũng như phần lớn các linh kiện chưa có thư viện 3D.
4.2.2. Lắp ráp và kiểm tra
31
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 4.3 Board sau khi đã rửa và hàn xong
1
3
2
4 5
Hình 4.4 Sơ đồ toàn mạch sau khi hoàn tất
Hình 4.4 thể hiện sơ đồ nguyên lý mạch điều khiển chính chứa các
khối của hệ thống được đánh số thứ tự như sau: khu vực số 1 là vị trí của
board Arduino UNO R3, khu vực 2 là vị trí của nodeMCU ESP8266, và kế
bên là khu vực 3 – RFID, khu vực 4 và 5 lần lượt là cảm biến từ MC-38 và
động cơ Servo SG90.
32
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
4.3. LẬP TRÌNH HỆ THỐNG
4.3.1. Lưu đồ giải thuật
a) Lưu đồ cho Arduino:
Sta rt
Khởi tạo
Serial,
RFID, các
chân I/ O
Chưa khép
Trạng thái cảm
biến hall
Đã khép
Điều khiển
bằng app
Quét mã thẻ
Hình 4.5 Lưu đồ điều khiển cho Arduino
Giải thích lưu đồ hình 4.5
Đầu tiên sẽ khai báo thư viện và chọn cổng giao tiếp UART, khai
báo các biến của chương trình, chân kết nối SPI, Servo. Thiết lập tốc độ
truyền, các thông số truyền của chuẩn giao tiếp UART. Kiểm tra giá trị
33
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
cảm biến hall MC-38, nếu bằng 1 tức “cửa chưa khép”, sẽ không cho hệ
thống làm gì cả, ngược lại giá trị bằng 0 tức “cửa đã khép” thì hệ thống mới
được làm việc, có thể xem cảm biến hall như một công tắc khóa cửa. Tiếp
theo là chương trình của điều khiển bằng app qua cơ sở dữ liệu Firebase và
quét mã thẻ RFID. Quá trình được lặp lại liên tục.
b) Lưu đồ cho nodeMCU, cơ sở dữ liệu và app:
Start
Khởi tạo
cổng vào
ra, kết nối
wifi
Tiến hành kết nối
wifi
Đã kết nối
Yes
Đọc/ ghi dữ liệu
từ Firebase
Dữ liệu thay
đổi
Yes
No
Khóa trên app
No
được nhấn
Yes
Khóa/ mở cửa
End
No
Hình 4.6 Lưu đồ điều khiển cho nodeMCU
34
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Khi có nguồn cung cấp cho mạch điều khiển ESP8266 nodeMCU,
mạch sẽ hoạt động khởi tạo các ngõ vào ngõ ra, khởi tạo chế độ không phát
wifi sau đó mới thực hiện hàm cài đặt thông tin wifi của mạch wifi, tiếp
đến sẽ thực hiện việc kết nối wifi đã cài đặt sẵn trong code và kết nối đến
cơ sở dữ liệu thời gian thực Firebase để có thể đọc ghi dữ liệu điều khiển.
Sau đó chương trình sẽ thực hiện vòng lặp chính của mình, nếu có dữ liệu
thay đổi, khóa trên app được nhấn thì mới thực hiện gửi dữ liệu về cho vi
xử lý trung tâm điều khiển động cơ, còn không thì sẽ không xét đến các
điều kiện khác, mà sẽ thoát khỏi chương trình này và tiếp đến chương trình
của RFID, để cho chương trình có thể hoạt động trơn tru không bị ngắt
quãng. Như thế sẽ tiết kiệm được thời gian, cũng như tài nguyên cần thiết.
c) Lưu đồ cho RFID:
Sta rt
No
No
Có thẻ được
quét
Yes
Thẻ đã đọc
Yes
Mở/ khóa cửa
Đợi 4s
Cửa về trạng thái
ban đầu
End
Hình 4.7 Lưu đồ điều khiển RFID
35
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Khi được gọi, chương trình sẽ kiểm tra xem có phải hay không, thẻ
đã lưu để mở cửa hay thẻ mới không mở được cửa, thì mới gửi dữ liệu về
bộ xử lý trung tâm để điều khiển động cơ mở cửa. Chốt cửa mở được 4s,
thì sẽ lập tức khóa lại để phòng trường hợp quét nhưng không vào nhà mà
đi liền. Đảm bảo an toàn cho căn phòng.
4.3.2. Viết chương trình cho mạch
Sau đây chúng em sẽ giải thích về chương trình viết cho vi điều
khiển Arduino UNO R3 đối với động cơ được điều khiển bằng wifi. Do
chương trình còn lấy dữ liệu từ các thư viện có sẵn trên Internet nên nhóm
chỉ trình bày khái quát phần chương trình chính, không giải thích thư viện.
a) Viết chương trình cho Arduino:
Để tiến hành lập trình thì cần thêm các bộ thư viện để sử dụng các
tính năng.
Thêm thư viện để thực hiện được các tính năng của mạch RFID,
động cơ servo, các chuẩn truyền SPI, Serial.. thông qua câu lệnh:
#include<SoftwareSerial.h>
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
Khai báo các chân cho nodeMCU như Tx, Rx; các chân của RFID;
Servo, để có thể hoạt động ổn định thông qua câu lệnh:
SoftwareSerial s(4,5);
#define SS_PIN 10
#define RST_PIN 9
#define SERVO_PIN 6
MFRC522 mfrc522(SS_PIN, RST_PIN);
Khai báo các biến sử dụng trong chương trình thông qua câu lệnh:
int pushButton = 2,trangthai,hall;
36
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
char RxData,a= 'D';
Servo gServo;
Ban đầu phải cài đặt các thông số cơ bản cho nodeMCU, RFID,
Servo, MC38 thông qua câu lệnh:
s.begin(9600);
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
gServo.attach(SERVO_PIN);
gServo.write(0);
pinMode(pushButton, INPUT_PULLUP;
Kiểm tra trạng thái cảm biến hall và gửi dữ liệu qua nodeMCU thông
quan hàm con SendData:
hall = digitalRead(pushButton);
if(hall ==1){
trangthai = 0;
SendData('C');
}
else{
trangthai=1;
SendData('D');
}
Nếu cửa chưa khép thì in lên màn hình điện thoại, ngược lại ta thực
hiện tất cả các chức năng của nodeMCU và RFID. Sau đó kiểm tra dữ liệu
có thay đổi hay không, nếu có ta mới cho đọc dữ liệu từ UART rồi điều
khiển động cơ. Đồng thời ta thực hiện việc kiểm tra quét mã thẻ, nếu thẻ
đúng như thẻ đã lưu sẵn (ví dụ ở đây thẻ có mã là “5A 0B AE 25”) thì cũng
cho mở cửa (trong 4s), rồi lại kiểm tra trạng thái hall tiếp, nếu tiếp tục khép
(tức không vô nhà) thì đóng cửa, còn không khép (tức mở cửa vô nhà) thì
giữ nguyên trạng thái mở cửa, đợi người vào nhà khép cửa lại thì động cơ
mới khóa cửa lại.
37
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
if(trangthai==0){
delay(3000);
}
else{
if(s.available()>0){
RxData = s.read();
if(RxData=='L'){
gServo.write(0);
}
else if(RxData=='U'){
gServo.write(90);
}
}else;
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
if (content.substring(1) == "5A 0B AE 25" || content.substring(1)
== "F4 12 19 2A" )
{
gServo.write(90);
delay(4000);
int hall = digitalRead(pushButton);
while (hall==1) {
int hall = digitalRead(pushButton);
if (hall==0) break;
}
delay(1000);
gServo.write(0);
}
else {
delay(1000);
}
38
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
}
Cuối cùng là gửi trạng thái đã khép hay chưa khép lên cơ sở dữ liệu
để theo dõi trên điện thoại:
if(stateKhep == a){
}
else {
s.print(stateKhep);
a = stateKhep;
}
b) Viết chương trình cho ESP8266 nodeMCU:
Thêm thư viện và các hàm để thực hiện được các tính năng wifi của
mạch vi điều khiển ESP8266 nodeMCU, và thực hiện việc đọc ghi dữ liệu
lên cơ sở dữ liệu thông qua câu lệnh:
#include<SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "smartdoor-6cafa.firebaseio.com"
#define FIREBASE_AUTH ""
#define WIFI_SSID "Duc Canh"
#define WIFI_PASSWORD "cccccccc"
Khai báo các biến sử dụng trong chương trình, các chân truyền dữ
liệu UART về Arduino.
SoftwareSerial s(D6,D5);
char RxData;
String DataFr;
Tiếp đến là các hàm điều khiển tốc độ truyền, hàm kết nối mạng
wifi, lệnh kết nối với cơ sở dữ liệu:
s.begin(9600);
Serial.begin(9600);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
39
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: ");
Serial.println(WiFi.localIP());
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
Cuối cùng là vòng lặp chính, thể hiện việc giao tiếp UART từ
Arduino qua nodeMCU rồi đẩy dữ liệu lên cơ sở dữ liệu Firebase, trong đó
có việc nhận giá trị cảm biến hall, cài trạng thái đã khép hay chưa khép lên
cơ sở dữ liệu để hiển thị trên điện thoại, nhận giá trị điều khiển từ cơ sở dữ
liệu về nodeMCU, xong lại truyền qua Arduino:
if(s.available()>0){
RxData =s.read();
if(RxData=='C'){
Firebase.setString("TrangThai","0");
Serial.println('C');
}
else if(RxData=='D'){
Firebase.setString("TrangThai","1");
Serial.println('D');
}
else;
}
DataFr = Firebase.getString("SmartDoor");
if(DataFr=="LOCK"){
s.write('L');
}
else if(DataFr=="UNLOCK"){
s.write('U');
}
else;
40
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 5. KẾT QUẢ VÀ NHẬN XÉT
5.1. KẾT QUẢ
Sau khi tìm hiểu, nghiên cứu các tài liệu chuyên ngành tiếng Việt
cũng như tiếng Anh, tìm hiểu thêm qua mạng Internet, tổng hợp lại các
kiến thức đã học trong 3 năm cũng như được sự hướng dẫn của thầy
Pgs.Ts. Phan Văn Ca. Nhóm chúng em đã hoàn thành được đồ án 1 với đề
tài “HỆ THỐNG KHÓA CỬA THÔNG MINH”.
5.1.1. Kết quả đạt được
Sau đề tài của đồ án này, nhóm em cũng đã nghiên cứu và tích lũy
thêm được nhiều hiểu biết, kiến thức mới như:
Hiểu biết sâu hơn về việc sử dụng cả các tính năng của module xử lý
Arduino UNO R3, như giao tiếp với các module thu phát sóng wifi
nodeMCU, module RFID, cảm biến từ MC38, động cơ Servo SG90.
Nghiên cứu và biết cách kết nối giữa module Arduino UNO R3 với
các module mở rộng và lắp ráp vào mô hình để hoàn thành sản
phẩm.
Biết cách sử dụng chuẩn truyền dữ liệu UART từ module nodeMCU
với Arduino, truyền Serial với Firebase.
Biết cách sử dụng module RFID RC522 để đọc, ghi mã thẻ từ.
Nâng cao được kỹ năng vẽ mạch in PCB, sử dụng phần mềm Altium.
Nâng cao được kỹ năng thi công mạch: rửa mạch, khoan mạch, hàn
linh kiện, kiểm tra các thành phần trong mạch.
Biết cách sử dụng cơ sở dữ liệu Firebase, biết cách tạo 1 app đơn
giản với Android Studio.
41
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
5.1.2. Kết quả thực hiện
a) Phần cứng:
Sau cùng, nhóm đã hoàn thành các mục tiêu đề ra và thực hiện được
tính năng sau:
Hình 5.1 Mô hình khóa cửa khi cửa đang khóa ban đầu
Hình 5.2 Mô hình khóa cửa khi cửa đang mở bằng RFID
42
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 5.3 Mô hình khóa cửa khi cửa không khóa lại do chưa khép
Hình 5.4 Mô hình khóa cửa khi cửa khóa lại do đã khép
43
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 5.5 Mô hình khóa cửa khi cửa mở khóa bằng app
Hình 5.6 Mô hình khóa cửa khi cửa khóa lại bằng app
44
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
b) Phần mềm:
Hình 5.7 Giao diện khóa cửa sử dụng trên điện thoại
Giao diện khóa cửa có 3 phần chính: tên khóa cửa, ổ khóa thể hiện
trạng thái khóa, trạng thái cửa khép hoặc chưa khép.
Khi có mạng, ứng dụng tự động đồng bộ dữ liệu với cơ sở dữ liệu thể
hiện trạng thái khóa như thế nào. Tốc độ phản hồi của ứng dụng so với
động cơ đầu bên kia là gần như realtime.
Khách hàng có thể tải ứng dụng về bằng cách quét mã QR dưới đây,
sau đó nhóm sẽ tiến hành cài đặt tài khoản Firebase, tên và mật khẩu wifi
của khách hàng để khóa cửa có thể hoạt động được.
45
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Hình 5.8 Mã QR để tải ứng dụng khóa
cửa 5.2. NHẬN XÉT
Nhìn chung, mô hình đã hoạt động tương đối ổn định (vì chỉ mới thử
nghiệm hoạt động trong khoảng 1h, nhóm chưa có điều kiện thử nghiệm
trong khoảng thời gian dài hơn để đưa ra kết luận về độ ổn định của hệ
thống). Có thể làm việc liên tục (nếu nguồn sử dụng là adapter sạc).
Hệ thống sử dụng nguồn cấp nhỏ từ 5V trở xuống nên an toàn cho
người sử dụng trước nguy cơ điện giật.
Thời gian đáp ứng từ khi phản hồi từ động cơ trong khoảng 1s.
Khoảng cách điều khiển bằng điện thoại là không giới hạn.
Sản phẩm phụ thuộc hoàn toàn vào mạng wifi. Vùng phủ sóng mạnh
thì sản phẩm hoạt động rất tốt. Việc thay đổi wifi sử dụng cũng được tiến
hành dễ dàng.
Phần mềm phản hồi tốt, nhanh chóng, hầu như không có thời gian trễ
(nếu tín hiệu mạng được thông suốt).
46
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
Bảng 5.1 Số liệu điều khiển thiết bị trên thực tế
ST
Phương thức điều khiển
Số lần Số lần Tỉ lệ thành
T thực hiện thành công công
1 RFID 10 10 100%
2
Ứng dụng trên điện
10 10 100%
thoại thông minh
Bảng trên là kết quả của nhóm thu được từ việc điều khiển động cơ
mở khóa, ta có thể thấy nếu thiết bị ở trong điều kiện lý tưởng (cấp đủ
nguồn, wifi mạnh, khoảng cách quét thẻ từ đủ gần…) thì tỉ lệ thành công là
tuyệt đối.
Tuy nhiên, do sự hạn chế về kiến thức và thời gian thực hiện, nguồn
tài liệu tham khảo chủ yếu thông qua Internet nên đề tài không tránh khỏi
sai sót và còn một số hạn chế:
Hạn chế lớn nhất là chưa có được nguồn điện dự trữ để cung cấp cho
hệ thống hoạt động khi mất nguồn chính.
Hoạt động chủ yếu tại môi trường có phủ sóng wifi.
Mô hình chưa được hoàn thiện, còn nhiều thiếu sót, tính thẩm mỹ
chưa cao.
Phần mềm còn đơn giản, chưa có chức năng thêm, xóa thẻ từ.
47
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
6.1. KẾT LUẬN
Sau thời gian tìm hiểu, nghiên cứu và thực hiện đề tài của nhóm,
dưới sự hướng dẫn của giáo viên thì nhóm đã hoàn thành đề tài “HỆ
THỐNG KHÓA CỬA THÔNG MINH”.
Hệ thống đáp ứng được các tính năng, nội dung và mục tiêu như sau:
Giao tiếp và truyền dữ liệu thành công giữa Arduino UNO R3 với
các module ESP8266 nodeMCU, module đọc thẻ RFID, cảm biến từ
MC38, động cơ Servo SG90.
Điều khiển động cơ bằng thẻ từ và bằng ứng dụng trên điện thoại.
Có thể giám sát được trạng thái đóng/mở cửa.
Hiển thị trạng thái khóa và khép trên màn hình ứng dụng điện thoại.
Cập nhật dữ liệu điều khiển lên cơ sở dữ liệu Firebase thành công.
Thông qua Bảng 5.1 đã nêu ở chương 5, thì sản phẩm đạt được
100% mục tiêu đề ra của thiết bị và 90% mục tiêu đề ra của đề tài. Sản
phẩm tuy chưa thể thương mại hóa được nhưng vẫn có thể hoàn thiện thêm
một chút để sử dụng trong hộ gia đình với phạm vi nhất định.
Các hạn chế mà chưa thể thương mại hóa:
Tác động điều khiển còn hạn chế do hoạt động chính chỉ thông qua
wifi.
Chưa quan tâm đến công suất tiêu thụ của thiết bị.
Kích thước sản phẩm còn thô, thiếu tính thẩm mỹ, chưa hoàn thiện.
Chưa có tính năng thêm, xóa mã thẻ của RFID.
Phải nạp lại KIT khi cần thêm/bớt thẻ, thay đổi wifi.
48
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
6.2. HƯỚNG PHÁT TRIỂN
Hệ thống điều khiển cửa có thể mở rộng khả năng điều khiển theo
thời gian, đặt lịch hẹn giờ bật tắt thiết bị, có thêm chế độ sleep mode.
Thiết kế điều khiển được công tắc tổng khi xảy ra sự cố cháy nổ.
Thiết kế nguồn điện dự phòng khi mất điện đột ngột hoặc trong thời
gian dài.
Cải tiến thêm/xóa thẻ từ, wifi mà không cần đến việc nạp lại mạch.
Có thêm camera để nhận diện chủ nhà, hay gửi thông báo đến người
không có nhà khi cửa có tác động.
Nâng cấp thiết bị để có thể lưu trữ và điều khiển nhiều thiết bị hơn.
Nâng cấp hệ thống cơ sở dữ liệu phù hợp cho việc quản lý số lượng lớn
thiết bị cùng lúc trong nhà.
Cải tiến lại phần mềm vận hành, quản lý sao cho hiệu quả và tối ưu
hơn.
49
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620
TÀI LIỆU THAM KHẢO
[1] Phan Văn Ca – Trương Văn Phúc, Giáo trình Thiết kế hệ thống
nhúng. TPHCM, Việt Nam: Nhà xuất bản Đại học Quốc gia TP Hồ
Chí Minh, 2017.
[2] Nguyễn Văn Hiệp, Giáo trình Lập trình Android trong Ứng dụng
điều khiển. TPHCM, Việt Nam: Nhà xuất bản Đại học Quốc gia TP
Hồ Chí Minh, 2016.
[3] Datasheet Atmega328p.
http://www.microchip.com/wwwproducts/en/ATmega328p
[4] Datasheet Động cơ Servo.
http://www.micropik.com/PDF/SG90Servo.pdf
[5] Diễn đàn Vi điều khiển, Bài 8: Giao tiếp UART. Mcu.banlinhkien.vn,
07/2020.
[6] Học ARM, Giao tiếp ESP8266 và Arduino Uno/Mega. Hocarm.org,
07/2020.
[7] Iotguider, Serial communication between NodeMCU and Arduino.
Iot-guider.com, 07/2020.
50

More Related Content

What's hot

Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Man_Ebook
 
Bài giảng tự động hóa quá trình công nghệ
Bài giảng tự động hóa quá trình công nghệBài giảng tự động hóa quá trình công nghệ
Bài giảng tự động hóa quá trình công nghệ
Thanh Danh
 

What's hot (20)

Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAYĐề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
Đề tài: Thiết kế và thi công mô hình điều khiển thiết bị điện, HAY
 
Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520Tai lieu tra_cuu_pic 18f4520
Tai lieu tra_cuu_pic 18f4520
 
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đĐề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
Đề tài: Hệ thống điều khiển và giám sát các thiết bị trong nhà, 9đ
 
Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT_10215412052019
Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT_10215412052019Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT_10215412052019
Đồ Án Tốt Nghiệp KCD2 MOBILE ROBOT_10215412052019
 
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
 
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắcĐề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
Đề tài: Mô hình đếm, phân loại sản phẩm theo cân nặng màu sắc
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAYĐề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
Đề tài: Quản lý dữ liệu bệnh nhân sử dụng công nghệ Rfid, HAY
 
Luận văn: Xây dựng mô hình cánh tay robot 5 bậc tự do, HAY
Luận văn: Xây dựng mô hình cánh tay robot 5 bậc tự do, HAYLuận văn: Xây dựng mô hình cánh tay robot 5 bậc tự do, HAY
Luận văn: Xây dựng mô hình cánh tay robot 5 bậc tự do, HAY
 
Đề tài: Giám sát điện năng qua internet, HAY, 9đ
Đề tài: Giám sát điện năng qua internet, HAY, 9đĐề tài: Giám sát điện năng qua internet, HAY, 9đ
Đề tài: Giám sát điện năng qua internet, HAY, 9đ
 
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờ
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờĐiều khiển bám cho robot di động sử dụng bộ điều khiển mờ
Điều khiển bám cho robot di động sử dụng bộ điều khiển mờ
 
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAYĐề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
Đề tài: Hệ thống giám sát và điều khiển thiết bị trong nhà, HAY
 
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnhĐề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
Đề tài: Hệ thống điều khiển tín hiệu đèn giao thông qua xử lý ảnh
 
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
 
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAYĐề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
Đề tài: Thiết kế hệ thống bảo mật ứng dụng xử lý ảnh, HAY
 
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOTĐề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
Đề tài: Thiết kế hệ thống phân loại sản phẩm ứng dụng PLC, HOT
 
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đĐiều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
Điều khiển thiết bị điện tử bằng Android thông qua Bluetooth, 9đ
 
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cảnđồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
đồ áN tốt nghiệp điều khiển và tự động hóa robot tránh vật cản
 
Nghiên cứu, thiết kế, thử nghiệm xe hai bánh tự cân bằng​
Nghiên cứu, thiết kế, thử nghiệm xe hai bánh tự cân bằng​Nghiên cứu, thiết kế, thử nghiệm xe hai bánh tự cân bằng​
Nghiên cứu, thiết kế, thử nghiệm xe hai bánh tự cân bằng​
 
Bài giảng tự động hóa quá trình công nghệ
Bài giảng tự động hóa quá trình công nghệBài giảng tự động hóa quá trình công nghệ
Bài giảng tự động hóa quá trình công nghệ
 

Similar to Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc

Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Verdie Carter
 
Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdf
Man_Ebook
 

Similar to Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc (20)

Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
Điều Khiển Thiết Bị Điện Tử Bằng Androi Thông Qua Bluetooth.
 
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.docLẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
 
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng ArduinoĐồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
Đồ án Thiết kế hệ thống tưới cây tự động sử dụng Arduino
 
Mạch điều khiển thiết bị điện bằng Android qua sóng Bluetooth.doc
Mạch điều khiển thiết bị điện bằng Android qua sóng Bluetooth.docMạch điều khiển thiết bị điện bằng Android qua sóng Bluetooth.doc
Mạch điều khiển thiết bị điện bằng Android qua sóng Bluetooth.doc
 
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.docHỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
HỆ THỐNG GIÁM SÁT CHẤT LƯỢNG KHÔNG KHÍ TRONG CÔNG NGHIỆP SỬ DỤNG MẠNG LORA.doc
 
projectII-nn.pdf
projectII-nn.pdfprojectII-nn.pdf
projectII-nn.pdf
 
Nhận Diện Hành Động Con Người Trong Video Sử Dụng Deep Learning.doc
Nhận Diện Hành Động Con Người Trong Video Sử Dụng Deep Learning.docNhận Diện Hành Động Con Người Trong Video Sử Dụng Deep Learning.doc
Nhận Diện Hành Động Con Người Trong Video Sử Dụng Deep Learning.doc
 
Hệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdfHệ thống giám sát báo trộm cho xe máy.pdf
Hệ thống giám sát báo trộm cho xe máy.pdf
 
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THÔNG MINH CHO TRANG TRẠI.doc
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THÔNG MINH CHO TRANG TRẠI.docTHIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THÔNG MINH CHO TRANG TRẠI.doc
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN THÔNG MINH CHO TRANG TRẠI.doc
 
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINHĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
ĐỒ ÁN NGHIÊN CỨU CÁC GIẢI PHÁP THIẾT KẾ NGÔI NHÀ THÔNG MINH
 
Thiết kế chế tạo mô hình nhà thông minh sử dụng Arduino
Thiết kế chế tạo mô hình nhà thông minh sử dụng ArduinoThiết kế chế tạo mô hình nhà thông minh sử dụng Arduino
Thiết kế chế tạo mô hình nhà thông minh sử dụng Arduino
 
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đĐề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
Đề tài: Thiết kế và thi công khung ảnh điện tử, HAY, 9đ
 
Bao cao le trung phong
Bao cao le trung phongBao cao le trung phong
Bao cao le trung phong
 
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAYĐề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
Đề tài: Chế tạo mô hình nhà thông minh sử dụng Arduino, HAY
 
Đồ án khóa điện tử để đóng mở cửa tự động.docx
Đồ án khóa điện tử để đóng mở cửa tự động.docxĐồ án khóa điện tử để đóng mở cửa tự động.docx
Đồ án khóa điện tử để đóng mở cửa tự động.docx
 
Luận Văn Phát Hiện Lỗ Hổng Bảo Mật Trong Mạng Lan Dựa Trên Phần Mềm Nguồn Mở.doc
Luận Văn Phát Hiện Lỗ Hổng Bảo Mật Trong Mạng Lan Dựa Trên Phần Mềm Nguồn Mở.docLuận Văn Phát Hiện Lỗ Hổng Bảo Mật Trong Mạng Lan Dựa Trên Phần Mềm Nguồn Mở.doc
Luận Văn Phát Hiện Lỗ Hổng Bảo Mật Trong Mạng Lan Dựa Trên Phần Mềm Nguồn Mở.doc
 
Thiết kế hệ thống điều khiển bơm nước mức nước sử dụng plc s7-1200.docx
Thiết kế hệ thống điều khiển bơm nước mức nước sử dụng plc s7-1200.docxThiết kế hệ thống điều khiển bơm nước mức nước sử dụng plc s7-1200.docx
Thiết kế hệ thống điều khiển bơm nước mức nước sử dụng plc s7-1200.docx
 
Đồ Án Thiết Kế Chế Tạo Mô Hình Nhà Thông Minh Sử Dụng Arduino.
Đồ Án Thiết Kế Chế Tạo Mô Hình Nhà Thông Minh Sử Dụng Arduino.Đồ Án Thiết Kế Chế Tạo Mô Hình Nhà Thông Minh Sử Dụng Arduino.
Đồ Án Thiết Kế Chế Tạo Mô Hình Nhà Thông Minh Sử Dụng Arduino.
 
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docxĐồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
Đồ Án Tốt Nghiệp Lưu Đồ Giải Thuật Và Chương Trình Điều Khiển.docx
 
Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...
Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...
Sử dụng Socket trong Java xây dựng chương trình CHAT Room theo mô hình Client...
 

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864

More from Dịch Vụ Viết Bài Trọn Gói ZALO 0917193864 (20)

Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.docYếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
Yếu Tố Tự Truyện Trong Truyện Ngắn Thạch Lam Và Thanh Tịnh.doc
 
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.docTừ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
Từ Ngữ Biểu Thị Tâm Lí – Tình Cảm Trong Ca Dao Người Việt.doc
 
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
Quản Lý Hoạt Động Dạy Học Các Môn Khoa Học Tự Nhiên Theo Chuẩn Kiến Thức Và K...
 
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
Quản Lý Thu Thuế Giá Trị Gia Tăng Đối Với Doanh Nghiệp Ngoài Quốc Doanh Trên ...
 
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
Thu Hút Nguồn Nhân Lực Trình Độ Cao Vào Các Cơ Quan Hành Chính Nhà Nước Tỉnh ...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thương Mại ...
 
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
Vaporisation Of Single And Binary Component Droplets In Heated Flowing Gas St...
 
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
Quản Lý Hoạt Động Dạy Học Các Trường Thpt Trên Địa Bàn Huyện Sơn Hà Tỉnh Quản...
 
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.docTác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
Tác Giả Hàm Ẩn Trong Tiểu Thuyết Nguyễn Việt Hà.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Ngắn Hạn Tại Ngân Hàng Công Thƣơng Chi...
 
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
Quản Lý Nhà Nước Về Nuôi Trồng Thủy Sản Nước Ngọt Trên Địa Bàn Thành Phố Hải ...
 
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.docSong Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
Song Song Hóa Các Thuật Toán Trên Mạng Đồ Thị.doc
 
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.docỨng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
Ứng Dụng Số Phức Trong Các Bài Toán Sơ Cấp.doc
 
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.docVai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
Vai Trò Của Cái Bi Trong Giáo Dục Thẩm Mỹ.doc
 
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
Quản Lý Hoạt Động Giáo Dục Ngoài Giờ Lên Lớp Ở Các Trường Thcs Huyện Chư Păh ...
 
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.docThu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
Thu Hút Vốn Đầu Tư Vào Lĩnh Vực Nông Nghiệp Trên Địa Bàn Tỉnh Gia Lai.doc
 
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
Quản Lý Hoạt Động Dạy Học Ngoại Ngữ Tại Các Trung Tâm Ngoại Ngữ - Tin Học Trê...
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Doanh Nghiệp Tại Ngân Hàng Thƣơng Mại ...
 
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.docTạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
Tạo Việc Làm Cho Thanh Niên Trên Địa Bàn Quận Thanh Khê, Thành Phố Đà Nẵng.doc
 
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
Quản Trị Rủi Ro Tín Dụng Trong Cho Vay Trung Và Dài Hạn Tại Ngân Hàng Thương ...
 

Recently uploaded

kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsbkjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
hoangphuc12ta6
 
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdfGIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
LngHu10
 

Recently uploaded (18)

BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CÁNH DIỀU ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CÁNH DIỀU ...BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CÁNH DIỀU ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CÁNH DIỀU ...
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
3000 từ thông dụng tiếng anh quốc tế Effortless
3000 từ thông dụng tiếng anh quốc tế Effortless3000 từ thông dụng tiếng anh quốc tế Effortless
3000 từ thông dụng tiếng anh quốc tế Effortless
 
slide tuần kinh tế công nghệ phần mềm hust
slide tuần kinh tế công nghệ phần mềm hustslide tuần kinh tế công nghệ phần mềm hust
slide tuần kinh tế công nghệ phần mềm hust
 
kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsbkjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
kjsbgkjbskfkgabksfbgbsfjkvbksfbkbfskbskbkjsb
 
onluyen.vn_Ebook 120 đề thi tuyển sinh tiếng anh 10 theo cấu trúc sở hà nội.doc
onluyen.vn_Ebook 120 đề thi tuyển sinh tiếng anh 10 theo cấu trúc sở hà nội.doconluyen.vn_Ebook 120 đề thi tuyển sinh tiếng anh 10 theo cấu trúc sở hà nội.doc
onluyen.vn_Ebook 120 đề thi tuyển sinh tiếng anh 10 theo cấu trúc sở hà nội.doc
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
Nghiên cứu cơ chế và động học phản ứng giữa hợp chất Aniline (C6H5NH2) với gố...
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
BÀI TẬP DẠY THÊM TOÁN LỚP 12 SÁCH MỚI THEO FORM THI MỚI BGD 2025 - CHÂN TRỜI ...
 
Thực hành lễ tân ngoại giao - công tác NG
Thực hành lễ tân ngoại giao - công tác NGThực hành lễ tân ngoại giao - công tác NG
Thực hành lễ tân ngoại giao - công tác NG
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 
Bài thuyết trình môn học Hệ Điều Hành.pptx
Bài thuyết trình môn học Hệ Điều Hành.pptxBài thuyết trình môn học Hệ Điều Hành.pptx
Bài thuyết trình môn học Hệ Điều Hành.pptx
 
TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
TÀI LIỆU DẠY THÊM HÓA HỌC 12 - SÁCH MỚI (BẢN HS+GV) (FORM BÀI TẬP 2025 CHUNG ...
 
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdfDS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
DS thi KTHP HK2 (dot 3) nam hoc 2023-2024.pdf
 
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdfGIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
GIAO TRINH TRIET HOC MAC - LENIN (Quoc gia).pdf
 
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
ĐỀ THI THỬ TUYỂN SINH VÀO LỚP 10 THPT MÔN TOÁN CÁC TỈNH NĂM HỌC 2023-2024 CÓ ...
 
2.THUỐC AN THẦN VÀ THUỐC GÂY NGỦ.pptx
2.THUỐC AN THẦN VÀ THUỐC GÂY NGỦ.pptx2.THUỐC AN THẦN VÀ THUỐC GÂY NGỦ.pptx
2.THUỐC AN THẦN VÀ THUỐC GÂY NGỦ.pptx
 

Hệ Thống Khóa Cửa Thông Minh dùng Arduino (Nguyễn Đức Ngọc Cảnh).doc

  • 1. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG ------------------- ĐỒÁN1 HỆ THỐNG KHÓA CỬA THÔNG MINH NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH Sinh viên: NGUYỄN ĐỨC NGỌC CẢNH MSSV: 17119059 BÙI VIẾT DANH MSSV: 17119061 TP. HỒ CHÍ MINH – 07/2020
  • 2. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MÔN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG ------------------- ĐỒÁN1 HỆ THỐNG KHÓA CỬA THÔNG MINH NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH Sinh viên: NGUYỄN ĐỨC NGỌC CẢNH MSSV: 17119059 BÙI VIẾT DANH MSSV: 17119061 Hướng dẫn: PGS.TS. PHAN VĂN CA
  • 3. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 TP. HỒ CHÍ MINH – 07/2020 MỤC LỤC CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI..................................................1 1.1. ĐẶT VẤN ĐỀ....................................................................................1 1.2. MỤC TIÊU ĐỀ TÀI...........................................................................1 1.3. NỘI DUNG ĐỀ TÀI ..........................................................................2 1.4. GIỚI HẠN ĐỀ TÀI............................................................................2 1.5. BỐ CỤC .............................................................................................2 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ....................................................4 2.1. PHẦN CỨNG ....................................................................................4 2.1.1. Giới thiệu về Arduino Uno R3....................................................4 2.1.2. Giới thiệu về ESP8266 NodeMCU .............................................7 2.1.3. Giới thiệu về RFID RC522........................................................11 2.1.4. Giới thiệu về động cơ Servo......................................................13 2.1.5. Giới thiệu về MC-38 .................................................................14 2.2. CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG ..............................15 2.2.1. Chuẩn giao tiếp UART..............................................................15 2.2.2. Chuẩn giao tiếp SPI...................................................................16 2.3. PHẦN MỀM ....................................................................................17 2.3.1. Giới thiệu về Firebase ...............................................................17 2.3.2. Arduino IDE..............................................................................19 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ.....................................21 3.1. GIỚI THIỆU ....................................................................................21 3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG.....................................21 3.2.1. Thiết kế sơ đồ khối hệ thống .....................................................21
  • 4. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 3.2.2. Tính toán và thiết kế mạch ........................................................22 CHƯƠNG 4. THI CÔNG HỆ THỐNG............................................28 4.1. GIỚI THIỆU ....................................................................................28 4.2. THI CÔNG HỆ THỐNG .................................................................28 4.2.1. Thi công bo mạch......................................................................28 4.2.2. Lắp ráp và kiểm tra....................................................................29 4.3. LẬP TRÌNH HỆ THỐNG................................................................31 4.3.1. Lưu đồ giải thuật .......................................................................31 4.3.2. Viết chương trình cho mạch......................................................34 CHƯƠNG 5. KẾT QUẢ VÀ NHẬN XÉT........................................39 5.1. KẾT QUẢ ........................................................................................39 5.1.1. Kết quả đạt được........................................................................39 5.1.2. Kết quả thực hiện.......................................................................40 5.2. NHẬN XÉT .....................................................................................44 CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................46 6.1. KẾT LUẬN......................................................................................46 6.2. HƯỚNG PHÁT TRIỂN...................................................................47 TÀI LIỆU THAM KHẢO ....................................................................48
  • 5. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 LỜI MỞ ĐẦU Ngày nay khoa học ngày càng phát triển và tiến bộ vượt bậc, nó mang lại cho chúng ta cuộc sống tiện nghi hơn. Sự đa dạng về phát triển khoa học kỹ thuật làm cho chúng ta có nhiều sự lựa chọn để giải quyết các vấn đề khác nhau. Việc ứng dụng các thành tựu khoa học kỹ thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trên toàn thế giới, thay thế dần những phương thức thủ công, lạc hậu và ngày càng được cải tiến hiện đại hơn. Trong cuộc sống hằng ngày, việc ra đường luôn luôn phải cầm theo một chiếc hay một chùm chìa khóa khá là vất vả, mỗi khi phải tìm chiếc chìa nhỏ nhắn để mở cửa thì nó hay nằm ở những nơi mình không thể tìm thấy ngay được trong chiếc túi của mình, và làm mất nhiều thời gian. Nó còn có cả rủi ro thất lạc. Trước tình hình đó, “Hệ Thống Khóa Cửa Thông Minh” ra đời để giúp mọi người không bị thất lạc chìa khóa, rút ngắn thời gian mở cửa. Sau vài tháng thiết kế và thi công mô hình với sự hướng dẫn của thầy Phan Văn Ca, đề tài cũng đã hoàn thành và hoạt động tương đối ổn định. Tuy nhiên do tầm hiểu biết và thời gian còn hạn chế nên khó tránh khỏi những sai sót. Rất cảm ơn sự hướng dẫn của Thầy và bạn bè đã làm cho đồ án được hoàn chỉnh hơn. Trong báo cáo này gồm có 5 chương: CHƯƠNG I: TỔNG QUAN ĐỀ TÀI CHƯƠNG II: CƠ SỞ LÝ THUYẾT CHƯƠNG III: TÍNH TOÁN VÀ THIẾT KẾ CHƯƠNG IV: THI CÔNG HỆ THỐNG CHƯƠNG V: KẾT QUẢ VÀ NHẬN XÉT CHƯƠNG VI: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
  • 6. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 1. TỔNG QUAN ĐỀ TÀI 1.1. ĐẶT VẤN ĐỀ Mỗi người chúng ta đều sở hữu ít nhất một chiếc smartphone chạy hệ điều hành android trong tay, cũng có người còn sử dụng cả 2 cho đến 3 chiếc để phục vụ nhu cầu riêng của họ. Điện thoại là vật có giá trị, nên mọi người sẽ chú ý đến hơn mà giữ gìn bảo quản kỹ càng, còn chiếc chìa khóa nhỏ bé kia lại dễ bị đánh rơi cho dù chúng ta muốn hay không muốn đi chăng nữa. Với mức sống ngày càng cao của xã hội hiện nay, cộng với việc kinh tế xã hội phát triển cực nhanh thì vấn đề bảo mật rất đáng được quan tâm. Chúng ta muốn biết ở nhà cửa đang mở hay đóng không, nhà chúng ta có được an toàn không, đề tài này giúp tăng tính bảo mật và sự chủ động của gia chủ, trực quan hơn khi gia chủ vắng nhà. Vì thế, nhóm chúng em đã nghĩ ra một ý tưởng là kết hợp cả chiếc chìa khóa vào điện thoại thông minh, nó khắc phục được vấn đề ra khỏi nhà là phải cầm theo chìa khóa, nay đã có điện thoại cũng có thể mở cửa dễ dàng. Ngoài ra, nếu điện thoại đã hết pin thì hệ thống cũng có biện pháp đề phòng là mở bằng thẻ từ. Sự ra đời của điện thoại thông minh và thẻ từ đã làm thay đổi phương thức mở khóa. Làm cho việc mở cửa trở nên nhanh chóng, hiện đại, hiệu quả. Có thể nói đề tài “Hệ Thống Khóa Cửa Thông Minh” mang lại hiệu quả cao trong cuộc sống, mang tính bảo mật tốt và thuận tiện, dễ sử dụng. Đề tài sử dụng KIT nodeMCU là kit phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ dàng sử dụng vì tích hợp chip nạp trên board. Ngôn ngữ lập trình có thể sử dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thư viện riêng. 1.2. MỤC TIÊU ĐỀ TÀI 1
  • 7. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 - Tiếp nhận tín hiệu từ các cảm biến và điều khiển thiết bị. - Có chức năng giám sát trạng thái đóng mở cửa. - Điều khiển bằng điện thoại. - Có thể thi công đồ án trên một mô hình. 1.3. NỘI DUNG ĐỀ TÀI - Tìm hiểu về Arduino - Tìm hiểu về module ESP8266 nodeMCU - Tìm hiểu về module RFID RC522 - Tìm hiểu cách trao đổi dữ liệu giữa FireBase và ESP thông qua Wifi. - Tìm hiểu cách trao đổi dữ liệu giữa ESP và Arduino thông qua UART. - Thiết kế ứng dụng điều khiển thiết bị 1.4. GIỚI HẠN ĐỀ TÀI Vì một số yếu tố khách quan (điều kiện tài chính…) cũng như yếu tố chủ quan (hạn chế về kiến thức chuyên môn…) mà nội dung đề tài chỉ được thực hiện trong phạm vi sau đây: - Hệ thống chỉ sử dụng Wifi để điều khiển. Thay vào đó thì trên thực tế có rất nhiều loại sóng khác có thể điều khiển và giám sát như: sóng Bluetooth… - Kích thước mô hình - Sử dụng các nền tảng đã có sẵn và các thư viện mở để phát triển sản phẩm - Giao diện ứng dụng trên điện thoại tự thiết kế, đơn giản dễ sử dụng 1.5. BỐ CỤC Nội dung chính của để tài được trình bày như sau, thành các chương như sau: 2
  • 8. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 - Chương 1. Tổng quan đề tài: Trình bày tổng quan tình hình nghiên cứu, mục tiêu nghiên cứu và phạm vi nghiên cứu của đề tài. - Chương 2. Cơ sở thiết kế: Ở chương này nhóm trình bày cơ sở lý thuyết về các vấn đề liên quan của hệ thống. Giới thiệu các thiết bị phần cứng và giao thức truyền thông giữa các thiết bị trong hệ thống. - Chương 3. Tính toán và thiết kế: Chương này sẽ thiết kế sơ đồ khối của hệ thống. Từ đó lựa chọn linh kiện thích hợp để xây dựng sơ đồ nguyên lý của toàn hệ thống. - Chương 4. Thi công hệ thống: Trình bày thiết kế phần cứng, đưa ra lưu đồ giải thuật cho phần mềm. Thiết kế giao diện trên điện thoại, quá trình điều khiển, giám sát và hoạt động của hệ thống. - Chương 5. Kết quả và nhận xét: Những kết quả đạt được sau thời gian thực hiện, kết quả thực nghiệm, từ đó đưa ra đánh giá nhận xét. - Chương 6. Kết luận và hướng phát triển: Tóm tắt nội dung đề tài và kết luận những việc đã làm được, hạn chế. Từ đó rút ra những nhận xét về khả năng ứng dụng thực tế và hướng phát triển của đề tài. Đặt nền móng cho những đề tài nghiên cứu sau được hoàn thiện và tiến bộ hơn về mặt kết quả thực nghiệm. 3
  • 9. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT 2.1. PHẦN CỨNG 2.1.1. Giới thiệu về Arduino Uno R3 Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho những người yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động. Hình 2.1 Arduino UNO R3 4
  • 10. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 2.2 Sơ đồ chân Arduino UNO R3 Bảng 2.1 Các thông số của Arduino UNO R3 Vi điều khiển Atmega328 họ 8 bit Điện áp hoạt động 5V DC (chỉ được cấp qua USB) Tần số hoạt động 16 MHz Dòng tiêu thụ 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 PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30mA Dòng ra tối đa (5V) 500mA Dòng ra tối đa (3.3V) 50mA Bộ nhớ Flash 32KB(Atmega328) SRAM 2KB(Atmega328) EEPROM 1KB(Atmega328) 5
  • 11. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Các chân năng lượng: GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. 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 UNO. IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở chân này, luôn là 5V. Mặc dù vậy , không được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn. 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ộ nhớ của Arduino UNO R3: Sử dụng vi điều khiển Atmega328. 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển. Sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader nhưng thường thì ít khi nào phải sử dụng quá 20kb bộ nhớ này. 2KB cho SRAM (Static Random Access Memory): giá trị các biế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. Chú ý: khi mất điện, dữ liệu trên SRAM sẽ bị mất. 6
  • 12. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 1KB cho EEPROM (Electrically Erasable Programmable Read Only Memory): tương tự như một chiếc ổ cứng mini – nơi có thể đọc và ghi dữ liệu vào đây mà không phải lo bị mất khi mất điện giống như dữ liệu trên SRAM. Các cổng vào/ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. 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 Uno 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. 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 UNO 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. Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép 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). 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. 2.1.2. Giới thiệu về ESP8266 NodeMCU ESP8266 7
  • 13. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 ESP8266 là dòng chip tích hợp Wifi 2.4Ghz có thể lập trình được, rẻ tiền được sản xuất bởi một công ty bán dẫn Trung Quốc: Espressif Systems. Được phát hành đầu tiên vào tháng 8 năm 2014, đóng gói đưa ra thị trường dạng Module ESP-01. Có khả năng kết nối Internet qua mạng Wifi một cách nhanh chóng và sử dụng rất ít linh kiện đi kèm. Với giá cả có thể nói là rất rẻ so với tính năng và khả năng ESP8266 có thể làm được. ESP8266 có một cộng đồng các nhà phát triển trên thế giới rất lớn, cung cấp nhiều Module lập trình mã mở giúp nhiều người có thể tiếp cận và xây dựng ứng dụng rất nhanh. Hiện nay tất cả các dòng chip ESP8266 trên thị trường đều mang nhãn ESP8266EX, là phiên bản nâng cấp của ESP8266, đã có hơn 14 phiên bản ESP ra đời, trong đó phổ biến nhất là ESP-12. Hình 2.3 ESP8266 Module ESP8266 NodeMCU Module ESP-12 kết hợp với firmware ESP8266 trên Arduino và thiết kế phần cứng giao tiếp tiêu chuẩn đã tạo nên NodeMCU, loại Kit phát triển ESP8266 phổ biến nhất trong thời điểm hiện tại. Với cách sử dụng, kết nối 8
  • 14. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 dễ dàng, có thể lập trình, nạp chương trình trực tiếp trên phần mềm Arduino, đồng thời tương tích với các bộ thư viện Arduino sẵn có. Hình 2.4 Module ESP8266 NodeMCU Sơ bộ về Module ESP8266 NodeMCU: - Khả năng hoạt động như một Module Wifi: Có thể quét và kết nối với một mạng Wifi bất kì (Wifi client) để thực hiện tác vụ như lưu trữ, truy cập dữ liệu từ server. Tạo điểm truy cập Wifi (Wifi Access Point) cho phép các thiết bị khác kết nối,giao tiếp và điều khiển. Một server để xử lý dữ liệu từ các thiết bị sử dụng internet. - Nguồn vào và nguồn ra: ESP8266 NodeMCU nhận nguồn từ cổng micro USB tích hợp sẵn trên mạch, giúp việc nạp code trở nên dễ dàng hơn. Bên cạnh đó, việc cấp nguồn cho module cũng linh động hơn vì bạn có thể sử dụng sạc dự phòng thay cho nguồn từ USB trên máy tính (nguồn cấp tối đa là 5V). ESP8266 NodeMCU có thể cung cấp nguồn cho tối đa 4 thiết bị: 3 nguồn ra 3.3V và một nguồn từ chân Vin (điện thế bằng 9
  • 15. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 điện thế từ cổng micro USB). Khi sử dụng các chân cấp nguồn này, hãy luôn kiểm tra để chắc chắn không cắm nhầm chân dương (trên mạch in là 3v3 và Vin) và chân âm (GND). Tuy nhiên, 3 chân 3.3V đều được bảo vệ, khi cắm ngược cực, module sẽ chỉ nóng lên và dừng hoạt động. Chân Vin thì không được bảo vệ, nếu cắm ngược cực sẽ gay hư hỏng hoặc cháy Module. - Truyền và nhận tín hiệu: ESP8266 NodeMCU có tổng cộng 13 chân GPIO (General-purpose input/output): chân có thể truyền/nhận tín hiệu (trên mạch in từ D0 đến D8 và RX, TX, SD2, SD3). Module chỉ có thể kết nối với tới nguồn tối đa 5V qua cổng Micro USB. Các chân I/O chỉ có thể giao tiếp với các linh kiện qua điện thế tối đa 3.3V. Hình 2.5 Sơ đồ chân của Module Thông số kỹ thuật: 10
  • 16. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 IC chính: ESP8266 Wifi SoC. Phiên bản firmware: NodeMCU Lua. Chip nạp và giao tiếp UART: CP2102. GPIO tương thích hoàn toàn với firmware Node MCU. Cấp nguồn: 5VDC MicroUSB hoặc Vin. GPIO giao tiếp mức 3.3VDC. Tích hợp Led báo trạng thái, nút Reset, Flash. Tương thích hoàn toàn với trình biên dịch Arduino. Kích thước: 25 x 50 mm. 2.1.3. Giới thiệu về RFID RC522 Module RFID RC522 sử dụng IC MFRC522 của Philips dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56MHz, với mức giá rẻ thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID. 11
  • 17. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 2.6 Module RFID RC522 Đặc điểm kỹ thuật: Nguồn: 3.3VDC Dòng điện hoạt động: từ 13 đến 26m Dòng ở chế độ chờ (Stand by): từ 10 đến 13mA Dòng ở chế độ nghỉ (Sleep Mode): nhỏ hơn 80µA Dòng tải tối đa: 30mA Tần số sóng mang: 13.56MHz Khoảng cách đọc tối ưu: từ 0 đến 60mm Giao tiếp: SPI Tốc độ truyền dữ liệu: tối đa 10mbps Nhiệt độ hoạt động: -20 đến 80 °C Độ ẩm hoạt động: từ 5 đến 95% 12
  • 18. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Các loại thẻ RFID hỗ trợ: mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire Kích thước: 40mm × 60mm Nguyên lý hoạt động cơ bản của hệ thống RFID: Thiết bị Reader phát ra sóng điện từ ở một tần số nhất định, khi thiết bị Tag trong vùng hoạt động sẽ cảm nhận được sóng điện từ này và thu nhận năng lượng từ đó phát lại cho thiết bị Reader biết ID (mã số) của mình. Từ đó thiết bị RFID reader nhận biết được tag nào đang trong vùng hoạt động. Thẻ RFID là thiết bị có thể lưu trữ và truyền dữ liệu về bộ đọc bằng sóng vô tuyến. Trong đó các thẻ thường lưu trữ thông tin về các sản phẩm nào đó hoặc các ID (mã nhận diện. Thẻ RFID gồm chip bán dẫn nhỏ (bộ nhớ của chip có thể chứa từ 96 đến 512 bit dữ liệu, nhiều gấp 64 lần so với mã vạch) và anten được thu nhỏ trong một số hình thức đóng gói. Vài thẻ RFID giống như những nhãn giấy và được ứng dụng để bỏ vào hộp và đóng gói. Một số khác được sản xuất thành các miếng da bao cổ tay. Mỗi thẻ được lập trình với một nhận dạng duy nhất cho phép theo dõi không dây đối tượng hoặc con người đang gắn thẻ đó. 2.1.4. Giới thiệu về động cơ Servo Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0 – 180 độ. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn... 13
  • 19. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 2.7 Động cơ Servo SG90 Ở đề tài này nhóm sử dụng động cơ Servo SG90 để biểu diễn cho chốt khóa cửa. Nếu ở mô hình thực tế được đưa ra sử dụng, thì động cơ này sẽ được tác động vào thanh chốt cài giúp cho cửa được khóa lại nếu động cơ quay. 14
  • 20. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 2.1.5. Giới thiệu về MC-38 Cảm biến từ MC-38 là một công tắc từ có dây, được gắn trên cửa, tủ. Cảm biến sẽ đóng khi hai miếng đạt gần nhau, thường được dùng trong ứng dụng chống trộm ở cửa, tủ, két sắt… Hình 2.8 Cảm biến từ MC-38 Thông số kỹ thuật: Khoảng cách hoạt động 18 +- 6mm Điện áp giữa 2 tiếp điểm: tối đa 100V DC Dòng tiêu thụ: tối đa 300mA Tuổi thọ: 100 triệu lần đóng/ngắt Dạng ngõ ra: thường mở (khi để 2 miếng gần thì đóng) Cảm biến từ được dùng trong đề tài này để giám sát cửa có đang mở, hay đóng hay không. Giúp gia chủ biết được trạng thái đóng mở cửa khi không có ở nhà, cũng như để chắc chắn về việc khóa cửa có chính xác hay không. 15
  • 21. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 2.2. CÁC CHUẨN GIAO TIẾP ĐƯỢC SỬ DỤNG 2.2.1. Chuẩn giao tiếp UART UART là giao thức truyền thông nối tiếp trên lớp vật lý bao gồm chuẩn RS232 hỗ trợ điểm-điểm và chuẩn RS485 hỗ trợ đa điểm được quản lý bởi Hội Công Nghiệp Điện Tử EIA. Những chuẩn truyền thông trên quy định nhiều thành phần của giao diện nối tiếp bao gồm mức điện áp, chuẩn đấu nối, chân ra, chiều dài dây, thứ tự bit, tốc độ bit giữa các thiết bị. Truyền dữ liệu không đồng bộ bao gồm đường truyền dữ liệu (Tx) và đường nhận dữ liệu (Rx) và không có xung CK. Không còn phân biệt chủ (Master) và tớ (Slave) - các hệ thống ngang cấp. Mỗi xung CK là một bit dữ liệu được truyền đi. Để truyền được dữ liệu thì mỗi hệ thống phải có một mạch dao động tạo xung CK, hai hệ thống sẽ có hai mạch giao động độc lập nhưng phải có cùng tần số hay cùng tốc độ. Hình 2.9 Truyền dữ liệu nối tiếp bất đồng bộ Để duy trì sự đồng bộ giữa bộ truyền và nhận, trong một khung dữ liệu chèn các bit start vào đầu và bit stop vào cuối mỗi byte dữ liệu trong một chuỗi dữ liệu truyền đi. Do không có tín hiệu xung Clock chung để đồng bộ, mỗi thiết bị phải tìm bit start bàng cách lấy mẫu từ đường nhận dữ liệu (Rx) với xung nhịp nội. Khi bit start được xác định, thiết bị thu biết rằng quá trình truyền đã bắt đầu và cần dịch chuỗi bit nối tiếp. Quá trình truyền và nhận phải tuân theo một tốc độ bit chung được xác định trước khi 16
  • 22. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 quá trình truyền thông bắt đầu, nếu không thì thiết bị nhận sẽ giải mã sai dữ liệu thu được. Truyền thông nối tiếp UART được sử dụng cho phương thức truyền song công để giao tiếp giữa bộ nhận và bộ truyền. Lúc này, phần cứng của bộ vi điều khiển cần được trang bị độc lập cả bộ truyền và bộ nhận riêng biệt. Khi kết nối các truyền thông nối tiếp để đảm bảo các thông số truyền thông giữa máy phát và máy thu giống nhau. Cả máy phát và máy thu cần được thiết lập thành phần sử dụng chuẩn cùng tốc độ Baud, cùng số bit bắt đầu và kết thúc, tính chẵn lẻ, phân cực, mức điện áp,… 2.2.2. Chuẩn giao tiếp SPI Giao thức nối tiếp SPI (Serial Peripheral Interface – Giao diện ngoại vi nối tiếp) được phát triển bởi Motorola cho phép nhiều thiết bị ngoại vi giao tiếp song công (hai thiết bị truyền và nhận dữ liệu đồng thời). SPI là một giao thức đa điểm, trong đó thiết bị thông tin qua một giao diện nối tiếp bao gồm xung nhịp nối tiếp SCLK, MOSI (Master Out/Slave In), MISO (Master In/Slave Out) và SS (Slave Select). Chỉ có duy nhất một thiết bị trên bus được xem là thiết bị chủ (master) và tất cả các thiết bị còn lại được xem là thiết bị tớ (slave) trên bus nối tiếp. Hình 2.10 Giao tiếp SPI 17
  • 23. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Tại một thời điểm thiết bị chủ chỉ giao tiếp với một thiết bị tớ bằng cách cho đường SS của thiết bị tớ đó hoạt động. Thiết bị chủ điều khiển việc truyền nhận bằng cách điều khiển các đường SS của từng thiết bị tớ và sau đó cấp xung trên đường SCLK. Đồng thời, thiết bị chủ nhận thông tin từ thiết bị tớ qua đường MISO và nhận dữ liệu từ thiết bị tớ qua đường MOSI. SPI có thể được xem như một quá trình truyền đồng bộ. Bộ truyền được chỉ định là chủ vì nó cấp xung đồng bộ giữa giữa máy phát và máy thu. Một slave được chọn để giao tiếp bằng cách đặt đường tín hiệu SS của nó xuống mức thấp. Quá trình truyền SPI được bắt đầu bằng cách truyền một byte dữ liệu vào thanh ghi dữ liệu SPI (SPDR) được cấu hình là chủ. Lúc này, bộ truyền xung nhịp SPI cung cấp các xung nhịp cho master và slave qua chân SCLK. Các bit đơn được dịch ra khỏi thanh ghi dịch của master, qua chân MOSI sau mỗi xung CLK. Các bit dữ liệu được nhận tại chân MOSI của slave được chỉ định. Cùng thời điểm, một bit đơn được truyền qua chân MISO của slave và vào chân MOSI của master. 2.3. PHẦN MỀM 2.3.1. Giới thiệu về Firebase Firebase là một dịch vụ API (giao diện lập trình ứng dụng) để lưu trữ và đồng bộ dữ liệu giữa hai hay nhiều thiết bị với nhau. Firebase hoạt động dựa trên nền tảng đám mây được cung cấp bởi Google nhằm giúp đỡ các lập trình viên phát triển nhanh ứng dụng bằng cách đơn giản hóa các thao tác ứng dụng với cơ sở dữ liệu. 18
  • 24. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 2.11 Ứng dụng rộng lớn của Firebase Lịch sử phát triển Firebase được thành lập bởi Tamplin và Lee . Hai nhà sáng lập này đã dựa vào một dịch vụ API chat trực tuyến vào trang web được cung cấp bởi Envolve, các nhà phát triển sử dụng Envolve để đồng bộ hóa dữ liệu các trạng thái trò chơi trong thời gian thực lên trang web. Dựa vào yếu tố này Tamplin và Lee đã quyết định tách riêng hệ thống chat và kiến trúc thời gian thực để thành lập một cơ sở dữ liệu Firebase riêng biệt vào tháng 4 năm 2012. Vào ngày 21 tháng 10 năm 2014 Google đã mua lại Firebase. Các chức năng chính của Firebase Realtime Database – Cơ sở dữ liệu thời gian thực Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Chúng ta có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung 1 database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa đổi. Firebase Authentication – Hệ thống xác thực của Firebase Với Firebase chúng ta có thể dễ dàng tích hợp các công nghệ xác thực của Google, Facebook, Twitter, … hoặc một hệ thống xác thực mà 19
  • 25. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 chúng ta mình tạo ra từ trong ứng dụng ở bất kì nền tảng nào như Android, iOS hoặc Web. Firebase Hosting Chúng ta có thể triển khai một ứng dụng nền web chỉ với vài giây với hệ thống Firebase, và các dữ liệu sẽ được lưu trữ đám mây đồng thời được bảo mật thông qua giao thức truy cập SSL. Ưu nhược điểm của Firebase Ưu điểm - Triển khai ứng dụng cực nhanh - Tính bảo mật cao - Có linh hoạt và mở rộng ứng dụng dễ dàng - Tính ổn định cao ít khi nào gặp trường hợp sập server - Người đăng ký tài khoản miễn phí có 1GB dung lượng lưu trữ Nhược điểm - Đăng ký tài khoản miễn phí thì chỉ được tối đa 100 thiết bị hoặc người truy cập trong khi có tính phí thì sẽ trả phí theo thuê bao và dung lượng lưu trữ. 2.3.2. Arduino IDE Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng. Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung. Và Wiring lại là một biến thể của C/C++. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu. Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cung cấp cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE (Integrated Development 20
  • 26. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Environment – Môi trường phát triển tích hợp). Phần mềm này có thể chạy trên nhiều nền tảng hệ điều hành khác nhau: Windows, Mac OS,… Hình 2.12 Giao diện phần mềm Arduino IDE Vùng lệnh Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help). Phía dưới là các icon cho phép sử dụng nhanh các chức năng thường dùng của IDE. Vùng viết chương trình Các dòng code sẽ được soạn thảo ở đây. Tên chương trình được hiển thị ngay dưới dãy các Icon, ở đây nó tên là “Blink”. Để ý rằng phía sau tên chương trình có một dấu “§”. Điều đó có nghĩa là đoạn chương trình đã viết chưa được lưu lại. Vùng thông báo lỗi (debug) Những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng. 21
  • 27. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ 3.1. GIỚI THIỆU Đề tài này yêu cầu thiết kế được hệ thống điều khiển thiết bị trung tâm, cụ thể là động cơ Servo. Các thao tác từ ứng dụng trên điện thoại di động hay trên mạch được đưa về vi xử lý, thực hiện lệnh điều khiển. Cũng như từ vi xử lý thu thập dữ liệu từ động cơ hay cảm biến từ để đưa lên lại hiển thị trên ứng dụng trên điện thoại. Ở chương này, sẽ tập trung tính toán và thiết kế các khối cho hệ thống, dựa vào mục tiêu từ đầu của đề tài mà từ đó tính toán và lựa chọn các linh kiện, thiết bị phù hợp, thiết kế các bản vẽ cho hệ thống hoàn thiện. 3.2. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 3.2.1. Thiết kế sơ đồ khối hệ thống Khối thực thi điều khiển Khối xử lý trung tâm Khối cơ sở dữ liệu Khối truyền nhận dữ liệu Khối thu Khối phát Khối nguồn Hình 3.1 Sơ đồ khối của hệ thống 22
  • 28. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Chức năng của các khối: Khối xử lý trung tâm: là khối quan trọng, chứa Arduino được xem như bộ não của hệ thống. Có chức năng giao tiếp UART với khối truyền dữ liệu nodeMCU, giao tiếp SPI với RFID ở khối thu cùng MC-38 và đưa tín hiệu ra khối phát để điều khiển Servo. Khối truyền nhận dữ liệu: là nodeMCU cập nhật dữ liệu từ khối cơ sở dữ liệu sau đó đưa cho Arduino xử lý, cũng như đưa dữ liệu lên. Khối thực thi điều khiển: đây là ứng dụng được viết trên điện thoại android, dùng để gửi và nhận dữ liệu từ khối cơ sở dữ liệu. Khối thu: thu thập tín hiệu từ từ cảm biến và module, truyền về khối xử lý trung tâm để xử lý. Khối phát: dùng để truyền tín hiệu từ khối xử lý trung tâm đến thiết bị ngoại vi. Khối nguồn: cung cấp nguồn để các thiết bị hoạt động ổn định. Khối cơ sở dữ liệu: đây là nơi lưu trữ dữ liệu giữa khối truyền nhận dữ liệu và khối thực thi điều khiển. 3.2.2. Tính toán và thiết kế mạch a) Thiết kế khối xử lý trung tâm Để xử lý dữ liệu hai chiều ta cần một bộ xử lý dữ liệu và nhiều cổng giao tiếp serial để giao tiếp với nodeMCU, RFID, MC-38, Servo. Cho nên nhóm chúng em chọn board Arduino UNO R3 sử dụng bộ xử lý Atmega328. Board này có nhiều chân I/O hỗ trợ cho chúng em giao tiếp, quan trọng hơn là nó có nhiều cổng UART (Rx,Tx) phù hợp với đề tài của chúng em. Cùng với ưu điểm của nó là: hỗ trợ thư viện cho giao tiếp nodeMCU, 23
  • 29. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 tương thích nhiều hệ điều hành, chương trình lập trình đơn giản, dễ sử dụng. Phần mềm lập trình cho vi điều khiển là phần mềm IDE. Đây là phần mềm mã nguồn mở và có thể coi là một phần mềm lập trình lý tưởng cho học sinh, sinh viên. Hình 3.2 Sơ đồ nguyên lý của hệ thống b) Thiết kế khối truyền nhận dữ liệu Module ESP8266 nodeMCU là KIT phát triển dựa trên nền chip Wifi SoC ESP8266 với thiết kế dễ dàng sử dụng vì tích hợp sẵn mạch nạp sử dụng chip CP2102 trên board, người dùng muốn nạp chương trình chỉ cần kết nối với máy tính qua cáp USB (loại dùng cho Laptop và điện thoại thông minh). Hiện tại có hai ngôn ngữ có thể lập trình cho ESP8266, là sử dụng trực tiếp phần mềm IDE của Arduino để lập trình với bộ thư viện riêng hoặc sử dụng phần mềm node MCU. Vì sự tiện lợi và giá thành hợp lý (~80.000 VNĐ) nên nhóm em quyết định chọn module này làm khối truyền nhận dữ liệu. 24
  • 30. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Bảng 3.1 Sơ đồ nối chân của nodeMCU Arduino nodeMCU RX (PIN 5) TX (PIN 5) TX (PIN 4) RX (PIN 6) GND GND c) Thiết kế khối thực thi điều khiển Yêu cầu chức năng: Điều khiển thiết bị ở bất cứ nơi đâu (thiết bị động cơ được kết nối wifi và điện thoại thông minh kết nối 3G hoặc wifi). Có thể xem trạng thái đóng mở cửa trên điện thoại thông minh. Có thể cài đặt lại các thông số và thông số này sẽ được lưu lại. Tên khóa Ổ khóa Trạng thái khóa 25
  • 31. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 3.3 Giao diện điều khiển trên điện thoại Giao diện bao gồm các biểu tượng “ổ khóa”, “trạng thái khóa”. Khi chạm vào “ổ khóa”, tương ứng động cơ sẽ quay 90 độ, nhấn thêm lần nữa động cơ sẽ quay về vị trí ban đầu. Ngay dưới “ổ khóa” là “trạng thái khóa”, nó hiển thị “cửa đã mở” hoặc “cửa đã khép”, tượng trưng cho cảm biến từ MC-38 cho giá trị lần lượt là 1 hoặc 0. d) Thiết kế khối thu Trong đề tài này, khối thu sẽ đảm nhiệm việc tiếp nhận tín hiệu từ module RFID hoặc cảm biến từ MC-38 đưa về khối xử lý trung tâm. Module RFID RC522 Module này hoạt động với điện áp 3.3V lấy trực tiếp từ Arduino, dòng nuôi từ 13 – 26 mA, tần số sóng mang 13.56MHz, có khoảng cách hoạt động từ 0 – 60mm và giao tiếp bằng chuẩn SPI. Khi thẻ từ chạm gần vào khung nhận tín hiệu của module, tín hiệu mở cửa sẽ được truyền về bộ xử lý trung tâm làm cho động cơ hoạt động. Bảng 3.2 Sơ đồ nối chân của RFID Arduino RFID PIN 10 SDA PIN 13 SCK PIN 11 MOSI PIN 12 MISO NO CONNECT NC GND GND PIN 9 RST 3.3V 3.3V Cảm biến từ MC-38 26
  • 32. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Cảm biến này được xem như công tắc mở cửa, khi 2 miếng cảm biến chạm gần vào nhau, ngõ ra của nó trả về giá trị digital 0 hoặc 1, tương ứng với chạm hoặc không chạm. Ta lấy giá trị đó đem đi cài đặt, thì sẽ nhận biết được cửa đang mở hay đóng. Khoảng cách hoạt động của nó trong vòng 18 +- 6mm, dòng điện tiêu thụ khoảng 300mA, có kích thước nhỏ gọn chỉ bằng ngón tay cái. 27
  • 33. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Bảng 3.3 Sơ đồ nối chân của MC-38 Arduino MC-38 GND Chân 1 PIN 2 Chân 2 e) Thiết kế khối phát: Với yêu cầu được đặt ra, điều khiển được chốt khóa cửa, thì nhóm sẽ chọn động cơ truyền động đến chốt khóa, cụ thể là động cơ Servo SG90. Vì động cơ không cần dòng lớn, nên chúng ta có thể lấy nguồn 5V trực tiếp từ Arduino. Bảng 3.4 Sơ đồ nối chân động cơ Servo Arduino Servo SG90 GND ĐEN PIN 6 VÀNG 5V ĐỎ f) Thiết kế khối nguồn: Về nguồn cấp cho mạch hoạt động thì nhóm không thiết kế nguồn nuôi riêng mà dùng trực tiếp nguồn điện gia đình. Có thể là bộ adapter sạc điện thoại có nguồn 5V – 0.5A. Hoặc pin sạc dự phòng, hoặc nguồn nạp từ USB máy tính. Cùng với cổng chuyển đổi 1 đầu USB sang 2 đầu USB để tiện cho việc cắm cùng lúc Arduino và nodeMCU vào 1 cổng cắm. g) Thiết kế khối cơ sở dữ liệu: Với cơ sở thiết kế nhóm em sử dụng là Firebase Database của hãng Google, điều nhóm hướng đến là giá thành phải phù hợp và dung lượng lưu trữ phải đủ để lưu dữ liệu. 28
  • 34. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hiện tại nhóm đang sử dụng bản miễn phí của Firebase với 100 thuê bao tương ứng với 100 người sử dụng (hiểu đơn giản 1 người sử dụng là một hộ gia đình được lắp đặt sản phẩm), cùng với đó là 1GB dung lượng lưu trữ (có thể dùng để lưu trữ thông tin khách hàng vv..). Khi lượng khách hàng tăng lên quá 100 thì nhóm em có thể sử dụng bản trả phí của Firebase với giá 25 USD/tháng với 100.000 thuê bao và 2,5 GB dung lượng lưu trữ. Firebase có cách thức lưu cơ sở dữ liệu dưới dạng cây Json, vì thế nhóm em thiết kế một cơ sở dữ liệu hợp lý để gửi và nhận dữ liệu cho động cơ cũng như cảm biến như sau: Hình 3.4 Cơ sở dữ liệu Firebase theo dạng cây Json 29
  • 35. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 4. THI CÔNG HỆ THỐNG 4.1. GIỚI THIỆU Trong chương này là quá trình thi công PCB, lập trình, lắp ráp phần cứng và test mạch. Bên cạnh đó hình vẽ được chụp từ mô hình thực của hệ thống bên ngoài, hình chụp các kết quả chạy mà hệ thống tính đến thời điểm hiện tại. 4.2. THI CÔNG HỆ THỐNG 4.2.1. Thi công bo mạch Mạch in được vẽ trên Altium Designer, là mạch in một lớp. Mạch gồm chân của Arduino và nodeMCU, và các hàng rào được vẽ thêm để gắn các linh kiện không có sẵn thư viện footprint trong Altium. Hình 4.1 Sơ đồ mạch in mạch khóa cửa thông minh Sau khi thiết kế được mạch in ta tiến hành mô phỏng 3D: 30
  • 36. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 4.2 Sơ đồ bố trí các linh kiện của mạch Từ mô phỏng 3D trên altium có thể thấy các linh kiện chưa có sự sắp xếp hợp lý cũng như phần lớn các linh kiện chưa có thư viện 3D. 4.2.2. Lắp ráp và kiểm tra 31
  • 37. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 4.3 Board sau khi đã rửa và hàn xong 1 3 2 4 5 Hình 4.4 Sơ đồ toàn mạch sau khi hoàn tất Hình 4.4 thể hiện sơ đồ nguyên lý mạch điều khiển chính chứa các khối của hệ thống được đánh số thứ tự như sau: khu vực số 1 là vị trí của board Arduino UNO R3, khu vực 2 là vị trí của nodeMCU ESP8266, và kế bên là khu vực 3 – RFID, khu vực 4 và 5 lần lượt là cảm biến từ MC-38 và động cơ Servo SG90. 32
  • 38. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 4.3. LẬP TRÌNH HỆ THỐNG 4.3.1. Lưu đồ giải thuật a) Lưu đồ cho Arduino: Sta rt Khởi tạo Serial, RFID, các chân I/ O Chưa khép Trạng thái cảm biến hall Đã khép Điều khiển bằng app Quét mã thẻ Hình 4.5 Lưu đồ điều khiển cho Arduino Giải thích lưu đồ hình 4.5 Đầu tiên sẽ khai báo thư viện và chọn cổng giao tiếp UART, khai báo các biến của chương trình, chân kết nối SPI, Servo. Thiết lập tốc độ truyền, các thông số truyền của chuẩn giao tiếp UART. Kiểm tra giá trị 33
  • 39. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 cảm biến hall MC-38, nếu bằng 1 tức “cửa chưa khép”, sẽ không cho hệ thống làm gì cả, ngược lại giá trị bằng 0 tức “cửa đã khép” thì hệ thống mới được làm việc, có thể xem cảm biến hall như một công tắc khóa cửa. Tiếp theo là chương trình của điều khiển bằng app qua cơ sở dữ liệu Firebase và quét mã thẻ RFID. Quá trình được lặp lại liên tục. b) Lưu đồ cho nodeMCU, cơ sở dữ liệu và app: Start Khởi tạo cổng vào ra, kết nối wifi Tiến hành kết nối wifi Đã kết nối Yes Đọc/ ghi dữ liệu từ Firebase Dữ liệu thay đổi Yes No Khóa trên app No được nhấn Yes Khóa/ mở cửa End No Hình 4.6 Lưu đồ điều khiển cho nodeMCU 34
  • 40. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Khi có nguồn cung cấp cho mạch điều khiển ESP8266 nodeMCU, mạch sẽ hoạt động khởi tạo các ngõ vào ngõ ra, khởi tạo chế độ không phát wifi sau đó mới thực hiện hàm cài đặt thông tin wifi của mạch wifi, tiếp đến sẽ thực hiện việc kết nối wifi đã cài đặt sẵn trong code và kết nối đến cơ sở dữ liệu thời gian thực Firebase để có thể đọc ghi dữ liệu điều khiển. Sau đó chương trình sẽ thực hiện vòng lặp chính của mình, nếu có dữ liệu thay đổi, khóa trên app được nhấn thì mới thực hiện gửi dữ liệu về cho vi xử lý trung tâm điều khiển động cơ, còn không thì sẽ không xét đến các điều kiện khác, mà sẽ thoát khỏi chương trình này và tiếp đến chương trình của RFID, để cho chương trình có thể hoạt động trơn tru không bị ngắt quãng. Như thế sẽ tiết kiệm được thời gian, cũng như tài nguyên cần thiết. c) Lưu đồ cho RFID: Sta rt No No Có thẻ được quét Yes Thẻ đã đọc Yes Mở/ khóa cửa Đợi 4s Cửa về trạng thái ban đầu End Hình 4.7 Lưu đồ điều khiển RFID 35
  • 41. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Khi được gọi, chương trình sẽ kiểm tra xem có phải hay không, thẻ đã lưu để mở cửa hay thẻ mới không mở được cửa, thì mới gửi dữ liệu về bộ xử lý trung tâm để điều khiển động cơ mở cửa. Chốt cửa mở được 4s, thì sẽ lập tức khóa lại để phòng trường hợp quét nhưng không vào nhà mà đi liền. Đảm bảo an toàn cho căn phòng. 4.3.2. Viết chương trình cho mạch Sau đây chúng em sẽ giải thích về chương trình viết cho vi điều khiển Arduino UNO R3 đối với động cơ được điều khiển bằng wifi. Do chương trình còn lấy dữ liệu từ các thư viện có sẵn trên Internet nên nhóm chỉ trình bày khái quát phần chương trình chính, không giải thích thư viện. a) Viết chương trình cho Arduino: Để tiến hành lập trình thì cần thêm các bộ thư viện để sử dụng các tính năng. Thêm thư viện để thực hiện được các tính năng của mạch RFID, động cơ servo, các chuẩn truyền SPI, Serial.. thông qua câu lệnh: #include<SoftwareSerial.h> #include <SPI.h> #include <MFRC522.h> #include <Servo.h> Khai báo các chân cho nodeMCU như Tx, Rx; các chân của RFID; Servo, để có thể hoạt động ổn định thông qua câu lệnh: SoftwareSerial s(4,5); #define SS_PIN 10 #define RST_PIN 9 #define SERVO_PIN 6 MFRC522 mfrc522(SS_PIN, RST_PIN); Khai báo các biến sử dụng trong chương trình thông qua câu lệnh: int pushButton = 2,trangthai,hall; 36
  • 42. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 char RxData,a= 'D'; Servo gServo; Ban đầu phải cài đặt các thông số cơ bản cho nodeMCU, RFID, Servo, MC38 thông qua câu lệnh: s.begin(9600); Serial.begin(9600); SPI.begin(); mfrc522.PCD_Init(); gServo.attach(SERVO_PIN); gServo.write(0); pinMode(pushButton, INPUT_PULLUP; Kiểm tra trạng thái cảm biến hall và gửi dữ liệu qua nodeMCU thông quan hàm con SendData: hall = digitalRead(pushButton); if(hall ==1){ trangthai = 0; SendData('C'); } else{ trangthai=1; SendData('D'); } Nếu cửa chưa khép thì in lên màn hình điện thoại, ngược lại ta thực hiện tất cả các chức năng của nodeMCU và RFID. Sau đó kiểm tra dữ liệu có thay đổi hay không, nếu có ta mới cho đọc dữ liệu từ UART rồi điều khiển động cơ. Đồng thời ta thực hiện việc kiểm tra quét mã thẻ, nếu thẻ đúng như thẻ đã lưu sẵn (ví dụ ở đây thẻ có mã là “5A 0B AE 25”) thì cũng cho mở cửa (trong 4s), rồi lại kiểm tra trạng thái hall tiếp, nếu tiếp tục khép (tức không vô nhà) thì đóng cửa, còn không khép (tức mở cửa vô nhà) thì giữ nguyên trạng thái mở cửa, đợi người vào nhà khép cửa lại thì động cơ mới khóa cửa lại. 37
  • 43. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 if(trangthai==0){ delay(3000); } else{ if(s.available()>0){ RxData = s.read(); if(RxData=='L'){ gServo.write(0); } else if(RxData=='U'){ gServo.write(90); } }else; if ( ! mfrc522.PICC_IsNewCardPresent()) { return; } if ( ! mfrc522.PICC_ReadCardSerial()) { return; } if (content.substring(1) == "5A 0B AE 25" || content.substring(1) == "F4 12 19 2A" ) { gServo.write(90); delay(4000); int hall = digitalRead(pushButton); while (hall==1) { int hall = digitalRead(pushButton); if (hall==0) break; } delay(1000); gServo.write(0); } else { delay(1000); } 38
  • 44. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 } Cuối cùng là gửi trạng thái đã khép hay chưa khép lên cơ sở dữ liệu để theo dõi trên điện thoại: if(stateKhep == a){ } else { s.print(stateKhep); a = stateKhep; } b) Viết chương trình cho ESP8266 nodeMCU: Thêm thư viện và các hàm để thực hiện được các tính năng wifi của mạch vi điều khiển ESP8266 nodeMCU, và thực hiện việc đọc ghi dữ liệu lên cơ sở dữ liệu thông qua câu lệnh: #include<SoftwareSerial.h> #include <ESP8266WiFi.h> #include <FirebaseArduino.h> #define FIREBASE_HOST "smartdoor-6cafa.firebaseio.com" #define FIREBASE_AUTH "" #define WIFI_SSID "Duc Canh" #define WIFI_PASSWORD "cccccccc" Khai báo các biến sử dụng trong chương trình, các chân truyền dữ liệu UART về Arduino. SoftwareSerial s(D6,D5); char RxData; String DataFr; Tiếp đến là các hàm điều khiển tốc độ truyền, hàm kết nối mạng wifi, lệnh kết nối với cơ sở dữ liệu: s.begin(9600); Serial.begin(9600); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); 39
  • 45. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Serial.print("connecting"); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); Serial.print("connected: "); Serial.println(WiFi.localIP()); Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); Cuối cùng là vòng lặp chính, thể hiện việc giao tiếp UART từ Arduino qua nodeMCU rồi đẩy dữ liệu lên cơ sở dữ liệu Firebase, trong đó có việc nhận giá trị cảm biến hall, cài trạng thái đã khép hay chưa khép lên cơ sở dữ liệu để hiển thị trên điện thoại, nhận giá trị điều khiển từ cơ sở dữ liệu về nodeMCU, xong lại truyền qua Arduino: if(s.available()>0){ RxData =s.read(); if(RxData=='C'){ Firebase.setString("TrangThai","0"); Serial.println('C'); } else if(RxData=='D'){ Firebase.setString("TrangThai","1"); Serial.println('D'); } else; } DataFr = Firebase.getString("SmartDoor"); if(DataFr=="LOCK"){ s.write('L'); } else if(DataFr=="UNLOCK"){ s.write('U'); } else; 40
  • 46. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 5. KẾT QUẢ VÀ NHẬN XÉT 5.1. KẾT QUẢ Sau khi tìm hiểu, nghiên cứu các tài liệu chuyên ngành tiếng Việt cũng như tiếng Anh, tìm hiểu thêm qua mạng Internet, tổng hợp lại các kiến thức đã học trong 3 năm cũng như được sự hướng dẫn của thầy Pgs.Ts. Phan Văn Ca. Nhóm chúng em đã hoàn thành được đồ án 1 với đề tài “HỆ THỐNG KHÓA CỬA THÔNG MINH”. 5.1.1. Kết quả đạt được Sau đề tài của đồ án này, nhóm em cũng đã nghiên cứu và tích lũy thêm được nhiều hiểu biết, kiến thức mới như: Hiểu biết sâu hơn về việc sử dụng cả các tính năng của module xử lý Arduino UNO R3, như giao tiếp với các module thu phát sóng wifi nodeMCU, module RFID, cảm biến từ MC38, động cơ Servo SG90. Nghiên cứu và biết cách kết nối giữa module Arduino UNO R3 với các module mở rộng và lắp ráp vào mô hình để hoàn thành sản phẩm. Biết cách sử dụng chuẩn truyền dữ liệu UART từ module nodeMCU với Arduino, truyền Serial với Firebase. Biết cách sử dụng module RFID RC522 để đọc, ghi mã thẻ từ. Nâng cao được kỹ năng vẽ mạch in PCB, sử dụng phần mềm Altium. Nâng cao được kỹ năng thi công mạch: rửa mạch, khoan mạch, hàn linh kiện, kiểm tra các thành phần trong mạch. Biết cách sử dụng cơ sở dữ liệu Firebase, biết cách tạo 1 app đơn giản với Android Studio. 41
  • 47. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 5.1.2. Kết quả thực hiện a) Phần cứng: Sau cùng, nhóm đã hoàn thành các mục tiêu đề ra và thực hiện được tính năng sau: Hình 5.1 Mô hình khóa cửa khi cửa đang khóa ban đầu Hình 5.2 Mô hình khóa cửa khi cửa đang mở bằng RFID 42
  • 48. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 5.3 Mô hình khóa cửa khi cửa không khóa lại do chưa khép Hình 5.4 Mô hình khóa cửa khi cửa khóa lại do đã khép 43
  • 49. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 5.5 Mô hình khóa cửa khi cửa mở khóa bằng app Hình 5.6 Mô hình khóa cửa khi cửa khóa lại bằng app 44
  • 50. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 b) Phần mềm: Hình 5.7 Giao diện khóa cửa sử dụng trên điện thoại Giao diện khóa cửa có 3 phần chính: tên khóa cửa, ổ khóa thể hiện trạng thái khóa, trạng thái cửa khép hoặc chưa khép. Khi có mạng, ứng dụng tự động đồng bộ dữ liệu với cơ sở dữ liệu thể hiện trạng thái khóa như thế nào. Tốc độ phản hồi của ứng dụng so với động cơ đầu bên kia là gần như realtime. Khách hàng có thể tải ứng dụng về bằng cách quét mã QR dưới đây, sau đó nhóm sẽ tiến hành cài đặt tài khoản Firebase, tên và mật khẩu wifi của khách hàng để khóa cửa có thể hoạt động được. 45
  • 51. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Hình 5.8 Mã QR để tải ứng dụng khóa cửa 5.2. NHẬN XÉT Nhìn chung, mô hình đã hoạt động tương đối ổn định (vì chỉ mới thử nghiệm hoạt động trong khoảng 1h, nhóm chưa có điều kiện thử nghiệm trong khoảng thời gian dài hơn để đưa ra kết luận về độ ổn định của hệ thống). Có thể làm việc liên tục (nếu nguồn sử dụng là adapter sạc). Hệ thống sử dụng nguồn cấp nhỏ từ 5V trở xuống nên an toàn cho người sử dụng trước nguy cơ điện giật. Thời gian đáp ứng từ khi phản hồi từ động cơ trong khoảng 1s. Khoảng cách điều khiển bằng điện thoại là không giới hạn. Sản phẩm phụ thuộc hoàn toàn vào mạng wifi. Vùng phủ sóng mạnh thì sản phẩm hoạt động rất tốt. Việc thay đổi wifi sử dụng cũng được tiến hành dễ dàng. Phần mềm phản hồi tốt, nhanh chóng, hầu như không có thời gian trễ (nếu tín hiệu mạng được thông suốt). 46
  • 52. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 Bảng 5.1 Số liệu điều khiển thiết bị trên thực tế ST Phương thức điều khiển Số lần Số lần Tỉ lệ thành T thực hiện thành công công 1 RFID 10 10 100% 2 Ứng dụng trên điện 10 10 100% thoại thông minh Bảng trên là kết quả của nhóm thu được từ việc điều khiển động cơ mở khóa, ta có thể thấy nếu thiết bị ở trong điều kiện lý tưởng (cấp đủ nguồn, wifi mạnh, khoảng cách quét thẻ từ đủ gần…) thì tỉ lệ thành công là tuyệt đối. Tuy nhiên, do sự hạn chế về kiến thức và thời gian thực hiện, nguồn tài liệu tham khảo chủ yếu thông qua Internet nên đề tài không tránh khỏi sai sót và còn một số hạn chế: Hạn chế lớn nhất là chưa có được nguồn điện dự trữ để cung cấp cho hệ thống hoạt động khi mất nguồn chính. Hoạt động chủ yếu tại môi trường có phủ sóng wifi. Mô hình chưa được hoàn thiện, còn nhiều thiếu sót, tính thẩm mỹ chưa cao. Phần mềm còn đơn giản, chưa có chức năng thêm, xóa thẻ từ. 47
  • 53. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1. KẾT LUẬN Sau thời gian tìm hiểu, nghiên cứu và thực hiện đề tài của nhóm, dưới sự hướng dẫn của giáo viên thì nhóm đã hoàn thành đề tài “HỆ THỐNG KHÓA CỬA THÔNG MINH”. Hệ thống đáp ứng được các tính năng, nội dung và mục tiêu như sau: Giao tiếp và truyền dữ liệu thành công giữa Arduino UNO R3 với các module ESP8266 nodeMCU, module đọc thẻ RFID, cảm biến từ MC38, động cơ Servo SG90. Điều khiển động cơ bằng thẻ từ và bằng ứng dụng trên điện thoại. Có thể giám sát được trạng thái đóng/mở cửa. Hiển thị trạng thái khóa và khép trên màn hình ứng dụng điện thoại. Cập nhật dữ liệu điều khiển lên cơ sở dữ liệu Firebase thành công. Thông qua Bảng 5.1 đã nêu ở chương 5, thì sản phẩm đạt được 100% mục tiêu đề ra của thiết bị và 90% mục tiêu đề ra của đề tài. Sản phẩm tuy chưa thể thương mại hóa được nhưng vẫn có thể hoàn thiện thêm một chút để sử dụng trong hộ gia đình với phạm vi nhất định. Các hạn chế mà chưa thể thương mại hóa: Tác động điều khiển còn hạn chế do hoạt động chính chỉ thông qua wifi. Chưa quan tâm đến công suất tiêu thụ của thiết bị. Kích thước sản phẩm còn thô, thiếu tính thẩm mỹ, chưa hoàn thiện. Chưa có tính năng thêm, xóa mã thẻ của RFID. Phải nạp lại KIT khi cần thêm/bớt thẻ, thay đổi wifi. 48
  • 54. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 6.2. HƯỚNG PHÁT TRIỂN Hệ thống điều khiển cửa có thể mở rộng khả năng điều khiển theo thời gian, đặt lịch hẹn giờ bật tắt thiết bị, có thêm chế độ sleep mode. Thiết kế điều khiển được công tắc tổng khi xảy ra sự cố cháy nổ. Thiết kế nguồn điện dự phòng khi mất điện đột ngột hoặc trong thời gian dài. Cải tiến thêm/xóa thẻ từ, wifi mà không cần đến việc nạp lại mạch. Có thêm camera để nhận diện chủ nhà, hay gửi thông báo đến người không có nhà khi cửa có tác động. Nâng cấp thiết bị để có thể lưu trữ và điều khiển nhiều thiết bị hơn. Nâng cấp hệ thống cơ sở dữ liệu phù hợp cho việc quản lý số lượng lớn thiết bị cùng lúc trong nhà. Cải tiến lại phần mềm vận hành, quản lý sao cho hiệu quả và tối ưu hơn. 49
  • 55. DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 DỊCH VỤ VIẾT THUÊ ĐỀ TÀI TRỌN GÓI ZALO / TEL: 0909.232.620 TÀI LIỆU THAM KHẢO [1] Phan Văn Ca – Trương Văn Phúc, Giáo trình Thiết kế hệ thống nhúng. TPHCM, Việt Nam: Nhà xuất bản Đại học Quốc gia TP Hồ Chí Minh, 2017. [2] Nguyễn Văn Hiệp, Giáo trình Lập trình Android trong Ứng dụng điều khiển. TPHCM, Việt Nam: Nhà xuất bản Đại học Quốc gia TP Hồ Chí Minh, 2016. [3] Datasheet Atmega328p. http://www.microchip.com/wwwproducts/en/ATmega328p [4] Datasheet Động cơ Servo. http://www.micropik.com/PDF/SG90Servo.pdf [5] Diễn đàn Vi điều khiển, Bài 8: Giao tiếp UART. Mcu.banlinhkien.vn, 07/2020. [6] Học ARM, Giao tiếp ESP8266 và Arduino Uno/Mega. Hocarm.org, 07/2020. [7] Iotguider, Serial communication between NodeMCU and Arduino. Iot-guider.com, 07/2020. 50