Uploaded by Roud Xh

baocao smartlock

advertisement
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN
----------
BÁO CÁO ĐỒ ÁN I
Đề tài:
“Thiết kế khóa cửa điện tử thông minh”
Nhóm sinh viên thực hiện:
STT
1
2
3
4
Họ và tên
Trương Văn Huy
Võ Thái Linh
Nguyễn Công Anh Tuấn
Trịnh Tiến Việt
MSSV
20181540
20181583
20181816
20181839
Giáo viên hướng dẫn: TS. Lê Minh Thùy
Hà Nội, 6/2021
MỤC LỤC
DANH MỤC HÌNH VẼ...................................................................................................... 1
DANH MỤC BẢNG BIỂU ................................................................................................ 2
LỜI NÓI ĐẦU .................................................................................................................... 3
CHƯƠNG I – TỔNG QUAN ĐỀ TÀI ............................................................................... 5
1.1 ĐẶT VẤN ĐỀ .......................................................................................................... 5
1.2 CÁC THIẾT BỊ KHÓA CỬA ĐIỆN TỬ THÔNG MINH THÔNG DỤNG ..... 6
1.2.1 Khóa cửa Kitos .................................................................................................. 6
1.2.2 Khóa cửa Unicor. ............................................................................................... 6
1.2.3 Khóa cửa Samsung ............................................................................................ 7
1.3 KẾT LUẬN CHƯƠNG I .............................................................................. 8
CHƯƠNG II – THIẾT KẾ THIẾT BỊ KHÓA CỬA ĐIỆN TỬ THÔNG MINH .............. 9
2.1 CHỈ TIÊU THIẾT KẾ.................................................................................. 9
2.2 SƠ ĐỒ CHỨC NĂNG .................................................................................. 9
2.3. TÍNH TOÁN VÀ LỰA CHỌN THIẾT BỊ PHẦN CỨNG ..................... 10
2.3.1. Tính toán và lựa chọn khối xử lý trung tâm .................................................... 10
2.3.2. Tính toán và lựa chọn khối truyền nhận không dây........................................ 11
2.3.3. Tính toán và lựa chọn khối hiển thị ................................................................ 12
2.3.4. Tính toán và lựa chọn khối bàn phím ............................................................. 13
2.3.5. Tính toán và lựa chọn khối rơ-le đóng cắt ...................................................... 14
2.3.6. Tính toán và lựa chọn khối cảm biến vân tay ................................................. 14
2.3.7. Tính toán và lựa chọn chốt khóa cửa .............................................................. 16
2.3.8.3 Tính toán các thông số cần thiết để lựa chọn nguồn ..................................... 20
2.3.9 Thiết kế mạch nguồn dự phòng ....................................................................... 21
2.3.10 Lưu trữ dữ liệu phòng khi vi điều khiển bị tắt ............................................... 26
2.3.11 Tổng kết ......................................................................................................... 27
2.4 GIAO TIẾP VỚI VI ĐIỀU KHIỂN 8051 ................................................. 28
2.4.1 Truyền dữ liệu song song ................................................................................. 28
2.4.2 Truyền dữ liệu nối tiếp ..................................................................................... 28
2.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN PHẦN CỨNG .................................. 35
2.6 THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN THIẾT BỊ ..................... 37
2.6.1 Chương trình chính .......................................................................................... 37
2.6.2 Lập trình điều khiển Bàn phím 4x4 ................................................................. 40
2.6.3 Lập trình điều khiển LCD 16x02 ..................................................................... 41
2.6.4 Lập trình điều khiển khối vân tay .................................................................... 42
2.6.5 Lập trình điều khiển EEPROM ........................................................................ 47
2.6.6 Chương trình truyền nhận dữ liệu qua wifi ...................................................... 49
2.7 NGUYÊN LÝ HOẠT ĐỘNG CỦA THIẾT BỊ ........................................ 53
2.8 KẾT LUẬN CHƯƠNG II .......................................................................... 54
CHƯƠNG III - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .............................................. 55
3.1 KẾT QUẢ ĐẠT ĐƯỢC ............................................................................. 55
3.2 Đánh giá ....................................................................................................... 56
3.3 Hướng phát triển trong tương lai .............................................................. 56
TÀI LIỆU THAM KHẢO ................................................................................................ 57
DANH MỤC HÌNH VẼ
Hình 1. 1: Mô hình nhà thông minh .......................................................................................................... 5
Hình 1. 2: Khóa cửa Kitos ......................................................................................................................... 6
Hình 1. 3: Khóa cửa Unicor ...................................................................................................................... 7
Hình 1. 4: Khóa cửa Samsung ................................................................................................................... 7
Hình 2. 1: Sơ đồ khối chức năng của thiết bị ……………………………………………………………9
Hình 2. 2: Hình ảnh thực tế và sơ đồ chân của VĐK .............................................................................. 11
Hình 2. 3: Hình ảnh thực tế và sơ đồ chân ESP8266 .............................................................................. 12
Hình 2. 4: Hình ảnh thực tế màn hình LCD 1602 ................................................................................... 13
Hình 2. 5: Hình ảnh thực tế và sơ đồ chân của rơ-le .............................................................................. 14
Hình 2. 6: Mạch nguyên lý khối relay ..................................................................................................... 14
Hình 2. 7: Hình ảnh thực tế và sơ đồ chân của AS608 ........................................................................... 16
Hình 2. 8: Hình ảnh thực tế chốt điện tử ................................................................................................. 16
Hình 2. 9: Sơ đồ khối của nguồn xung .................................................................................................... 17
Hình 2. 10: Sơ đồ khối nguồn tuyến tính ................................................................................................. 18
Hình 2. 11: Sơ đồ chân IC ổn áp LM7805 .............................................................................................. 19
Hình 2. 12: Sơ đồ nguyên lý mạch nguồn cung cấp ................................................................................ 20
Hình 2. 13: Sơ đồ ghép nối pin ................................................................................................................ 21
Hình 2. 14: Mạch chuyển đổi nguồn tự động .......................................................................................... 25
Hình 2. 15: Mạch chuyển nguồn dùng diode........................................................................................... 26
Hình 2. 16: Hình ảnh thực tế và sơ đồ chân của IC AT24C64................................................................ 27
Hình 2. 17: Truyền dữ liệu song song ..................................................................................................... 28
Hình 2. 18: Khung truyền dữ liệu qua UART .......................................................................................... 29
Hình 2. 19: Kết nối phần cứng trong truyền thông nối tiếp UART ......................................................... 30
Hình 2. 20: Hệ thống các ngoại vi sử dụng chuẩn I2C ........................................................................... 31
Hình 2. 21: Khung truyền dữ liệu khi Master muốn gửi dữ liệu cho Slave ............................................. 32
Hình 2. 22: Khung truyền dữ liệu khi Master muốn đọc dữ liệu từ Slave ............................................... 33
Hình 2. 23: Tín hiệu của điều kiện bắt đầu và điều kiện kết thúc ........................................................... 33
Hình 2. 24: Sơ đồ nguyên lý mạch điều khiển ......................................................................................... 35
Hình 2. 25: Hình ảnh PCB mạch điều khiển ........................................................................................... 36
Hình 2. 26: 3D view mạch điều khiển ..................................................................................................... 36
Hình 2. 27: Lưu đồ thuật toán của chương trình chính........................................................................... 37
Hình 2. 28: Hiện tượng nhiễu khi bấm phím ........................................................................................... 40
Hình 2. 29: Thuật toán kiểm tra vân tay ................................................................................................. 45
Hình 2. 30: Lưu đồ thuật toán thực hiện quá trình nhập vân tay mới..................................................... 46
Hình 2. 31: Ví dụ gói tin HTTP Request ................................................................................................. 50
Hình 2. 32: Ví dụ gói tin HTTP response ................................................................................................ 51
Hình 2. 33: Lưu đồ thuật toán chương trình truyền nhận dữ liệu qua wifi ............................................. 52
Hình 3. 1: Hình ảnh thiết bị của khóa thông minh……………………………………………………...55
Hình 3. 2: Truyền lịch sử hoạt động của khóa lên Google Sheets .......................................................... 55
1
DANH MỤC BẢNG BIỂU
Bảng 1: Sơ đồ chân của màn hình LCD1602 .......................................................................................... 13
Bảng 2: Mức tiêu thụ điện của các linh kiện chính ................................................................................. 27
Bảng 3: Các file, hàm được sử dụng trong chương trình chính và chức năng của chúng ...................... 39
Bảng 4: Các file, hàm được sử dụng trong chương trình truyền nhận dữ liệu ....................................... 53
2
LỜI NÓI ĐẦU
Trong những năm gần đây, sự phát triển về khoa học kỹ thuật đặc biệt là cuộc cách mạng 4.0
đang được đẩy mạnh trên thế giới. Trong đó nổi bật là mạng lưới vạn vât kết nối internet IoT
(Internet of Things). IoT sẽ giúp đời sống của con người càng ngày càng hiện đại và tiện lợi
hơn.
Hiện nay công nghệ nước ta được đánh giá là đang bước đầu bắt kịp với cuộc cách mạng
công nghệ 4.0 của thế giới. Đất nước ta đang phát triển nhưng còn khó khăn chưa đáp ứng điều
kiện tốt nhất cho việc học tập và nghiên cứu của sinh viên, điều này cũng chính là động lực cho
chúng ta có những sáng tạo mới, ý tưởng mới giúp cho việc học của mình và bạn bè được tốt
hơn. Những lần làm đồ án chính là lúc mà chúng ta được phát huy trí sáng tạo của mình. Chính
vì vậy trong lần làm đồ án, dưới sự hướng dẫn nhiệt tình của giáo viên hướng dẫn TS Lê Minh
Thùy, chúng em đã hoàn thành đề tài “Đề tài: Thiết kế thiết bị khóa cửa điện tử thông minh”
đúng thời gian.
Với trình độ và thời gian còn nhiều hạn chế, chúng em đã cố gắng nhưng không tránh khỏi
những thiếu sót, mong quý thầy cô và bạn bè đóng góp ý kiến để đề tài ngày càng hoàn thiện.
Nhóm chúng em xin gửi lời cảm ơn chân thành và sâu sắc nhất đến cô Lê Minh Thùy cùng các
anh chị trong lab RF3I đã nhiệt tình hướng dẫn chúng em đồ án này. Những kiến thức này sẽ là
hành trang cho chúng em trong quá trình học tập và làm việc ở trường cũng như khi tốt nghiệp.
Chúng em xin chân thành cảm ơn!
Hà Nội, ngày 23 tháng 6 năm 2021
Nhóm sinh viên thực hiện
3
PHÂN CÔNG NHIỆM VỤ CÁC THÀNH VIÊN TRONG NHÓM
• Phần mềm:
-
Trương Văn Huy: lập trình các tính năng của khoá, xây dựng các thư viện ngoại vi, xây
dựng lưu đồ thuật toán và lập trình điều khiển cảm biến vân tay.
-
Trịnh Tiến Việt: lập trình các tính năng của khoá, xây dựng các thư viện ngoại vi, xây
dựng lưu đồ thuật toán và lập trình cho ESP8266 gửi dữ liệu lịch sử hoạt động của khóa
lên Google Sheets.
• Phần cứng:
-
Võ Thái Linh: xây dựng bộ nguồn chính, mạch relay để điều khiển việc đóng cắt cho
khoá cửa, thiết kế và làm mạch PCB.
-
Nguyễn Công Anh Tuấn: Thiết kế bộ nguồn dự phòng và mạch chuyển nguồn khi mất
điện.
4
CHƯƠNG I – TỔNG QUAN ĐỀ TÀI
1.1 ĐẶT VẤN ĐỀ
Nhà thông minh là một xu thế mới trong cuộc sống hiện đại. Mọi đồ vật trong nhà từ phòng
ngủ, phòng khách đến toilet đều được gắn các bộ điều khiển điện tử có thể kết nối internet và
điện thoại di động, cho phép chủ nhân điều khiển vật dụng từ xa hoặc thiết lập cho các thiết bị
ở nhà tự động hoạt động theo ý mình.
Hình 1. 1: Mô hình nhà thông minh
Một căn nhà thông minh phải “thông minh” ngay từ thềm cửa. Một chiếc khóa cửa thông
minh ngoài việc đảm bảo an toàn cho căn nhà thì nó còn được trang bị những tính năng vượt
trội như mở khóa bằng vân tay, thẻ từ, qua app. Bên cạnh đó, việc phải mang thìa khóa, nguy
cơ đánh mất nó hay thậm chí các ổ khóa thông thường dễ dàng bị phá … Nhận thấy sự quan
trọng cũng như không kém phần thú vị của thiết bị, chúng em đã quyết định lựa chọn nghiên
cứu đề tài: “Thiết kế khóa cửa điện tử thông minh” cho lần thực hiện đồ án 1 này.
5
1.2 CÁC THIẾT BỊ KHÓA CỬA ĐIỆN TỬ THÔNG MINH THÔNG DỤNG
Tại Việt Nam, không khó để tìm mua cho mình một thiết bị khóa cửa điện tử thông minh.
Sau đây là các loại khóa cửa phổ biến trên thị trường mà chúng em đã tìm hiểu được:
1.2.1 Khóa cửa Kitos
Đa dạng tính năng mở khóa thông minh với các phương thức mở như vân tay, thẻ từ, mã số,
chìa cơ truyền thống. Ở những model cao cấp khóa cửa Kitos còn được trang bị tính năng điều
khiển từ xa qua điện thoại ( smartphone ), Bluetooth . Các model của thương hiệu Kitos còn có
tích hợp chuông hình ngay trên khóa rất tiện lợi.
Hình 1. 2: Khóa cửa Kitos
1.2.2 Khóa cửa Unicor.
Có khả năng cảm biến nhiệt khi sự cố cháy nổ xảy ra, tích hợp nhận dạng vân tay kết hợp dò
hồng ngoại, lấy tế bào da chết đảm bảo tính an toàn, bảo mật.
Tích hợp thông minh: loại khóa này còn được biết đến là dòng khóa cửa thông minh
smartphone bởi bạn hoàn toàn có thể tích hợp tính năng mở khóa cửa bằng điện thoại thông
minh nhờ phần mềm Bluetooth.
6
Hình 1. 3: Khóa cửa Unicor
1.2.3 Khóa cửa Samsung
Tốc độ xử lý nhanh, xác nhận vân tay trong vài giây, có loại tích hợp khả năng đóng cửa tự
động rất hiện đại, có còi báo hiệu khi có xác tác động mạnh nào đó từ ngoài vào. Samsung
cũng có thiết kế khóa cửa thông minh mở bằng điện thoại rất hiện đại, rất tiện lợi giúp người sử
dụng có thể điều khiển, mở khóa cửa từ xa thông qua hệ thống phần mềm.
Hình 1. 4: Khóa cửa Samsung
7
1.3 KẾT LUẬN CHƯƠNG I
Trên đây chúng em đã giới thiệu sơ bộ về thiết bị khóa cửa điện tử thông minh cũng như các
loại khóa đang phổ biến trên thị trường. Hi vọng chương đầu tiên này đã đem lại cho độc giả
những cái nhìn tống quan và những hiểu biết cơ bản về thiết bị mà nhóm em muốn xây dựng.
Tiếp theo chương 1, sau đây nhóm em sẽ trình bày chi tiết về những yêu cầu đặt ra và phương
pháp thiết kế chi tiết cho thiết bị của mình.
8
CHƯƠNG II – THIẾT KẾ THIẾT BỊ KHÓA CỬA ĐIỆN TỬ THÔNG
MINH
2.1 CHỈ TIÊU THIẾT KẾ
Nhóm chúng em hy vọng sẽ thiết kế được thiết bị đạt kết quả sau:
✓ Thiết bị đảm bảo độ tin cậy về mặt bảo mật
✓ Thiết bị có thể truyền lịch sử hoạt động của khóa ( tiến tới đóng mở từ xa bằng các thiết
bị điều khiển, thông qua Internet)
✓ Thiết bị có thể đóng mở tại chỗ bằng KEYPAD, vân tay
✓ Có màn hình hiển thị các thông tin trạng thái
✓ Có nguồn dự phòng để khắc phục tình trạng mất điện.
2.2 SƠ ĐỒ CHỨC NĂNG
Hình 2. 1: Sơ đồ khối chức năng của thiết bị
Chức năng từng khối:
✓ Khối nguồn: cung cấp nguồn cho từng khối với các mức điện áp khác nhau, đam bảo
công suất tiêu thụ
✓ Khối xử lý trung tâm: Xử lí thông tin , điều khiển toàn bộ hệ thống
✓ Khối hiển thị: Hiển thị thông tin theo lệnh từ khối xử lý trung tâm
9
✓ Khối bàn phím: Điều khiển trạng thái đóng/mở bằng mật khẩu
✓ Khối cảm biến vân tay: Điều khiển trạng thái đóng/mở bằng vân tay
✓ Khối truyền nhận không dây: Truyền lịch sử hoạt động của khóa về máy chủ bằng
công nghệ Wi-Fi
✓ Khối rơ-le đóng cắt: Khối xử lý trung tâm truyền tín hiệu điều khiển đóng/mở rơ-le
bằng một dòng điện nhỏ, rơ-le sẽ truyền tín hiệu điều khiển đóng/mở khóa bằng một dòng
điện lớn hơn.
✓ Chốt điện tử: thiết bị khóa, được điều khiển đóng mở bằng dòng điện.
2.3. TÍNH TOÁN VÀ LỰA CHỌN THIẾT BỊ PHẦN CỨNG
2.3.1. Tính toán và lựa chọn khối xử lý trung tâm
Nhóm chúng em quyết định lựa chọn vi điều khiển 8051 vì trong môn học vi xử lý, bọn em
đã đang và sẽ được dạy về nó. Hiểu biết về 8051 cũng là tiền đề để bọn em có thể tìm hiểu các
dòng vi xử lý cao cấp hơn. Vi điều khiển được chọn là AT89S52 do hãng Atmel sản xuất.
Thông số kỹ thuật:
✓ Họ vi điều khiển 8 bit
✓ Điện áp cung cấp: 4-6V
✓ Tần số hoạt động : 24 Mhz
✓ Bộ nhớ : 8 Kb Flash, 256 Bytes SRAM
✓ Timer/Counter : 3 bộ 16 bit
✓ 32 chân I/O lập trình được
✓ 8 nguồn ngắt khác nhau
✓ Kiểu chân : PDIP40
✓ Hỗ trợ giao tiếp: UART
10
Hình 2. 2: Hình ảnh thực tế và sơ đồ chân của VĐK
2.3.2. Tính toán và lựa chọn khối truyền nhận không dây
Qua tìm hiểu một số module Wi-Fi có sẵn trên thị trường chúng em quyết định lựa chọn
module Wi-Fi ESP8266 vì giá thành rẻ, đạt đủ yêu cầu, làm việc ổn định, hỗ trợ các chuẩn giao
tiếp phù hợp.
Thông số kỹ thuật:
✓ MCU: ESP8266, vi điều khiển 32bit, tiết kiệm năng lượng
✓ Chuẩn điện áp hoạt động 5V.
✓ Giao tiếp với vi điều khiển dựa trên chuẩn truyền thông UART.
✓ Tốc độ Baurate lên tới 115200 (bit/s).
✓ Hỗ trợ chuẩn 802.11 b/g/n.
✓ Wifi 2.4 GHz, hỗ trợ WPA/WPA2.
✓ Hỗ trợ nhiều chuẩn bảo mật như OPEN, WEB, WPA_PSK, WPA2_PSK.
✓ Hỗ trợ 2 giao tiếp TCP và UDP.
✓ Số chân I/O: 11 (I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)
✓ Làm việc như các máy chủ có thể kết nối tới 5 máy con
11
Hình 2. 3: Hình ảnh thực tế và sơ đồ chân ESP8266
2.3.3. Tính toán và lựa chọn khối hiển thị
Với yêu cầu đơn giản chỉ là để hiển thị trạng thái của thiết bị, chúng em đã lựa chọn màn
hình LCD 1602. Màn hình text LCD1602 xanh dương sử dụng driver HD44780, có khả năng
hiển thị 2 dòng với mỗi dòng 16 ký tự, màn hình có độ bền cao, rất phổ biến.
Thông số kỹ thuật:
✓ Điện áp hoạt động: 5VDC
✓ Dòng điện tiêu thụ: 350uA - 600uA.
✓ Nhiệt độ hoạt động: -30°C đến 75°C.
✓ Kích thước 96 x 60 mm, chữ đen, nền xanh lá.
✓ Đèn Led nền có thể điều khiển bằng biến trở hoặc PWM.
✓ Có thể điều khiển bằng 6 chân tín hiệu.
✓ Hỗ trợ hiển thị bộ kí tự tiếng Anh và tiếng Nhật.
Mô tả
Giá trị
1
2
3
Ký
hiệu
VSS
VCC
VEE
GND
0V
5V
4
RS
Lựa chọn thanh ghi
Chân
Độ tương phản
12
RS=0 (mức thấp) chọn thanh ghi
lệnh
5
R/W
6
7
8
9
10
11
12
13
14
15
16
E
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
A
K
RS=1 (mức cao) chọn thanh ghi
dữ liệu
Chọn thanh ghi đọc/viết R/W=0 thanh ghi viết
dữ liệu
R/W=1 thanh ghi đọc
Enable
Chân truyền dữ liệu
8 bit: DB0DB7
Cực dương led nền
Cực âm led nền
0V đến 5V
0V
Bảng 1: Sơ đồ chân của màn hình LCD1602
Hình 2. 4: Hình ảnh thực tế màn hình LCD 1602
2.3.4. Tính toán và lựa chọn khối bàn phím
Chúng em lựa chọn bàn phím 4x4 do hãng Import sản xuất với ưu điểm mỏng, nhỏ gọn, dễ
dàng lắp đặt.
Thông số kỹ thuật:
✓ Độ dài cáp: 88mm.
✓ Nhiệt độ hoạt động 0 ~ 70oC.
✓ Đầu nối ra 7 chân.
✓ Kích thước bàn phím 76.9 x 69.2 mm
13
2.3.5. Tính toán và lựa chọn khối rơ-le đóng cắt
Để đảm bảo yêu cầu đóng cắt nhanh và chính xác của thiết bị, chúng em thiết kế khối relay
dựa trên nguyên lí của các module có sẵn trên thị trường đã được kiểm nghiệm.
Hình 2. 5: Hình ảnh thực tế và sơ đồ chân của rơ-le
Hình 2. 6: Mạch nguyên lý khối relay
Khối relay có sử dụng
• OPTO PC817 để cách li chip và relay, đảm bảo chip hoạt động ổn định, an toàn.
• Diode chống ngược dòng: 1N4001 1A 50V
• Transistor C1815 NPN 0.15 50V (Tính toán: Ib=0.167A, Ic=0.05A => tranz làm
việc ở chế độ bão hòa)
• Relay 5V10A (dòng làm việc thực tế = 0.05A)
2.3.6. Tính toán và lựa chọn khối cảm biến vân tay
Qua tìm hiểu các sản phẩm có sẵn trên thị trường, chúng em quyết định lựa chọn cảm biên
vân tay AS608 vì ưu điểm nhận diện nhanh chóng , chính xác, giá thành rẻ…Cảm biến nhận
14
dạng vân tay AS608 Fingerprint Sensor sử dụng giao tiếp UART TTL hoặc USB để giao tiếp
với Vi điều khiển hoặc kết nối trực tiếp với máy tính (thông qua mạch chuyển USB - UART
hoặc giao tiếp USB).
Thông số kĩ thuật:
✓ Điện áp sử dụng: 5VDC
✓ Dòng tiêu thụ: 30~60mA, trung bình 40mA
✓ Kiểu kết nối: USB /UART
✓ Tốc độ Baudrate UART: 9600 x N (N từ 1~12), mặc định N=6 baudrate = 57600,8,1.
✓ Kiểu kết nối USB: 2.0
✓ Độ phân giải (pixel): 256 x 288 pixels
✓ Thời gian xử lý hình ảnh (s): <0.4s
✓ Thời gian lên nguồn (s): <0.1s (Module này cần 0.1s khởi động sau khi lên nguồn)
✓ Thời gian tìm kiếm (s): <0.3s
✓ Dung lượng bộ nhớ vân tay 300 (ID: 0 ~ 299)
Sơ đồ chân:
1. V+: chân cấp nguồn chính VCC 5VDC cho cảm biến hoạt động.
2. Tx: Chân giao tiếp UART TTL TX
3. Rx: Chân giao tiếp UART TTL RX
4. GND: Chân cấp nguồn GND (Mass / 0VDC)
5. TCH: Chân Output của cảm biến chạm Touch, khi chạm tay vào cảm biến chân này sẽ
xuất ra mức cao High, để sử dụng tính năng này cần cấp nguồn 3.3VDC cho chân Va
6. VA: Chân cấp nguồn 5VDC cho Touch Sensor.
7. U+: Chân tín hiệu USB D+
8. U-: Chân tín hiệu USB DĐể giao tiếp UART ta cần sử dụng các chân:
1. V+: Cấp nguồn 5VDC
2. Tx: nối với RX của Vi điều kiển (mức TTL từ 3.3~5VDC)
3. Rx: nối với TX của Vi điều kiển (mức TTL từ 3.3~5VDC)
4. GND: Cấp nguồn GND (Mass chung)
15
Hình 2. 7: Hình ảnh thực tế và sơ đồ chân của AS608
2.3.7. Tính toán và lựa chọn chốt khóa cửa
Thiết bị cần đảm bảo yêu cầu kỹ thuật về cơ khí và điện tử, chúng em lựa chọn khóa điện từ
12V được kích mở đóng bằng điện.
Thông số kỹ thuật:
✓ Hình thức cung cấp nguồn: Gián đoạn
✓ Thời gian mở khóa: 0.5 giây
✓ Dòng điện đầu vào: 0.4A; DC 10 - 12V
✓ Kích thước xấp xỉ: Chiều dài - 27mm; Chiều rộng - 15mm; Chiều cao - 17mm; Chiều
dài lưỡi - 7mm; Chiều cao lưỡi - 10mm
✓ Chiều dài cáp: 120mm
Hình 2. 8: Hình ảnh thực tế chốt điện tử
16
2.3.8. Thiết kế khối nguồn
2.3.8.1 Lựa chọn mạch nguồn
Theo tìm hiểu thì chúng em biết được hiện nay có hai loại nguồn thông dụng, đó là
nguồn xung và nguồn tuyến tính. Vậy đặc điểm của hai loại nguồn này là gì và chúng có ưu
nhược điểm như thế nào? Câu trả lời sẽ được chúng em trình bày ngay sau đây.
❖ Nguồn xung
Hình 2. 9: Sơ đồ khối của nguồn xung
- Nguồn xung là bộ nguồn có tác dụng biến đổi từ nguồn điện xoay chiều sang nguồn
điện một chiều bằng chế độ dao động xung tạo bằng mạch điện tử kết hợp với một biến áp
xung.
- Ưu điểm:
✓ Kích thước nhỏ gọn và nhẹ.
✓ Hiệu suất cao hơn và ít nóng.
✓ Điều chỉnh tốt hơn.
✓ Biên độ điện áp vào lớn.
✓ Giá thành rẻ.
- Nhược điểm:
✓ Khi xuất hiện lỗi nó có thể làm rất nhiều linh kiện bị lỗi.
Một số linh kiện thay thế rất đắt tiền và khó mua được trên thị trường ví dụ như Mosfet,ic
nguồn và biến áp xung.
✓ Nhiễu cao tần phát ra từ biến áp xung có thể làm nhiều vấn đề bị gián đoạn.
17
✓ Chế tạo đòi hỏi kĩ thuật cao , thiết kế phức tạp ,việc sửa chữa khó khăn cho người
mới học.
❖ Nguồn tuyến tính
Hình 2. 10: Sơ đồ khối nguồn tuyến tính
- Nguồn tuyến tính là mạch điện biến đổi điện áp xoay chiều thành điện áp một chiều ở
tần số thấp thông thường chủ yếu là ở 50hz sau đó được lọc phẳng trên tụ điện và được khống
chế thành điện áp cố định để cấp cho tải
- Ưu điểm: Đơn giản ,dễ lắp ráp ,dễ sửa chữa và điều chỉnh.
- Nhược điểm:
✓ Đối với tải có công suất lớn yêu cầu biến áp có công suất lớn dẫn đến cồng kềnh ,giá
thành cao va từ trường tản do biến áp gây ra ảnh hưởng đến mạch điện tử.
✓ Mạch ổn áp phải nối tiếp với tải và làm việc cùng tải . Với tải ăn dòng lớn thì ổn áp
cũng phải làm viêc với dòng lớn dẫn đến phần tử ổn áp nóng nhiều ,tản nhiệt phải lớn dẫn
đến cồng kềnh ,đắt tiền, tuổi thọ của ổn áp thấp ( không mong muốn ).
✓ Giải ổn áp hẹp, độ ổn định không cao , điện trở trong của nguồn lớn .
Do tay nghề chưa cao và thiết bị khóa cửa của chúng em có công suất không quá lớn nên
chúng em chọn triển khai mạch nguồn tuyến tính.
18
2.3.8.2 Thiết kế mạch nguồn
❖ Khối biến áp và khối chỉnh lưu: biến dòng điện ( điện áp ) xoay chiều thành dòng
điện ( điện áp ) một chiều để cấp cho mạch điện tử . Ở đây chúng em lựa chọn dùng adapter
loại 12V-1A.
❖ Khối lọc: Khối này bọn em sử dụng một tụ hóa để lọc phẳng điện áp một chiều để
cấp cho tải, tụ gốm để lọc nhiễu xoay chiều . Giá trị điện dung càng cao thì lọc càng phẳng.
Tuy nhiên do đã sử dụng adapter nên phần lọc này cũng không quan trọng l.
❖ Khối ổn áp: có nhiệm vụ tạo điện áp cố định để cấp cho tải vì trong nhiều trường
hợp điện áp AC của chúng ta trong thực tế có thể biến đổi do đó dẫn đến mạch bị biến đổi điện
áp nếu không có mạch tạo điện áp cố định thì trong nhiều trường hợp có thể gây hỏng tải đằng
sau. Thiết bị của chúng em chỉ cần nguồn 5V do đó chúng em chọn IC LM7805-1A.
Hình 2. 11: Sơ đồ chân IC ổn áp LM7805
IC ổn áp LM7805 thuộc họ IC ổn áp dương LM78xx. IC LM7805 cho đầu ra điện áp ổn
định ở 5VDC (độ nhấp nhô điện áp ≤ 25 mV), với điện áp đầu vào lớn nhất là 35 VDC, khả
năng chịu tải dòng điện đầu ra có thể lên tới 1.5 A, dòng điện tĩnh nhỏ (Iq ≤ 6 mA). Ngoài ra IC
LM7805 còn hỗ trợ bảo vệ quá nhiệt, bảo vệ ngắn mạch.
Hiệu suất của IC Lm7805 được tính như sau:
=
Pout
Vo I o
Vo I o
V
=

