Tải bản đầy đủ (.pdf) (55 trang)

ĐỒ án hệ THỐNG KHÓA cửa THÔNG MINH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.48 MB, 55 trang )

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

ĐỒ ÁN 1

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


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

ĐỒ ÁN 1

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


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 TỐN VÀ THIẾT KẾ.....................................21
3.1. GIỚI THIỆU...................................................................................21
3.2. TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG.....................................21
3.2.1. Thiết kế sơ đồ khối hệ thống....................................................21


3.2.2. Tính tố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


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 TỐ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


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 tồ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


- 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


- 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 tố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
hồn thiện và tiến bộ hơn về mặt kết quả thực nghiệm.

3


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

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


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
Điện áp hoạt động
Tần số hoạt động
Dòng tiêu thụ
Điện áp vào khuyên dùng
Điện áp vào giới hạn
Số chân Digital I/O
Số chân Analog
Dòng tối đa trên mỗi chân I/O
Dòng ra tối đa (5V)
Dòng ra tối đa (3.3V)
Bộ nhớ Flash
SRAM
EEPROM

Atmega328 họ 8 bit
5V DC (chỉ được cấp qua USB)
16 MHz

30mA
7-12V DC
6-20V DC
14 (6 chân PWM)
6 (độ phân giải 10bit)
30mA
500mA
50mA
32KB(Atmega328)
2KB(Atmega328)
1KB(Atmega328)

5


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 q
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


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).
Ngồ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


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ễ 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


đ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


 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 hồn tồ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 hồn tồ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



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


 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


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


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


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


q

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


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


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


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 th 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


×