= o
Pout + Ploss VoI o + (Vi − Vo )( I o + I q ) Vo I o + (Vi − Vo ) I o Vi
Từ công thức trên ta thấy hiệu suất của LM7805 không cao, với đầu ra 5V IC yêu cầu điện
áo đầu vào thấp nhất để hoạt động ổn định là 7V (hiệu suất đạt 71%), tuy nhiên do sử dụng
thêm nguồn dự phòng nên điện áp đầu vào ta cần sử dụng cao hơn (nếu đầu vào là 12 V thì
hiệu suất đạt 42%) nên hiệu suất của IC sẽ thấp. Ngoài ra do hiệu suất thấp nên IC LM7805
trong quá trình hoạt động rất nhanh nóng, yêu cầu cần có tản nhiệt.
19
Sơ đồ nguyên lý mạch khối nguồn cung cấp
Hình 2. 12: Sơ đồ nguyên lý mạch nguồn cung cấp
Để đảm bảo thiết bị hoạt động ổn định, bảo vệ chip khỏi nhiễu từ relay, mạch dùng 2 IC
LM7805 để cho ra 2 nguồn 5V khác nhau:
-
VCCR để cấp cho Relay 5V trong khối relay
-
VCC để cấp cho chip hoạt động
2.3.8.3 Tính toán các thông số cần thiết để lựa chọn nguồn
20
2.3.9 Thiết kế mạch nguồn dự phòng
2.3.9.1 Lựa chọn nguồn dự phòng
Với yêu cầu nguồn pin dự phòng có thể sạc được, chúng em lựa chọn pin Lithium 18650.
Với nguồn 12V chúng em mắc 3 viên pin 3.7V nối tiếp và để đảm bảo việc sạc xả của pin diễn
ra an toàn chúng em mắc thêm một mạch bảo vệ pin loại 12V-10A.
Hình 2. 13: Sơ đồ ghép nối pin
Thông số kỹ thuật của mạch bảo vệ pin pin:
• Dòng xả tối đa: 10A
• Điện áp sạc tối đa: 4.25-4.35V±0.05V
• Điện áp xả tối thiếu: 2.3-3.0V±0.05V
• Điện áp hoạt động tối đa: 6A-8A
• Dòng điện quá độ: 9A-10A
• Nhiệt độ hoạt động: -40~50℃
• Nhiệt độ phòng chứa: -40~80℃
• Dòng điện tĩnh: <30uA
• Nội trở: <100mΩ
• Tuổi đời: >30000 tiếng
• Điện áp sạc: 12.6-13V
21
Chức năng các cổng:
Chân số Ký hiệu
1
COP
2
VMP
3
DOP
4
VINI
5
CDT
6
CCT
7
VSS
8
9
10
SEL
11
CTL
12
VC4
13
VC3
14
VC2
15
VC1
16
VDD
Chức năng
Chân kết nối cổng FET để điều khiển sạc
Chân để phát hiện điện áp giữa VC1 và VMP
Chân kết nối cổng FET để điều khiển xả
Chân để phát hiện điện áp giữa VSS và VINI (Chân để phát hiện quá dòng 1,2)
Chân kết nối tụ điện để trì hoãn phát hiện quá tải, trì hoãn phát hiện quá dòng 1
Chân kết nối tụ điện để làm chậm trễ dòng điện quá tải
Chân đầu vào cho nguồn điện âm, kết nối cho điện áp âm của pin 4
Pin để chuyển đổi ô 3-series hoặc 4-series
Kiểm soát FET sạc và FET xả
Chân kết nối cho điện áp âm của pin 3 và điện áp dương của pin 4
Chân kết nối cho điện áp âm của pin 2 và điện áp dương của pin 3
Chân kết nối cho điện áp âm của pin 1 và điện áp dương của pin 2
Chân kết nối cho điện áp dương của pin 1
Chân đầu vào cho nguồn điện tích cực, kết nối cho điện áp dương của pin 1
22
Một số thông số cơ bản của mạch:
23
Nguyên lý hoạt động của mạch bảo vệ pin:
• Trạng thái bình thường: Khi điện áp của mỗi pin nằm trong khoảng cho phép(2.3V4.3V) và dòng xả nhỏ hơn giá trị quy định (VIOV1 <VINI <VIOV2 và VMP >VIO3) thì các
MOSFET sạc và xả được mở, pin sạc xả bình thường.
• Trạng thái sạc quá mức: Khi điện áp của một trong các pin vượt qúa giá trị VCUN và
trạng thái như vậy được duy trì trong tCU hoặc lâu hơn, chân COP sẽ được thả
nổi. Chân COP được kéo lên điện áp chân EB+ bởi điện trở bên ngoài RCOP , và MOSFET sạc
tắt để ngừng sạc. Tụ điện kết nối với chân CCT để tạo thời gian phát hiện quá tải(tCU). Trạng
thái này sẽ được giải phóng khi:
1. Điện áp mỗi pin <= VCLn.
2. Điện áp mỗi pin <=VCUn và VMP<= (39/40)*VDD.
• Trạng thái xả quá mức: Khi điện áp của một trong các pin trở nên thấp hơn VDLn và
trạng thái như vậy được duy trì trong tDL (tDL là thời gian cần thiết để chân DOP thay đổi từ
mức cao xuống thấp) hoặc lâu hơn, điện áp của chân DOP nhận giá trị của VDD và MOSFET
xả ngừng dẫn để ngừng xả. Tụ điện kết nối với chân CDT để tạo thời gian phát hiện phóng điện
quá mức(tDL). Trạng thái này sẽ được giải phóng khi:
1. Trong trường hợp VDD/2<=VMP<VDD thì điện áp mỗi pin phải => VDun.
2. Trong trường hợp sạc được kết nối, thời gian ngừng xả kết thúc thì điện áp mỗi pin
>=VDLn.
• Trạng thái quá dòng: S-8254A Series có ba mức phát hiện quá dòng (VIOV1, VIOV2 và
VIOV3) và ba thời gian trễ phát hiện quá dòng (tIOV1, tIOV2 và tIOV3) tương ứng với mỗi mức phát
hiện quá dòng. Khi dòng xả trở nên cao hơn giá trị được chỉ định (điện áp giữa VSS và VINI
lớn hơn VIOV1) và trạng thái như vậy tiếp tục trong tIOV1 hoặc lâu hơn, S-8254A Series sẽ
chuyển sang trạng thái quá dòng, khi đó điện áp chân DOP trở thành mức VDD để tắt FET
đang xả để ngừng xả, chân COP sẽ bị thả nổi và được kéo lên đến điện áp chân EB + để tắt
FET sạc để ngừng sạc, và chân VMP được kéo lên đến điện áp VDD bởi điện trở bên trong
(RVMD).
1. Trạng thái quá dòng được giải phóng khi điện áp chân VMP bằng VIOV3 hoặc cao hơn
do bộ sạc được kết nối hoặc tải (30 MΩ trở lên) được giải phóng.
24
2.3.9.2 Tính toán thời gian sạc pin và thời gian sử dụng pin
❖ Thời gian sạc pin
Sau khi đo dòng ra của Adapter được 0.92A, bọn em tính được thời gian sạc đầy nguồn pin
dự phòng khi pin đã được xả cạn như sau:
tsac =
dung luong pin 1.2
=
= 1.3(h)
dong sac
0.92
❖ Thời gian sử dụng pin
Sau khi đo tổng dòng ra của các linh kiện trong thiết bị được 0.28A (thiết bị ở trạng thái
chờ, khóa không đóng mở), bọn em tính được thời gian sử dụng của thiết bị khi mất điện như
sau:
tsu dung =
dung luong pin 1.2
=
= 4.3(h)
I linh kien
0.28
2.3.9.3 Thiết kế mạch chuyển nguồn tự động
Để đảm bảo khi mất điện, việc chuyển sang nguồn dự phòng diễn ra một cách tự động và trơn
tru, chúng em đã thiết kế mạch chuyển nguồn tự động dung relay hai cặp tiếp điểm như sau:
Hình 2. 14: Mạch chuyển đổi nguồn tự động
25
Nguyên lý hoạt động: Khi có điện thì do có dòng điện chạy qua nên nam châm điện sẽ hút
tiếp điểm về phía nguồn chính. Khi mất điện lò xo sẽ đẩy tiếp điểm về phía nguồn phụ. Ở đầu
ra mắc thêm một tụ điện để tránh tình trạng khi chuyển mạch sẽ bị reset VĐK, mắc thêm diode
để tránh tình trạng dòng từ tụ chạy về phía nguồn.
Ngoài ra sau khi được các anh chị lab RF3I góp ý thì bọn em cũng đã thiết kế được một
mạch chuyển nguồn khi mất điện khác đơn giản hơn, dùng diode như sau:
Hình 2. 15: Mạch chuyển nguồn dùng diode
Nguyên lý hoạt động khá đơn giản: Khi có điện, do điện áp từ adapter là 12V qua diode D2
bị sụt áp chút ít (nếu dùng diode shot-ky thì sụt áp ít hơn), nhưng vẫn đủ để khóa diode D1 lại.
Khi mất điện mạch sử dụng nguồn pin dự phòng, mắc thêm tụ để tránh reset VĐK khi chuyển
mạch.
2.3.10 Lưu trữ dữ liệu phòng khi vi điều khiển bị tắt
Do giữ liệu ram trên vi điều khiển sẽ bị mất khi bị reset hoặc mất điện nên bọn em sử dụng
EEPROM để lưu dữ liệu ngoài để đề phòng những trường hợp như trên. Qua tìm hiểu chúng
em đã lựa chọn chip nhớ EEPROM AT24C64 có thông số kỹ thuật như sau:
✓ Dải điện áp: -0.3~6.3V
✓ Dải nhiệt độ: -40~85c
✓ Bộ nhớ nội: 64Kbit
✓ Điện áp ghim ở các chân tối đa: -0.3~Vcc+0.3V
✓ Công suất: 450*1mW
26
Hình 2. 16: Hình ảnh thực tế và sơ đồ chân của IC AT24C64
2.3.11 Tổng kết
Các linh kiện được chúng em sử dụng và tính toán sơ bộ công suất tiêu thụ dựa trên
datasheet của từng linh kiện:
STT
1
2
3
4
5
6
7
8
9
Linh kiện
AT89C52
ESP8266
LCD 1602
LM7805
Chốt điện tử
RELAY 5V
Bàn phím 3x4
Cảm biến vân tay AS608
Chip nhớ AT24C64
SL
1
1
1
1
1
1
1
1
1
Vcc(V)
5
5
5
5
12
5
5
5
Bảng 2: Các linh kiện chính của thiết bị khóa cửa.
27
2.4 GIAO TIẾP VỚI VI ĐIỀU KHIỂN 8051
Sau khi lựa chọn linh kiện phần cứng, câu hỏi được đặt ra là làm thế nào để kết nối chúng lại
với nhau. Để làm rõ hơn chúng ta sẽ tìm hiểu các giao thức truyền nhận dữ liệu đước VĐK
8051 hỗ trợ.
2.4.1 Truyền dữ liệu song song
Vi điều khiển 8051 lưu trữ và xử lý dữ liệu theo từng byte(8 bit). Bộ nhớ của nó bao gồm
các ô chứa dữ liệu theo dạng trên và được truy cập nhờ địa chỉ. Dữ liệu sẽ được cấp theo dạng
song song mỗi lần một byte, mỗi một bit có một đường dẫn riêng. Như vậy, truyền song song là
truyền từng byte. Trong thiết bị khóa cửa của chúng em, chỉ sử dụng giao thức này để giao tiếp
VĐK với màn hình LCD.
Hình 2. 17: Truyền dữ liệu song song
2.4.2 Truyền dữ liệu nối tiếp
Đối với truyền tin nối tiếp, chia ra hai kiểu truyền đó là truyền đồng bộ và truyền không
đồng bộ. Trong truyền tin nối tiếp đồng bộ, ngoại trừ dây truyền dữ liệu, cần phải có thêm một
dây có vai trò cấp xung clock cho cả 2 thiết bị (đồng bộ về xung clock).
❖ Giao tiếp UART
UART là viết tắt của Universal Asynchronous Receiver-Transmitte, là bộ truyền nhận nối
tiếp không đồng bộ. Trong truyền tin nối tiếp không đồng bộ, thiết bị thu và nhận không duy trì
chung một nhịp xung clock mà thay vào đó, dữ liệu sẽ được đóng gói vào các khung truyền
(frame) và sẽ cần quy định những thông số sau để 2 bên có thể truyền nhận dữ liệu một cách
chính xác. Cần lưu ý rằng UART ở đây nói đến phần cứng, không phải là một chuẩn giao tiếp.
28
Baud rate (tốc độ Baud): Để việc truyền và nhận không đồng bộ xảy ra thành công thì các
thiết bị tham gia phải “thống nhất” nhau về khoảng thời dành cho 1 bit truyền, hay nói cách
khác tốc độ truyền phải được cài đặt như nhau trước, tốc độ này gọi là tốc độ Baud. Theo định
nghĩa, tốc độ baud là số bit truyền trong 1 giây
Frame (khung truyền): Bên cạnh tốc độ baud, khung truyền là một yếu tốc quan trọng tạo
nên sự thành công khi truyền và nhận. Khung truyền bao gồm các quy định về số bit trong mỗi
lần truyền, các bit “báo” như bit Start và bit Stop, các bit kiểm tra như Parity, ngoài ra số lượng
các bit trong một data cũng được quy định bởi khung truyền. Hình 6.2 là một ví dụ của một
khung truyền theo UART, khung truyền này được bắt đầu bằng một start bit, tiếp theo là 8 bits
data (LSM được gửi trước, MSB gửi cuối cùng) sau đó là 1bit parity dùng kiểm tra dữ liệu và
cuối cùng là 2 bits stop.
Hình 2. 18: Khung truyền dữ liệu qua UART
Start bit: Start là bit đầu tiên được truyền trong một frame truyền, bit này có chức năng báo
cho thiết bị nhận biết rằng có một gói dữ liệu sắp được truyền tới. nếu một chip 8051 muốn
thực hiện việc truyền dữ liệu nó sẽ gởi một bit start bằng cách “kéo” đường truyền xuống mức
0.
Data: Data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gởi và nhận. Data
không nhất thiết phải là gói 8 bit, ta có thể quy định số lượng bit của data là 8 hoặc 9. Trong
truyền thông nối tiếp UART, bit có ảnh hưởng nhỏ nhất (LSB – Least Significant Bit, bit bên
phải) của data sẽ được truyền trước và cuối cùng là bit có ảnh hưởng lớn nhất (MSB – Most
Significant Bit, bit bên trái).
29
Parity bit: Parity là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương đối). Có 2
loại parity là parity chẵn (even parity) và parity lẻ (odd parity). Parity chẵn nghĩa là số lượng số
1 trong dữ liệu bao gồm bit parity luôn là số chẵn. Ngược lại tổng số lượng các số 1 trong
parity lẻ luôn là số lẻ.
Stop bits: Stop bits là một hoặc các bit báo cho thiết bị nhận rằng một gói dữ liệu đã được
gởi xong. Sau khi nhận được stop bits, thiết bị nhận sẽ tiến hành kiểm tra khung truyền để đảm
bảo tính chính xác của dữ liệu. Stop bits là các bits bắt buộc xuất hiện trong khung truyền, mức
logic của stop bits sẽ ngược với mức logic của start bit.
Khung truyền dữ liệu phổ biến nhất, và cũng được sử dụng ở các ví dụ trong bài học này, đó
là khung truyền gồm: [1 Start bit] + [8 Data bits] + [1 Stop bit]
Để giao tiếp giữa 2 VĐK với nhau hoặc giữa VĐK với máy tính ta cần kết nối qua 3 đường
dây, gồm có GND (đất chung), TX (Transmit) và RX (Receive). Nguyên tắc kết nối giữa 2
thiết bị để có thể truyền nhận được thông tin đó là nối chéo nhau: TX của thiết bị này nối với
RX của thiết bị kia và RX của thiết bị này nối với TX của thiết bị kia, xem hình 6.3
Hình 2. 19: Kết nối phần cứng trong truyền thông nối tiếp UART
Trong thiết bị khóa cửa của chúng em, UART được sử dụng để giao tiếp vi điều khiển với
các linh kiện: ESP8266, cảm biến vân tay AS608.
❖ Giao thức I2C
I2C là viết tắt của "Inter-Integrated Circuit", một chuẩn giao tiếp nhằm đơn giản hóa việc
trao đổi dữ liệu giữa các ICs. Đôi khi nó cũng được gọi là Two Wire Interface (TWI) vì chỉ sử
dụng 2 kết nối để truyền tải dữ liệu, 2 kết nối của giao tiếp I2C gồm: SDA (Serial Data Line)
và SCL (Serial Clock Line).
30
Hình 2. 20: Hệ thống các ngoại vi sử dụng chuẩn I2C
Các thiết bị kết nối với bus I2C được phân thành hai loại: master và slave. Trong đó, master
sở hữu quyền kiểm soát để thực hiện đưa ra yêu cầu đến các slave, còn slave là một thiết bị đáp
ứng các yêu cầu từ master. Như hình minh họa ở trên, master thông thường là các vi điều
khiển, slave sẽ là các ngoại vi như cảm biến nhiệt độ, LCD driver, EEPROM,…
Tại một thời điểm chỉ có duy nhất một thiết bị master ở trạng thái hoạt động trên bus I2C.
master điều khiển bus clock SCL và quyết định hoạt động nào sẽ được thực hiện trên bus dữ
liệu SDA. Tất cả các thiết bị đáp ứng các yêu cầu từ thiết bị master này đều là slave. Để phân
biệt giữa nhiều thiết bị slave khi được kết nối với cùng một hệ thống bus I2C thì mỗi thiết bị
slave sẽ có một địa chỉ vật lý 7- bit cố định.
Khi một thiết bị master muốn truyền hoặc nhận dữ liệu từ một thiết bị slave, master sẽ xác
định địa chỉ thiết bị slave cụ thể trên đường SDA và sau đó tiến hành truyền dữ liệu. Tất cả các
thiết bị slave khác không gửi tín hiệu phản hồi về, trừ khi địa chỉ của chúng được chỉ định bởi
thiết bị master trên đường SDA.
Nguyên lý hoạt động
Trường hợp 1: Thiết bị master muốn gửi dữ liệu cho một thiết bị slave
•
Master thực hiện một điều kiện bắt đầu (START)
•
Master gửi địa chỉ của slave (Device Address) cần nhận dữ liệu và Bit cấu hình đọc ghi
dữ liệu (R/W) được gửi kèm có giá trị bằng 0 thể hiện hoạt động gửi dữ liệu.
•
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có slave hoạt động trên hệ thống bus
•
Master gửi địa chỉ thanh ghi của slave – địa chỉ mà master muốn ghi/bắt đầu ghi dữ liệu.
31
•
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có địa chỉ thanh thi, sẵn sàng nhận
dữ liệu
•
Master gửi các dữ liệu (Data) cần ghi vào thanh ghi cho slave, có thể một hoặc nhiều
byte.
•
Master thực hiện kết thúc việc truyền dữ liệu bằng một điều kiện kết thúc (STOP).
Hình 2. 21: Khung truyền dữ liệu khi Master muốn gửi dữ liệu cho Slave
Trường hợp 2: Thiết bị master muốn đọc dữ liệu từ một thiết bị slave
•
Master thực hiện một điều kiện bắt đầu (START)
•
Master gửi địa chỉ của slave (Device Address) cần nhận dữ liệu, theo kèm là bit cấu hình
đọc ghi dữ liệu (R/W) có giá trị bằng 0 thể hiện hoạt động gửi dữ liệu (bằng 0 để gửi
tiếp địa chỉ thanh ghi)
•
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có slave hoạt động trên hệ thống bus
•
Master gửi địa chỉ thanh ghi của Slave – địa chỉ mà master muốn ghi /bắt đầu ghi dữ
liệu.
•
Slave phản hồi bằng bit xác nhận (ACK), xác nhận có địa chỉ thanh ghi trên thiết bị
slave.
•
Master gửi lại điều kiện bắt đầu cùng với địa chỉ của thiết bị slave, theo sau đó là giá trị
1 của bit R/W thể hiện hoạt động đọc dữ liệu.
•
Slave phản hồi bằng bit xác nhận (ACK)
•
Master nhận dữ liệu từ slave, có thể một hoặc nhiều byte.
•
Master kết thúc việc nhận dữ liệu bằng cách thực hiện bit xác nhận (NACK) và theo sau
đó là một điều kiện kết thúc (STOP).
32
Hình 2. 22: Khung truyền dữ liệu khi Master muốn đọc dữ liệu từ Slave
Phân tích các thành phần trong khung truyền:
Điều kiện bắt đầu và điều kiện kết thúc (STAT, STOP)
Hình 2. 23: Tín hiệu của điều kiện bắt đầu và điều kiện kết thúc
Giao tiếp I2C được khởi tạo bằng cách master thực hiện điều kiện bắt đầu và kết thúc bằng
cách master thực hiện điều kiện kết thúc. Một sự chuyển đổi logic từ mức HIGH sang mức
LOW trên đường truyền SDA trong khi đường truyền SCL ở mức HIGH được định nghĩa là
một điều kiện bắt đầu. Một sự chuyển đổi mức logic từ mức LOW sang mức HIGH trên đường
truyền SDA trong khi đường SCL ở mức HIGH được định nghĩa là điều kiện kết thúc.
Các bit địa chỉ : Các bit địa chỉ giúp xác định, phân biệt các slave khác nhau trên hệ thống
bus I2C, các master phải có/ được cài đặt các địa chỉ khác nhau. Thông thường có 7 bit địa chỉ.
Bit địa chỉ được gửi kèm với bit cầu hình đọc/ghi dữ liệu.
Bit cấu hình đọc/ghi dữ liệu (R/W): Bit này xác định hướng truyền dữ liệu hay có thể
hiểu là thiết bị nào sẽ điều khiển đường SDA: Nếu master cần truyền dữ liệu đến Slave, bit
33
Read / Write được thiết lập mức logic HIGH. Ngược lại nếu master cần nhận dữ liệu từ Slave,
bit này được thiết lập mức logic LOW.
Bit xác nhận (ACK/NACK): Mỗi byte dữ liệu đều được xác nhận bởi một bit ACK từ phía
nhận dữ liệu gửi cho phía gửi dữ liệu để báo rằng byte đã được nhận thành công và có thể tiếp
tục gửi byte dữ liệu tiếp theo. Bit ACK có giá trị LOW. Khi nó có giá trị HIGH thì được gọi là
bit NACK, bit NACK được gửi đi trong một số trường hợp như:
• Phía nhận đang bận và không thể nhận hay truyền dữ liệu vì đang thực hiện một tính
năng khác.
• Trong quá trình truyền nhận, dữ liệu/địa chỉ không hợp lệ, không tồn tại.
• Trong quá trình truyền, phía nhận không thể nhận thêm các byte dữ liệu nữa.
• Trong trường hợp master yêu cầu dữ liệu từ slave, master đã nhận đủ và không nhận
thêm dữ liệu.
Các bit dữ liệu (Data): Dữ liệu được truyền tới các thiết bị slave hoặc được đọc từ các thiết
bị slave, bản chất của việc này chính là thực hiện đọc/ghi các thanh ghi trong thiết bị slave. Các
thanh ghi này nằm trong bộ nhớ của slave và được xác định, phân biệt bởi các địa chỉ, các
thanh ghi sẽ chứa thông tin, có thể là thông tin cấu hình hoạt động của thiết bị slave, có thể
thông tin dữ liệu mà slave có được trong quá trình hoạt động như dữ liệu lấy mẫu từ cảm biến.
Để điều khiển thiết bị slave thực hiện một nhiệm vụ chức nào đó, master cũng sẽ thực hiện việc
ghi vào thanh ghi của thiết bị slave.
Lặp lại điều kiện bắt đầu (Repeated Start): Việc thiết bị master thực hiện lặp lại điều
kiện bắt đầu cũng tương tự như việc master thực hiện điều kiện bắt đầu (START), lặp lại điều
kiện bắt đầu được sử dụng để thay thế cho việc thực hiện điều kiện STOP rồi thực hiện điều
kiện START. Lặp lại điều kiện bắt đầu được sử dụng trong trường hợp thiết bị master muốn
đọc dữ liệu từ thiết bị slave sau khi đã nhận các phản hồi về địa chỉ thiết bị slave và địa chỉ
thanh ghi muốn đọc dữ liệu.
Trong thiết bị khóa cửa của chúng em, giao thức I2C được sử dụng để giao tiếp vi điều
khiển với chip nhớ EEPROM.
34
2.5 THIẾT KẾ MẠCH ĐIỀU KHIỂN PHẦN CỨNG
Sơ đồ nguyên lý của thiết bị:
Hình 2. 24: Sơ đồ nguyên lý mạch điều khiển
35
Sơ đồ PCB của mạch điều khiển:
Hình 2. 25: Hình ảnh PCB mạch điều khiển
Hình 2. 26: 3D view mạch điều khiển
36
2.6 THIẾT KẾ CHƯƠNG TRÌNH ĐIỀU KHIỂN THIẾT BỊ
2.6.1 Chương trình chính
❖ Lưu đồ thuật toán
Hình 2. 27: Lưu đồ thuật toán của chương trình chính
37
❖ Chương trình nạp vào vi điều khiển được viết bằng ngôn ngữ C, được biên dịch qua
trình biên dịch KeilC. Dựa vào các hàm của hãng đã có sẵn, cũng như tham khảo trên mạng
Internet chúng em đã viết ra được các hàm sử dụng trong chương trình như sau:
Tên file
Tên hàm
Chức năng
Delay.h
void delay(unsigned int a);
void delay_sec(int a);
Tạo độ trễ ms
Tạo độ trễ để in
hình
Tạo trễ in dấu “.”
Tạo độ trễ us
eeprom_i2c.h
void delays(int a);
void
delay1(unsigned
d);
void InitI2c(void);
int
màn
Khởi tạo kết nối I2C
void I2C_start();
void RepeatedStartI2c();
Bắt
đầu
giao
tiếp
eeprom
Kết thúc giao tiếp
eeprom
Gửi start liên tục
void SendAckBit();
Gửi bit acknownledge(ACK)
void SendNackBit(void);
Gửi
bit
acknoledgement(NACK)
void I2C_stop();
Fingerprint.h
ra
với
với
Non-
unsigned
I2C_write(unsigned
dat);
char
char
Gửi kí tự ra kết nối i2c
unsigned
I2C_read(void);
char
Đọc kí tự từ i2c ở 1 vị trí
cụ thể
void
eeprom_write(unsigned
int
addr,unsigned
char
byte);
Ghi vào eeprom
unsigned
char
eeprom_read(unsigned
int
addr);
unsigned
char
get_confirm(unsigned
char
len,unsigned char sub);
Đọc từ eeprom
unsigned char GetFinger();
Hàm ra lệnh cho fingerprint
thu thập dấu vân tay
Chuyển đổi hình ảnh quét đc
thành kí tự
unsigned
char
Img2Tz(unsigned char ID);
unsigned char Regmodel();
unsigned
char
store(unsigned char ID);
unsigned char empty();
38
Lấy
byte
fingerprint
xác
nhận
từ
Ghi vân tay vừa quét được
thành mẫu
Lưu vân tay vào bộ nhớ
Xoá toàn bộ vân tay trong
unsigned
seachfinger();
char
unsigned char match();
unsigned
enroll_fingerprint();
int
void check_fingerprint();
void uart_int(void);
bộ nhớ
Tìm vân
vân tay
tay
trong
bộ
nhớ
Kiểm tra xem vân tay quét
lần 1 và lần 2 có trùng
khớp ko
Hàm quét thêm vân tay vào
bộ nhớ
Hàm kiểm tra vân tay có tồn
tại trong bộ nhớ không
Khởi tạo kết nối uart
unsigned char LEDoff();
lcdHD.h
keypad5.h
void
lcd_sendcmd(unsigned
char cmd);
Hàm gửi lệnh đến LCD
void lcd_puts(unsigned char
*str);
Gửi chuỗi ký tự lên LCD
void lcd_init();
Khởi tạo LCD
void lcd_clear();
Xóa màn hình
void lcd_goto(unsigned char
x, unsigned char y);
Điều khiển vị trí con trỏ
void
lcd_clrpr(unsigned
char *str);
void
lcd_prchar(unsigned
char c);
Xóa màn hình và gửi chuỗi
ký tự mới lên LCD
Gửi 1 ký tự lên LCD
unsigned char key_detect();
Quét bàn phím
Bảng 3: Các file, hàm được sử dụng trong chương trình chính và chức năng của chúng
39
2.6.2 Lập trình điều khiển Bàn phím 4x4
- Bởi vì phím vật lý nên sẽ có nhiễu trong quá trình bấm nên cần có phương pháp chống nhiễu
hiệu quả. Trong dự án này sẽ sử dụng phương pháp chỗng nhiều bằng phần mềm bằng cách tạo
trễ 20ms để bỏ qua phần tín hiệu nhiễu.
Hình 2. 28: Hiện tượng nhiễu khi bấm phím
A. Lưu đồ thuật toán
40
2.6.3 Lập trình điều khiển LCD 16x02
- Để có thể gửi dữ liệu sang cho LCD hiển thị thì trước tiên người dùng sẽ phải gửi lệnh khởi
tạo sang cho LCD. Trong dự án này thì sẽ sử dụng LCD trong chế độ 8 bit.
- Để ghi dữ liệu thì bit RS cần phải set lên 1.
- Bit RS cần phải set xuống 0 để có thể ghi lệnh.
Quá trình khởi tạo
41
Sau khi khởi tạo thì người dùng mới có thể bắt đầu ghi dữ liệu sang LCD
Một số tập lệnh người dùng có thể dùng để thiết lập LCD
2.6.4 Lập trình điều khiển khối vân tay
A. Cách thức khối vân tay hoạt động
42
Khi vân tay nhận được lệnh quét thì nó sẽ quét hình ảnh phản chiếu từ vân tay đến cảm biến
hình ảnh.
- Hình ảnh sau đó sẽ được mã hoá thành chuỗi kí tự và được lưu vào các bộ buffer để phục vụ
các mục đích của người dùng.
-Người dùng sau đó có thể gửi thêm các lệnh khác để điều khiển khối vân tay.
-
!!! Trước khi sử dụng khối vân tay, thì khối vân tay cần được kết nối với máy tính thông qua
giao tiếp Uart to USB để tinh chỉnh các thông số và đặc biệt là Baudrate phải khớp với cấu
hình của vi điều khiển. Nếu Baudrate không khớp thì thiết bị sẽ không hoạt động như
mong muốn.
Giao diện phần mềm tinh chỉnh khối vân tay của hãng:
!!Phải điều chỉnh Baudrate cho trùng khớp
43
Phần mềm này có thể được dùng để kiểm tra các hoạt động của vân tay xem liệu vân tay có bị
lỗi không.
B. Cách thức điều khiển khối vân tay
- Thông qua giao tiếp Uart, người dùng sẽ gửi khối lệnh điều khiển sang cho khối vân tay và
sau đó khối vân tay sẽ gửi khối lệnh nhận biết sang cho người dùng. Người dùng sẽ đọc thông
tin ở byte Confirmation để xác nhận xem lệnh của mình gửi sang đã được thực hiện thành công
chưa.
- Trong đó 0x00 là thông báo quá trình thực hiện thành công, còn các byte khác thì đều nghĩa là
có vấn đề đã xảy ra.
- Để việc nhận các khối dữ liệu được gửi từ vân tay được chính xác thì sẽ sử dụng chức
năng ngắt truyền nối tiếp.
Một số cấu trúc khối dữ liệu:
1. Cấu trúc để quét vân tay
2. Cấu trúc để tìm kiếm vân tay trong bộ nhớ
44
C. Thuật toán điều khiển
- Thuật toán để thực hiện quá trình kiểm tra vân tay:
Hình 2. 29: Thuật toán kiểm tra vân tay
45
- thuật toán để thực hiện quá trình nhập vân tay mới
Hình 2. 30: Lưu đồ thuật toán thực hiện quá trình nhập vân tay mới
46
2.6.5 Lập trình điều khiển EEPROM
- Eeprom sẽ được giao tiếp qua giao thức I2c nhưng vì 8051 không có sẵn giao thức này nên người
dùng sẽ phải lập trình phỏng theo quá trình gửi và nhận của giao tiếp I2C.
- Địa chỉ của EEPROM này sẽ là 0xA0.
A. Thuật toán ghi dữ liệu lên Eeprom
- Eeprom có 2 kiểu ghi dữ liệu đó là Ghi theo byte và Ghi theo trang nhưng trong dự án này sẽ chỉ sử
dụng kiểu ghi dữ liệu theo từng byte.
Quy trình gửi:
47
B. Thuật toán đọc dữ liệu từ EEPROM
- Eeprom có 3 kiểu đọc dữ liệu đó là đọc địa chỉ hiện tại, đọc ngầu nhiên và đọc theo chuỗi
nhưng theo mục tiêu của dự án này thì sẽ sử dụng quá trình đọc ngẫu nhiên.
Quy trình đọc:
48
2.6.6 Chương trình truyền nhận dữ liệu qua wifi
2.6.2.1 Giới thiệu giao thức http:
HTTP (Hyper Text Transfer Protocol) là một giao thức hoạt động theo mô hình ClientServer bằng cách thực hiện các quá trình request-response giữa các hệ thống máy tính khác
nhau. Giao thức HTTP quy định cấu trúc của các gói tin và cách thức truyền nhận dữ liệu giữa
client và server thông qua môi trường internet. Với khả năng truyền dẫn siêu văn bản, HTTP
hiện là nền tảng truyền dẫn dữ liệu của ứng dụng duyệt web hiện nay và được ứng dụng rất
nhiều trong các hệ thống Internet of Things.
❖ Mô hình giao thức
- HTTP client thiết lập một kết nối TCP đến server. Nếu thiết lập thành công, client và server sẽ
truyền nhận dữ liệu với nhau thông qua kết nối này, kết nối được thiết lập còn gọi là socket
interface bao gồm các thông tin: địa chỉ IP, loại giao thức giao vận (chính là TCP), và port
(mặc định là 80).
- Sau khi kết nối thành công, client gửi một HTTP request đến server thông qua socket
interface vừa được thiết lập. Trong gói tin request sẽ chứa đường dẫn yêu cầu (path name).
- Server sẽ nhận và xử lý request từ client thông qua socket, sau đó đóng gói dữ liệu tương ứng
và gửi một HTTP response về cho client. Dữ liệu trả vềsẽ là một file HTML chứa loại dữ liệu
khác nhau như văn bản, hình ảnh,…
- Server đóng kết nối TCP.
- Client nhận được dữ liệu phản hồi từ server và đóng kết nối TCP
❖ Format gói tin:
Trong suốt phiên làm việc HTTP như ở trên, có hai loại gói tin chính được trao đổi là gói tin
yêu cầu gửi từ client đến server gọi là “Request message” và gói tin phản hồi gửi từ server đến
client gọi là “Response message”. Hai loại gói tin này được giao thức HTTP định nghĩa rất cụ
thể:
➢ HTTP request message
Gồm 3 phần chính là: Request line, Header và Body. Dữ liệu được chia thành các dòng và
định dạng kết thúc dòng là <CR><LF> (tương ứng với các ký tự 0x0A,0x0D trong bảng mã
49
ASCII). Riêng dòng cuối cùng của gói tin sẽ được báo hiệu bằng 2 lần định dạng kết thúc:
<CR><LF><CR><LF>.
Hình 2. 31: Ví dụ gói tin HTTP Request
•
Request line là dòng đầu tiên của gói HTTP Request, bao gồm 3 trường: phương thức
(method), đường dẫn (path – có nhiều bài viết gọi là URL hoặc URI cho trường này) và
phiên phản giao thức (HTTP version).
o
Phương thức (method) có thể là: GET, POST, HEAD, PUT và DELETE. Hai
phương thức phổ biến nhất là GET và POST, trong ví dụ trên là phương thức
GET thường dùng để yêu cầu tài nguyên cung cấp trong trường URL.
o
Đường dẫn (path) dùng để định danh nguồn tài nguyên mà client yêu cầu, bắt
buộc phải có ít nhất là dấu “/”.
o
Phiên bản giao thức (HTTP version): là phiên bản HTTP client đang sử dụng
(thường là HTTP/1.0 hoặc HTTP/1.1)
•
Tiếp theo là các dòng Header, các dòng này là không bắt buộc, viết ở định dạng
“Name:Value” cho phép client gửi thêm các thông tin bổ sung về thông điệp HTTP
request và thông tin về chính client. Một số header thông dụng như:
o
Accept: loại nội dung có thể nhận được từ thông điệp response. Ví dụ: text/plain,
text/html
o
Accept-Encoding: các kiểu nén được chấp nhận. Ví dụ: gzip, deflate, xz, exi…
50
o
Connection: tùy chọn điều khiển cho kết nối hiện thời. Ví dụ: Keep-Alive,
Close…
o
•
Cookie: thông tin HTTP Cookie từ server
Cuối cùng là phần Body, là dữ liệu gửi từ client đến server trong gói tin HTTP request.
Đa số các gói tin gửi theo phương thức GET sẽ có Body trống, các phương thức như
POST hay PUT thường dùng để gửi dữ liệu nên sẽ có bao gồm dữ liệu trong trường
Body.
Sử dụng phương thức GET gửi dữ liệu đến server sử dụng chuỗi truy vấn (query
string): khi gửi một gói tin HTTP request theo phương thức GET, trong trường hợp client
muốn gửi dữ liệu lên server để thực hiện lưu trữ hoặc thực hiện một yêu cầu cụ thể nào đó,
thông thường client sẽ không đóng gói dữ liệu trong Body mà sẽ được gửi thẳng ở dòng Header
line phía sau trường path theo định dạng các tham số dạng “key=value” như sau:
GET /path?key1=value1&key2=value2&…&keyn=valuen HTTP/1.1
Dữ liệu gửi lên như vậy gọi là một chuỗi truy vấn (query string), được bắt đầu bằng dấu “?” và
kế tiếp là các cặp “key=value”. Trong đó giá trị của các key thường sẽ được cung cấp bởi API
từ phía server và client sẽ cung cấp dữ liệu của key thông qua value tương ứng. Ví dụ API cập
nhật dữ liệu lên ThingSpeak có dạng:
GET api.thingspeak.com/update?api_key=xxxxxxxxxx&field1=value HTTP/1.1
➢ HTTP response massage
Định dạng gói tin HTTP response cũng gồm 3 phần chính là: Status line, Header và Body.
Hình 2. 32: Ví dụ gói tin HTTP response
51
•
Dòng Status line gồm 3 trường là phiên bản giao thức (HTTP version), mã trạng thái
(Status code) và mô tả trạng thái (Status text):
o
Phiên bản giao thức (HTTP version): phiên bản của giao thức HTTP mà server
hỗ trợ, thường là HTTP/1.0 hoặc HTTP/1.1
o
Mã trạng thái (Status code): mô tả trạng thái kết nối dưới dạng số, mỗi trạng
thái sẽ được biểu thị bởi một số nguyên. Ví dụ: 200, 404, 302,…
o
Mô tả trạng thái (Status text): mô tả trạng thái kết nối dưới dạng văn bản một
cách ngắn gọn, giúp người dùng dễ hiểu hơn so với mã trạng thái. Ví du: 200 OK,
404 Not Found, 403 Forbiden,…
•
Các dòng Header line của gói tin response có chức năng tương tựn như gói tin request,
giúp server có thể truyền thêm các thông tin bổ sung đến client dưới dạng các
cặp “Name:Value”.
•
Phần Body là nơi đóng gói dữ liệu để trả về cho client, thông thường trong duyệt web thì
dữ liệu trả về sẽ ở dưới dạng một trang HTML để trình duyệt có thể thông dịch được và
hiển thị ra cho người dùng.
2.6.2.2 Lưu đồ thuật toán
Hình 2. 33: Lưu đồ thuật toán chương trình truyền nhận dữ liệu qua wifi
52
❖ Chương trình truyền nhận dữ liệu qua wifi được viết bằng ngôn ngữ C, được biên
dịch Arduino IDE. Dựa vào các hàm của hãng đã có sẵn, cũng như tham khảo trên mạng
Internet chúng em đã viết ra được các hàm sử dụng trong chương trình như sau:
Tên file
Tên hàm
Chức năng
ESP8266WiFi.h
WiFi.begin()
Cấu hình module kết nối
với mạng wifi
Kiểm tra tình trạng kết
nối với wifi
Địa chỉ IP của module
được cấp phất.
ESP8266 sẽ bắt đầu kết
nối mà không cần xác
thực chứng chỉ.
Kết nối với Google host
Gửi dữ liệu lên Google
Sheets
WiFi.status()
WiFi.localIP()
WiFiClientSecure.h
WiFiClientSecure client()
client.connect()
client.print()
Bảng 4: Các file, hàm được sử dụng trong chương trình truyền nhận dữ liệu
2.7 NGUYÊN LÝ HOẠT ĐỘNG CỦA THIẾT BỊ
Tính năng mở khóa bằng mật khẩu: Người dùng nhấn nút ‘*’, sau đó nhập mật khẩu. Nếu
đúng thì thiết bị mở khóa, nếu sai thì thông báo đã nhập sai và cho phép nhập lại. Nếu sai đủ 4
lần thì thiết bị tạm ngưng phục vụ 60s sau đó mới làm việc tiếp.
Tính năng mở khóa bằng vân tay: Người dùng nhấn nút ‘D’, sau đó quét vân tay. Nếu
đúng thì mở khóa, nếu sai thì thông báo đã sai vân tay sau đó cho phép quét lại. Nếu số lần quét
sai đủ 4 thì thiết bị tạm ngưng phục vụ 60s sau đó mới làm việc tiếp.
Chế độ thay đổi mật khẩu hoặc vân tay: Người dùng nhấn nút ‘#’, sau đó thiết bị yêu cầu
nhập mật khẩu, nếu nhập đúng thì mới cho phép thay đổi mật khẩu hoặc vân tay. Để thay đổi
mật khẩu thì nhấn nút ‘A’ sau đó nhập mật khẩu mới 2 lần, nếu khớp nhau thì thiết bị thay đổi
mật khẩu và trở về trạng thái ban đầu. Để thay đổi vân tay thì nhấn nút ‘B’ sau đó thêm vân tay
mới. Khi đã vào chế độ này mà không muốn thay đổi mật khẩu nữa thì người dung chỉ cần
nhấn nút ‘C’ để trở về trạng thái ban đầu.
Sau khi mở khóa hay đổi mật khẩu thì dữ liệu sẽ được thông báo lên Google Sheets để lưu
lịch sử hoạt động cũng như lịch sử đổi mật khẩu của thiết bị.
53
2.8 KẾT LUẬN CHƯƠNG II
Chương 2 chúng em đã trình bày về cách thiết kế một thiết bị khóa cửa điện tử thông minh
từ phần cứng đến phần mềm. Hy vọng độc giả có thể hiểu được phương án thiết kế của chúng
em.
54
CHƯƠNG III - KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
3.1 KẾT QUẢ ĐẠT ĐƯỢC
Dưới đây là hình ảnh kết quả đạt được của chúng em :
Hình 3. 1: Hình ảnh thiết bị của khóa thông minh.
Hình 3. 2: Truyền lịch sử hoạt động của khóa lên Google Sheets
55
3.2 Đánh giá
❖ Ưu điểm
• Thiết bị đã đạt được các yêu cầu công nghệ đặt ra.
• Thiết bị nhỏ gọn, hoạt động nhanh nhạy và chính xác.
• Giải quyết vấn đề chống trộm cho gia chủ một cách đơn giản mà hiệu quả.
❖ Nhược điểm và cách khắc phục
• Chưa có phần còi báo động.
• Chưa có vỏ bảo vệ, thiết kế chưa thực sự đẹp mắt.
• IC nguồn có chút nóng khi thiết bị hoạt động lâu, cần lắp thêm quạt tản mini, kem tản
hoặc thay IC chịu dòng tốt hơn.
3.3 Hướng phát triển trong tương lai
✓ Tích hợp một số giao thức truyền thông không dây khác như Bluetooth, Zigbee, …
✓ Thêm các tính năng mở khóa khác như dung thẻ RFID, nhận dạng khuôn mặt, nhận
dạng tiếng nói…
✓ Nâng cấp về mặt thiết kế: làm cho thiết bị nhỏ gọn hơn, đóng gói hợp lý hơn.
✓ Kết hợp với camera nhận để nhận dạng cũng như lưu được hình ảnh những người ra vào
khóa cửa.
56
TÀI LIỆU THAM KHẢO
[1] Datasheet các linh kiện sử dụng.
[2] Nguyễn Tăng Cường, Phan Quốc Thắng. Cấu trúc và lập trình họ vi điều khiển 8051. Nhà
xuất bản Khoa học và Kỹ thuật, 2003.
[3] “Khái niệm cơ bản về truyền thông UART, sơ đồ khối, ứng dụng”.
https://advancecad.edu.vn/khai-niem-co-ban-ve-truyen-thong-uart-so-do-khoi-ung-dung/
[4] “Giới thiệu chuẩn giao tiếp I2C”.
http://dammedientu.vn/gioi-thieu-chuan-giao-tiep-i2c/
[5] “Tổng quan về giao thức HTTP, phương thức truyền tải dữ liệu giữa client-server”.
https://tapit.vn/http-request-va-http-response-phuong-thuc-giao-tiep-giua-server-client/
[6] “Giáo trình 8051” – Nhóm Devzone.
57
Download