Trong khi đó, các chân đầu ra được kết nối với thiết bị hiển thị kết quả bên ngoài như màn hình LED, LCD và động cơ,… Một số loại vi điều khiển có thể đề cập như: dòng vi điều khiển STMi
Trang 1ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THÔNG
GVHD: NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN HẢI ÂU TRẦN DIỆP NGỌC YẾN
S K L 0 0 9 2 6 3
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH
TỦ KHÓA NGÂN HÀNG
Trang 2Tp.Hồ Chí Minh – 08/2022
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
Tp.Hồ Chí Minh – 08/2022
Trang 4TP Hồ Chí Minh, ngày 08 tháng 03 năm 2022
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Nguyễn Hải Âu MSSV: 17141046
Lớp: 17141CLDT Trần Diệp Ngọc Yến MSSV: 17141166
Lớp: 17141CLDT Chuyên ngành: Kỹ thuật Điện tử - Truyền thông Mã ngành: 41
I TÊN ĐỀ TÀI:
THIẾT KẾ VÀ THI CÔNG MÔ HÌNH TỦ KHÓA NGÂN HÀNG
II NHIỆM VỤ
1 Các số liệu ban đầu:
- Nguyễn Đình Phú, “Giáo trình Vi điều khiển”, Trường ĐH Sư Phạm Kỹ Thuật Tp
Hồ Chí Minh
- Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thi Tuyết Đan – Phù Thị Ngọc Hiếu – Dương Thi Cẩm Tú, “Giáo trình Điện tử cơ bản”, Nhà xuất bản
ĐH Quốc gia Tp Hồ Chí Minh
- Nhóm sinh viên Nguyễn Văn Phúc, Diệp Minh Thiện, “Giám sát và cảnh báo sinh viên thông qua hệ thống quét vân tay qua mạng Internet”, Đồ án tốt nghiệp Ngành Công nghệ Kỹ thuật Điện tử Truyền thông, Trường ĐH Sư phạm Kỹ thuật TP.HCM, 01/2018
- Nhóm sinh viên Nguyễn Minh Tuấn, Nguyễn Thị Nguyệt Kầm, “Thiết kế và thi công
mô hình điều khiển hệ thống điện có bảo mật bằng vân tay và RFID”, Đồ án tốt nghiệp Ngành Công nghệ Kỹ thuật Điện tử Truyền thông, Trường ĐH Sư phạm Kỹ thuật TP.HCM, 10/2021
- Nhóm nghiên cứu khoa kỹ thuật điện, “Tủ khóa ngân hàng dựa trên dấu vân tay với tính năng chụp ảnh”, đề tài nghiên cứu Học viện Công nghệ Swami Keshvanand, 03/2018
2 Nội dung thực hiện:
- Đọc các tài liệu tham khảo, tóm tắt hướng của đề tài
Trang 6PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trần Diệp Ngọc Yến MSSV: 17141166
Ngành: Công nghệ kỹ thuật điện tử – truyền thông
Tên đề tài: Thiết kế và thi công mô hình tủ khóa ngân hàng
Họ và tên Giáo viên hướng dẫn: ThS Nguyễn Đình Phú
NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm: (Bằng chữ: )
GIẢNG VIÊN HƯỚNG DẪN
Độc lập – Tự do – Hạnh phúc
***
TP Hồ Chí Minh, ngày tháng năm 2022
Trang 7PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Trần Diệp Ngọc Yến MSSV: 17141166 Ngành: Công nghệ kỹ thuật điện tử – truyền thông
Tên đề tài: : Thiết kế và thi công mô hình tủ khóa ngân hàng
Họ và tên Giáo viên phản biện: NHẬN XÉT
1 Về nội dung đề tài & khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm: (Bằng chữ: )
GIẢNG VIÊN PHẢN BIỆN
***
TP Hồ Chí Minh, ngày tháng năm 2022
Trang 8trước, nhóm cam đoan không sao chép nội dung và kết quả của các công trình nghiên cứu khác, các nội dung tham khảo đều được trích dẫn đầy đủ ở phần Tài liệu tham khảo
Nhóm thực hiện
Nguyễn Hải Âu Trần Diệp Ngọc Yến
Trang 9LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin gửi lời cảm ơn Quý Thầy Cô Trường Đại Học Sư Phạm Kỹ Thuật đặc biệt là Quý Thầy Cô khoa Đào Tạo Chất Lượng Cao và Khoa Điện - Điện Tử đã chỉ bảo và truyền đạt kiến thức cho chúng em trong suốt quá trình học tập, rèn luyện tại trường
Nhóm cũng xin gửi lời cám ơn sâu sắc tới giáo viên hướng dẫn ThS Nguyễn Đình Phú trong suốt thời gian qua đã tận tình góp ý, tạo điều kiện tốt nhất để chúng
em có thể hoàn thành đề tài một cách hoàn chỉnh nhất Nhận được sự hướng dẫn của thầy, nhóm em đã học hỏi thêm nhiều kinh nghiệm quý báu từ kiến thức chuyên môn tới các kỹ năng cần thiết để phục vụ cho quá trình phát triển bản thân trong tương lai
Đồng thời, nhóm em cũng xin chân thành cảm ơn nguồn động viên từ gia đình, người thân, bạn bè đã luôn quan tâm, giúp đỡ chúng em khi gặp khó khăn và là nguồn động lực tinh thần to lớn để chúng em có thể thực hiện và hoàn thành Đồ án Tốt nghiệp
Một lần nữa chúng em xin chân thành gửi lời cảm ơn!
Nhóm thực hiện
Nguyễn Hải Âu Trần Diệp Ngọc Yến
Trang 10TÓM TẮT
Ngày nay, bảo mật sinh trắc học là một trong những phương pháp bảo mật đảm bảo nhận dạng người dùng với ưu điểm khó có thể bị mất, nhân rộng hoặc bị đánh cắp Các hệ thống sinh trắc học có cơ chế bảo mật mạnh mẽ ứng dụng trong nhiều lĩnh vực khác nhau như vân tay, tĩnh mạch lòng bàn tay, giọng nói, trong đó, dấu vân tay là hình thức nhận dạng sinh trắc học lâu đời nhất và được sử dụng rộng rãi nhất Ứng dụng của dấu vân tay là để xác thực cá nhân, ví dụ như truy cập vào điện thoại di động, máy tính, thẻ ATM, xe ô tô, Việc sao chép công nghệ dấu vân tay sinh trắc học là hầu như không thể, chỉ có một phần trăm rất nhỏ của một cơ hội
Vì mục đích nghiên cứu giải pháp bảo đảm an toàn trong một hệ thống bảo mật với
cách xác minh mang lại rủi ro thấp nhất, nhóm đã thực hiện đề tài “Thiết kế và thi
công mô hình tủ khóa ngân hàng” kết hợp 2 lớp bảo mật cho tủ, kèm theo tính năng
thông báo tin nhắn về điện thoại khi phát hiện có đột nhập
Nội dung chính của đề tài:
Sử dụng kit Arduino Mega 2560 R3 làm mạch điều khiển trung tâm
Xác nhận mật mã bằng quét thẻ từ RFID và cảm biến vân tay, tích hợp điều khiển bằng bàn phím ma trận
Module SIM 800C thực hiện nhiệm vụ gửi tin nhắn báo đột nhập
Trang 11
MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
TÓM TẮT iii
DANH MỤC HÌNH ẢNH vii
DANH MỤC BẢNG BIỂU viii
DANH MỤC CÁC TỪ VIẾT TẮT ix
CHƯƠNG 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MỤC TIÊU NGHIÊN CỨU 1
1.3 NỘI DUNG NGHIÊN CỨU 2
1.4 GIỚI HẠN 2
1.5 BỐ CỤC 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN TRUNG TÂM 4
2.1.1 Lịch sử phát triển của Arduino 4
2.1.2 Giới thiệu Arduino Mega 2560 R3 5
2.1.3 Cấu hình chân của Arduino Mega 2560 7
2.1.4 Cấu trúc chip ATmega 2560 11
2.1.5 Các chuẩn giao tiếp 11
2.2 CÔNG NGHỆ RFID 19
2.2.1 Giới thiệu về công nghệ RFID 19
2.2.2 Cấu trúc hệ thống RFID 20
2.2.3 Ứng dụng của công nghệ RFID 21
2.3 MODULE RFID RC522 22
2.3.1 Giới thiệu module RFID RC522 22
2.3.2 Giao tiếp với phần cứng 23
2.4 CÔNG NGHỆ BẢO MẬT VÂN TAY 23
2.4.1 Giới thiệu công nghệ bảo mật vân tay 23
2.4.2 Ứng dụng công nghệ vân tay 24
Trang 122.5 CẢM BIẾN VÂN TAY 25
2.5.1 Giới thiệu cảm biến vân tay 25
2.5.2 Giao tiếp phần cứng 26
2.5.3 Tài nguyên của hệ thống trong cảm biến vân tay 27
2.5.4 Các giao thức truyền thông giao tiếp 29
2.6 MODULE SIM 31
2.6.1 Giới thiệu 31
2.6.2 Giao tiếp phần cứng 33
2.7 MÀN HÌNH LCD 1602 – MODULE I2C 34
2.7.1 Giới thiệu 34
2.8 BÀN PHÍM MA TRẬN 4X4 35
2.8.1 Giới thiệu 35
2.8.2 Giao tiếp phần cứng 36
2.9 KHÓA CHỐT ĐIỆN TỪ 37
2.9.1 Giới thiệu 37
2.9.2 Giao tiếp phần cứng 38
CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ 40
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG 40
3.1.1 Giới thiệu 40
3.1.2 Yêu cầu của hệ thống 40
3.1.3 Sơ đồ khối và chức năng mỗi khối 40
3.2 THIẾT KẾ HỆ THỐNG PHẦN CỨNG 42
3.2.1 Khối xử lý trung tâm 42
3.2.2 Khối cảm biến vân tay 43
3.2.3 Khối ma trận phím 44
3.2.4 Khối chấp hành 45
3.2.5 Khối báo động 47
3.2.6 Khối module SIM 48
3.2.7 Khối hiển thị 49
3.2.8 Khối nguồn 50
Trang 133.2.9 Sơ đồ nguyên lý toàn mạch 54
CHƯƠNG 4 THI CÔNG HỆ THỐNG 55
4.1 GIỚI THIỆU 55
4.2 THI CÔNG HỆ THỐNG 55
4.2.1 Thi công mạch 55
4.2.2 Lắp ráp và kiểm tra 58
4.3 LẬP TRÌNH HỆ THỐNG 60
4.3.1 Chương trình chính 60
4.3.2 Chương trình kiểm tra bảo mật bằng RFID 62
4.3.3 Chương trình kiểm tra bảo mật bằng vân tay 62
4.3.4 Chương trình thêm vân tay 64
CHƯƠNG 5 KẾT QUẢ, NHẬN XÉT, ĐÁNH GIÁ 65
5.1 GIỚI THIỆU 65
5.2 KẾT QUẢ 65
5.2.1 Mô hình 65
5.2.2 Kiểm tra và hoạt động của mô hình 65
5.3 HƯỚNG DẪN SỬ DỤNG, THAO TÁC 71
CHƯƠNG 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 72
6.1 KẾT LUẬN 72
6.2 HƯỚNG PHÁT TRIỂN 72
TÀI LIỆU THAM KHẢO 73
PHỤ LỤC 75
Trang 14DANH MỤC HÌNH ẢNH
H ÌNH 2.1: M ỘT SỐ LOẠI BOARD A RDUINO 4
H ÌNH 2.2:B OARD A RDUINO M EGA 2560 6
H ÌNH 2.3:S Ơ ĐỒ CHÂN CỦA BOARD A RDUINO M EGA 2560 R3 8
H ÌNH 2.4:C HIP AT MEGA 2560 11
H ÌNH 2.5:G IAO THỨC M ASTER – S LAVE TRONG GIAO TIẾP SPI 12
H ÌNH 2.6:G HÉP NỐI 1 THIẾT BỊ 13
H ÌNH 2.7:G HÉP NỐI NHIỀU THIẾT BỊ 13
H ÌNH 2.8:K HUNG TRUYỀN DỮ LIỆU 15
H ÌNH 2.9:G IAO TIẾP UART GIỮA HAI THIẾT BỊ 16
H ÌNH 2.10:G IAO TIẾP I2C 17
H ÌNH 2.11:K HUNG TRUYỀN DỮ LIỆU I2C 18
H ÌNH 2.12:M ỘT HỆ THỐNG RFID 20
H ÌNH 2.13:M ODULE RFID RC522 22
H ÌNH 2.14:S Ơ ĐỒ CHÂN CỦA MODULE RFID RC522 23
H ÌNH 2.15:Ứ NG DỤNG CỦA CÔNG NGHỆ VÂN TAY TRONG XÁC THỰC TÀI KHOẢN NGÂN HÀNG 24
H ÌNH 2.16:C ẢM BIẾN VÂN TAY R305 25
H ÌNH 2.17:C ÁC NGÕ RA GIAO TIẾP CẢM BIẾN R305 26
H ÌNH 2.18:K HUNG DỮ LIỆU TRUYỀN ĐI CỦA CẢM BIẾN R305 27
H ÌNH 2.19:M ODULE SIM800C 32
H ÌNH 2.20:S Ơ ĐỒ CHÂN CỦA MODULE SIM800C 33
H ÌNH 2.21:M ODULE CHUYỂN ĐỔI I2C VÀ MÀN HÌNH LCD 34
H ÌNH 2.22:S Ơ ĐỒ CHÂN CỦA BÀN PHIM MA TRẬN 36
H ÌNH 2.23:K HÓA CHỐT ĐIỆN 37
H ÌNH 2.24:S Ơ ĐỒ CHÂN KHÓA CHỐT ĐIỆN 38
H ÌNH 2.25:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI GIỮA KHÓA VÀ KHỐI XỬ LÝ TRUNG TÂM 39
H ÌNH 3.1:S Ơ ĐỒ KHỐI TOÀN HỆ THỐNG 41
H ÌNH 3.2:K ẾT NỐI VỚI VI ĐIỀU KHIỂN 43
H ÌNH 3.3:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI MODULE VÂN TAY VỚI KHỐI XỬ LÝ TRUNG TÂM 44
H ÌNH 3.4:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI BÀN PHÍM VỚI VI ĐIỀU KHIỂN 45
H ÌNH 3.5:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI MODULE RFID VỚI KHỐI XỬ LÝ TRUNG TÂM 46
H ÌNH 3.6:C ÒI BÁO ĐỘNG 47
H ÌNH 3.7:S Ơ ĐỒ CHÂN TRANSISTOR C1815 47
H ÌNH 3.8:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI KHỐI BÁO ĐỘNG VỚI KHỐI XỬ LÝ TRUNG TÂM 48
H ÌNH 3.9:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI MODULE SIM VỚI KHỐI XỬ LÝ TRUNG TÂM 49
H ÌNH 3.10:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI KHỐI HIỂN THỊ VỚI KHỐI XỬ LÝ TRUNG TÂM 50
H ÌNH 3.11:M ODULE HẠ ÁP LM2596 52
H ÌNH 3.12:S Ơ ĐỒ NGUYÊN LÝ MODULE HẠ ÁP 53
H ÌNH 3.13:S Ơ ĐỒ NGUYÊN LÝ KẾT NỐI NGUỒN VỚI KHỐI XỬ LÝ TRUNG TÂM 53
H ÌNH 3.14:A DAPTER 12V 2A CẤP NGUỒN CHO TOÀN BỘ HỆ THỐNG 54
H ÌNH 3.15:S Ơ ĐỒ NGUYÊN LÝ TOÀN HỆ THỐNG 54
H ÌNH 4.1:M ẠCH THI CÔNG HOÀN CHỈNH 56
H ÌNH 4.2:S Ơ ĐỒ ĐI DÂY MẠCH IN 57
H ÌNH 4.3:S Ơ ĐỒ 3D MẠCH ĐIỀU KHIỂN 57
Trang 15H ÌNH 4.4:T RƯỚC KHI ỦI MẠCH IN 58
H ÌNH 4.5:T RƯỚC KHI ỦI MẠCH IN 59
H ÌNH 4.6:S AU KHI ỦI MẠCH IN XONG 59
H ÌNH 4.7:C ẮM CHÂN VÀ TIẾN HÀNH HÀN CÁC LINH KIỆN 60
H ÌNH 4.8:L ƯU ĐỒ GIẢI THUẬT CHƯƠNG TRÌNH CHÍNH 61
H ÌNH 4.9:L ƯU ĐỒ KIỂM TRA BẢO MẬT LỚP THỨ NHẤT BẰNG RFID 62
H ÌNH 4.10:L ƯU ĐỒ KIỂM TRA BẢO MẬT LỚP THỨ HAI BẰNG VÂN TAY 63
H ÌNH 4.11:L ƯU ĐỒ CHƯƠNG TRÌNH CON THÊM VÂN TAY 64
H ÌNH 5.1:M Ô HÌNH HỆ THỐNG HOÀN CHỈNH 65
H ÌNH 5.2:Đ ANG KẾT NỐI SIM 66
H ÌNH 5.3:G IAO DIỆN MODULE SIM ĐÃ KẾT NỐI 66
H ÌNH 5.4:G IAO DIỆN NHẬN DẠNG RFID 66
H ÌNH 5.5:G IAO DIỆN NHẬN DẠNG RFID THÀNH CÔNG 67
H ÌNH 5.6:X ÁC NHẬN RFID ĐÚNG CHO PHÉP CHUYỂN SANG VÂN TAY 67
H ÌNH 5.7:X ÁC NHẬN VÂN TAY ĐÚNG CHO PHÉP MỞ CỬA TỦ KHÓA 67
H ÌNH 5.8:X ÁC NHẬN VÂN TAY SAI , CỬA TỦ KHÓA 68
H ÌNH 5.9:H IỂN THỊ KHÓA THIẾT BỊ KHI SAI VÂN TAY 68
H ÌNH 5.10:N HẬP ID VÂN TAY TỪ BÀN PHÍM 68
H ÌNH 5.11:GIAO DIỆN CHỜ THÊM VÂN TAY, ĐẶT TAY SCAN LẦN 1 69
H ÌNH 5.12:G IAO DIỆN SCAN LẦN 1 THÀNH CÔNG , LẤY TAY RA 69
H ÌNH 5.13:G IAO DIỆN SCAN VÂN TAY LẦN 2 69
H ÌNH 5.14:G IAO DIỆN KHI VÂN TAY XÁC NHẬN LẦN 2 BỊ SAI 69
H ÌNH 5.15:G IAO DIỆN VÂN TAY ĐÚNG 70
H ÌNH 5.16:G IAO DIỆN ĐIỆN THOẠI BÁO CÓ TRỘM VÀ DÙNG CÚ PHÁP TIN NHẮN MỞ KHÓA SAI 70
H ÌNH 5.17:G IAO DIỆN ĐIỆN THOẠI BÁO CÓ TRỘM VÀ DÙNG CÚ PHÁP TIN NHẮN MỞ KHÓA ĐÚNG 71
DANH MỤC BẢNG BIỂU B ẢNG 2.1:T HANH GHI TRẠNG THÁI CỦA M ODULE 28
B ẢNG 2.2:Đ ỊNH DẠNG GÓI DỮ LIỆU TRUYỀN VÀ NHẬN CỦA CẢM BIẾN VÂN TAY 29
B ẢNG 2.3:Ý NGHĨA CỦA GÓI DỮ LIỆU TRUYỀN CỦA CẢM BIẾN VÂN TAY 29
B ẢNG 2.4:M Ã XÁC NHẬN GỬI VỀ TỪNG M ODULE KHI TIẾN HÀNH GIAO TIẾP 30
B ẢNG 3.1:T HÔNG SỐ , GIÁ TRỊ LINH KIỆN HỆ THỐNG SỬ DỤNG 50
B ẢNG 4.1:D ANH SÁCH LINH KIỆN SỬ DỤNG 57
Trang 16DANH MỤC CÁC TỪ VIẾT TẮT
DC Direct Current
UART Universal Asynchronous Receiver-Transmitter
I2C Inter – Integrated Circuit
LCD Liquid Crystal Display
SCCB Serial Camera ControlBus
USB Universal Serial Bus
SRAM Static Random-access Memory
EEPROM Electrically Erasable Programmable ROM
FPS Frames Per Second
BIDV Bank for Investment and Development of Vietnam SMS Short Message Service
IDE Integrated Development Environment
RFID Radio Frequency Identification Detection
Trang 17Trong những năm gần đây, dịch vụ cho thuê các loại tủ khóa, két sắt đang được các ngân hàng thương mại ở Việt Nam triển khai Loại hình này đang dần trở nên quen thuộc với đối tượng khách hàng muốn đảm bảo sự an toàn cho những tài sản có giá trị như: trang sức, đá quý, các giấy tờ quan trọng, giấy tờ có giá trị… của riêng cá nhân hoặc các tổ chức…
Cùng lúc đó, với việc phía ngân hàng đặt khách hàng vào trung tâm, bằng cách cung cấp cho khách hàng có quyền kiểm soát dữ liệu của họ, mang lại lợi ích cho khách hàng, ngân hàng và bao gồm cả các nhà cung cấp dịch vụ vì nhu cầu mở rộng
số hóa gia tăng Tuy nhiên, điều này lại vô tình tạo ra môi trường cho các mối đe dọa liên quan đến tội phạm tài chính Việc chuyển đổi sang ngân hàng số đã làm ra hoàn cảnh thuận lợi cho tội phạm mạng gia tăng cơ hội trộm cắp danh tính và nhiều gian lận trực tuyến khác nhau trong không gian số Vì vậy, nếu không có sự quản lý thích hợp, các mối đe dọa trực tuyến này sẽ làm ảnh hưởng niềm tin vào mối quan hệ ngân hàng giữa người tiêu dùng và doanh nghiệp
Do đó, bắt buộc phải có một hệ thống đảm bảo người dùng được trải nghiệm với các giao thức bảo mật tốt nhất khi sử dụng ngân hàng số Và xác thực thích ứng
là một trong những tùy chọn như vậy, nó cho phép người dùng lựa chọn giữa nhiều phương pháp chứng minh danh tính của họ
Nhận thấy những vấn đề trên, nhóm chúng em đã lên ý tưởng thực hiện đề tài
“Thiết kế và thi công mô hình tủ khóa ngân hàng bảo mật” trong đồ án tốt nghiệp lần
này, nhằm mục đích đóng góp vào một phần nhỏ giải pháp giúp bảo đảm an toàn thông tin trong một hệ thống bảo mật
1.2 MỤC TIÊU NGHIÊN CỨU
Tìm hiểu về board Arduino Mega và giao tiếp với các ngoại vi, tìm hiểu về cảm biến vân tay, thẻ từ RFID và đặc biệt là điều khiển hoạt động của module SIM
Từ đó thiết kế nên mô hình tủ khóa ký gửi dùng trong ngành ngân hàng, có thể bảo mật bằng 2 lớp: xác nhận bằng thẻ từ, xác nhận được vân tay đã đăng ký trên hệ thống, từ đó điều khiển cửa tủ mở khóa Ngược lại nếu một trong các bước bảo mật
bị nhập sai quá số lần quy định, tủ sẽ bị khóa mặc định, có còi báo động và gửi tin nhắn SMS thông báo về cho người quản lý hệ thống
Trang 181.3 NỘI DUNG NGHIÊN CỨU
● Tìm hiểu cách thức hoạt động, các giao tiếp đối với board Arduino Mega 2560
R3
● Tìm hiểu và giao tiếp cảm biến vân tay R305, module thẻ từ RFID, bàn phím
ma trận cùng một số module và ngoại vi khác với board Arduino Mega 2560 R3
● Tính toán, thiết kế sơ đồ khối, sơ đồ nguyên lý, thi công phần cứng, phần
mềm
● Thiết kế mô hình thực tế và kiểm tra, chạy thử sản phẩm
● Đánh giá kết quả thực hiện
● Viết báo cáo các nội dung thực hiện
● Bảo vệ khóa luận
1.4 GIỚI HẠN
Mô hình sử dụng 1 cảm biến vân tay R305, 1 module RFID RC522, và module SIM 800C gửi tin nhắn báo động có đột nhập để tiến hành bảo mật cho hệ thống
Giao tiếp giữa cảm biến vân tay R305 và module RFID RC522 với Arduino Mega 2560 R3
Giao diện hướng dẫn các bước thao tác được hiển thị trực tiếp trên màn hình LCD 1602
1.5 BỐ CỤC
Gồm có 6 chương:
Chương 1: Tổng Quan
Chương 2: Cơ Sở Lý Thuyết
Chương 3: Tính Toán Và Thiết Kế
Chương 4: Thi Công Hệ Thống Mô Hình Điều Khiển Hệ Thống Điện Có Bảo
Mật
Chương 5: Kết Quả, Nhận Xét Và Đánh Giá
Chương 6: Kết Luận và Hướng Phát Triển
NỘI DUNG CÁC CHƯƠNG
Trang 19Trình bày lý thuyết cơ sở làm tiền đề để thực hiện đồ án, sử dụng các đề tài đã được nghiên cứu làm cơ sở để tham khảo
Chương 3: Tính Toán Và Thiết Kế
Từ những cơ sở lý thuyết có được tiến hành đưa ra sơ đồ khối, tính toán và thiết kế các khối có trong hệ thống, thiết kế các lưu đồ giải thuật
Chương 4: Thi Công Hệ Thống Mô Hình Điều Khiển Hệ Thống Điện Có Bảo Mật
Trình bày quá trình thi công phần cứng hệ thống và xây dựng phần mềm điều khiển
Chương 5: Kết Quả, Nhận Xét Và Đánh Giá
Trình bày kết quả của thiết kế mô hình và lập trình Nhận xét đánh giá mức độ hoàn thiện của mô hình đồng thời nêu những giới hạn của mô hình
Chương 6: Kết Luận Và Hướng Phát Triển
Tổng kết kết quả của toàn bộ mô hình, đưa ra các hướng phát triển cho sản phẩm sau này
Trang 20
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ VI ĐIỀU KHIỂN TRUNG TÂM
Hiện nay, vi điều khiển rất được lựa chọn trong nhiều đề tài với mục đích làm
bộ xử lý trung tâm Vi điều khiển có rất nhiều phân loại và cách lập trình khác nhau, được chia theo một số thông số cơ bản, bao gồm kích thước bộ nhớ Flash, kích thước
bộ nhớ RAM, số lượng các đầu vào/đầu ra, giá trị điện áp, giá trị dòng cung cấp, tốc độ,… Các vi điều khiển đều có thiết kế chung gồm chân đầu vào/đầu ra Ở đầu vào, các chân đầu vào có thể được sử dụng để đọc các tín hiệu từ bên ngoài hoặc các cảm biến tác động lên vi xử lý Trong khi đó, các chân đầu ra được kết nối với thiết bị hiển thị kết quả bên ngoài như màn hình LED, LCD và động cơ,…
Một số loại vi điều khiển có thể đề cập như: dòng vi điều khiển STMicroelectronics với các ngoại vi phổ biến (ADC, Timer, I2C,…), dòng vi điều khiển Arduino có cấu hình đa dạng và dễ sử dụng (Arduino Nano, LiLyPad,…), PIC
họ vi điều khiển RISC thông dụng (8 bit, 16 bit,…)
Qua quá trình nghiên cứu tìm hiểu về hướng đề tài thực hiện, dựa trên yêu cầu điều khiển và giao tiếp của các ngoại vi, module, linh kiện,… nhóm đã quyết định lựa chọn dùng Arduino Mega 2560 R3 làm vi điều khiển chính cho mô hình
2.1.1 Lịch sử phát triển của Arduino
Arduino là một nền tảng mã nguồn mở với phần cứng và phần mềm, nó là một loại dự án dành cho sinh viên Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy được khởi động vào năm 2005 Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi những nhà sáng lập nên dự án này thường xuyên lui tới họp mặt Trong đó, Massimo Banzi là một trong những người sáng lập, đã giảng dạy
Hình 2.1: Một số loại board Arduino
Trang 21Lý thuyết phần cứng Arduino được đóng góp nhờ một sinh viên người Colombia tên là Hernando Barragan Dựa vào đó, sau khi nền tảng Wiring được hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp mạch gọn nhẹ hơn, rẻ hơn,
và khả dụng trong cộng đồng mã nguồn mở
Về phần cứng của mạch Arduino gốc được sản xuất bởi một công ty Italy tên
là Smart Projects Một vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ có tên là SparkFun Electronics
Một khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, chúng cho phép người dùng kết nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, được gọi làshield Các shield có thể là module điều khiển cho động
cơ, GPS, ethernet, LCD, hoặc cũng có thể là breadboard Một số lượng lớn các shield cũng có thể được chế tạo bởi những người thích tự làm lấy các ứng dụng cho riêng
họ
Hiện tại có một số board Arduino mẫu chính thức, hiện đang được thương mại hóa như sau: Arduino Diecimila in Stoicheia, Arduino Duemilanove (rev 2009b), Arduino UNO R3, Arduino Leonardo, Arduino Mega, Arduino MEGA 2560 R3, Arduino Nano, Arduino Due (nền tảng ARM), LilyPad Arduino (rev 2007)
2.1.2 Giới thiệu Arduino Mega 2560 R3
Arduino Mega 2560 thế hệ thứ 3 (R3) là một trong những sản phẩm tiêu biểu cho dòng mạch Mega, là dòng board mạch có nhiều cải tiến hơn so với phiên bản trước là Arduino Mega 2560 Đặc biệt bộ nhớ Flash của Mega được tăng lên một cách đáng kể, tăng gấp 4 lần so với những phiên bản Arduino cũ trước đó Nhờ vào đó, Arduino Mega còn giúp cho các kỹ thuật viên phát triển khả năng viết nhiều chương trình lập trình phức tạp hơn để điều khiển các thiết bị lớn như máy in 3D, điều khiển robot, đèn giao thông, máy điều khiển nhiệt độ và mở rộng hơn nữa với các ứng dụng IOT khác
Trang 22Hình 2.2: Board Arduino Mega 2560
Thông số kỹ thuật:
Vi điều khiển chính: ATmega2560
IC nạp và giao tiếp UART: ATmega16U2
Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc tròn
DC (nếu sử dụng nguồn ngoài từ giắc tròn DC nên cấp nguồn giới hạn từ 24VDC, nguồn đề nghị khoảng 7-15VDC để đảm bảo mạch hoạt động tốt)
6- Số chân Digital I/O: 54 (trong đó 15 chân có khả năng xuất xung PWM)
Số chân Analog Input: 16
Dòng điện DC trên mỗi chân I/O: 40mA
Dòng điện DC trên chân 3.3V: 50mA
Flash Memory: 256 KB trong đó 8 KB sử dụng cho bootloader
Trang 232.1.3 Cấu hình chân của Arduino Mega 2560
Board Arduino Mega 2560 R3 có 70 chân, nó bao gồm chân kỹ thuật số và chân tương tự (54 chân digital I/O và 16 chân analog I/O), kèm theo các tính năng bổ sung của các bộ PWM, ADC, USART, RTC,
Cấu hình chân của board Arduino Mega 2560 này được hiển thị ở hình 2.3 bên dưới Mỗi chân đều đi kèm với một chức năng cụ thể
Trang 24Hình 2.3: Sơ đồ chân của board Arduino Mega 2560 R3
Trang 25Các chân nguồn
● VIN: Cung cấp điện áp (7-12V)
● GND: Chân nối đất
● Nguồn 5V: Cung cấp cho thiết bị phần cứng bên ngoài
● Nguồn 3.3V: Cung cấp cho thiết bị phần cứng có điện áp thấp bên ngoài
Các chân điều khiển
● Chân RESET: Arduino Mega 2560 đã được thiết kế sẵn mạch reset Với nút ấn có thể tách động để thiết lập lại hệ thống Chân này dùng khi thiết bị bị lỗi Reset hoàn toàn hệ thống về Home
● Chân XTAL1, XTAL2: Thạch anh (16MHz) kết nối với xung clock
● Chân AREF: dùng để chuyển đổi tín hiệu điện áp tham chiếu bên ngoài khi sử dụng ADC Từ đó không cần sử dụng điện áp nội bộ 1.1V và 5V
Các chân Digital (70):
● Chân số: Từ 0-53 (số) và 0-15 (tương tự) Chúng có thể sử dụng làm đầu vào hoặc ra Được thiết lập bằng các hàm Mode (), digitalRead (), digitalWrite ()
Các chân có chức năng thay thế:
● Chân SPI: Chân 25-MISO, chân 22-SS, chân 23_SCK, chân 24-MOSI Các chân này dùng để liên lạc giữa 2 thiết bị nhờ giao thức SPI SPI là hình thức cho phép các bit phải 2 thiết bị giao tiếp với nhau (được nhắc đến rõ hơn ở phần giao thức)
● Chân I2C: Chân 20 dành cho SDA chân 21 cho SCL có tốc độ 400KHZ Chúng cũng cho phép liên lạc với các thiết bị khác Để chuyển đổi I2C
Trang 26người ta dùng hàm wire.begin () Đọc dữ liệu I2C dùng wire.Read (), wire.Write () để thêm dữ liệu
Những chân này dùng để ngắt phần cứng từ các thiết bị khác
Một số thành phần khác của board Arduino Mega:
● USB: Arduino Mega dùng cáp USB để giao tiếp với máy tính, tải lên chương trình cho Arduino, còn có thể cấp nguồn cho Arduino hoạt động
● Giắc cắm nguồn DC: Nơi cung cấp nguồn cho mạch Arduino từ 7 -12V
Có tích hợp hệ thống điều chỉnh điện áp phù hợp 3.3V và 5V cho các
bộ điều khiển và bộ cảm biến
● ICSP 1 (ATmega8) và 2 (AVR 2560): Nó có các tính năng của lập trình
sử dụng bus nối tiếp với lập trình AVR sử dụng giao tiếp SPI AVR
2560 được lập trình để chạy hệ thống và ATmega8 được lập trình để liên lạc và lập trình nối tiếp
Trang 272.1.4 Cấu trúc chip ATmega 2560
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác Arduino thường
sử dụng các dòng vi điều khiển như megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328, ATmega1280, và ở board Adruino Mega 2560 R3 mà nhóm sử dụng là ATmega2560
Hình 2.4: Chip ATmega2560
ATmega2560 là một vi điều khiển của hãng Atmel, có công suất thấp, dựa trên kiến trúc RISC 8 bit của AVR Có khả năng hỗ trợ nhiều ngoại vi và thực hiện nhiều câu lệnh mạnh mẽ trong một chu kỳ đồng hồ, ATmega2560 hiển nhiên cho phép người thiết kế có thể tối ưu về năng lượng tiêu thụ, tốc độ xử lý và là một trong những giải pháp linh hoạt cho các ứng dụng nhúng, robot,…
Vi điều khiển ATmega2560 chỉ được lập trình bằng những phần mềm chuyên dụng như Atmel Studio, hoặc sử dụng trong môi trường của Arduino, chẳng hạn như lập trình thông qua USB từ phần mềm Arduino,
Một số thông số kỹ thuật của ATmega2560:
Sử dụng mức logic 5V
Sở hữu 86 chân I/O có thể lập trình
Có 16 kênh ADC 10 bit, 4 bộ USART
Hai bộ định thời/ bộ đếm (Timer/Counter) 8 bit, bốn bộ định thời/bộ đếm
16 bit
Giao diện truyền dữ liệu nối tiếp SPI
2.1.5 Các chuẩn giao tiếp
Trang 28thông và các chip Slaves được điều khiển bởi Master vì thế truyền thông chỉ xảy ra giữa Master và Slave SPI là một cách truyền song công (full duplex) nghĩa là tại cùng một thời điểm quá trình truyền và nhận có thể xảy ra đồng thời
Các thiết bị sử dụng giao tiếp SPI rất đa dạng bao gồm: thẻ nhớ SD/MMC, bộ nhớ, cảm biến ảnh, LCD, ADC…
SPI đôi khi được gọi là chuẩn truyền thông “4 dây” vì có 4 đường giao tiếp trong chuẩn này đó là SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS (Slave Select)
Tóm lại, thì giao tiếp SPI sử dụng bao gồm 4 dây chính:
MISO - Mang các dữ liệu từ các thiết bị SPI về Arduino
MOSI - Mang các dữ liệu từ Arduino đến các thiết bị SPI
SS - Chọn thiết bị SPI cần làm việc
SCK - Xung giữ nhịp cho giao tiếp SPI Đối với Arduino Mega MISO là 50, MOSI là 51, SCK là 52 và SS là 53
Hình 2.5: Giao thức Master – Slave trong giao tiếp SPI Nguyên lý hoạt động: SPI là phương thức có dạng Master – Slave Thiết bị đóng vai
trò Master điều khiển xung đồng bộ (SCK), tất cả các thiết bị Slave bị điều khiển bởi xung đồng bộ phát ra bởi Master Thiết bị master và slave mỗi thiết bị có thanh ghi
dữ liệu 8 bit Khi đường SCK của master tạo ra một xung nhịp thì một bit trong thanh ghi dữ liệu của master truyền qua slave trên đường MOSI, và ngược lại một bit dữ liệu từ slave sẽ truyền qua master trên đường MISO
SPI sử dụng 3 phương thức truyền: Nối tiếp – Đồng bộ - Song công
- Nối tiếp: Truyền một bit dữ liệu trên môic nhịp truyền
- Đồng bộ: Có xung nhịp đồng bộ quá trình truyền
- Song công: Cho phép gửi, nhận đồng thời
Trang 29Người dùng có thể kiểm soát 1 hoặc nhiều thiết bị sử dụng SPI Ví dụ dưới đây là 1 thiết bị:
Hình 2.7: Ghép nối nhiều thiết bị Một số ưu nhược điểm của giao thức SPI
Ưu điểm
● Chuẩn truyền thông nối tiếp SPI có tốc độ truyền dữ liệu và ít lỗi phát sinh trong quá trình truyền/nhận dữ liệu hơn các chuẩn truyền nối tiếp khác
Trang 30● Hỗ trợ truyền thông song công (duplex communication) là dữ liệu có thể truyền và nhận cùng một thời điểm
● Có giao diện phần cứng khá đơn giản
● Không giới hạn tốc độ xung clock, cho phép truyền dữ liệu với tốc độ cao
● Hỗ trợ điều khiển nhiều slave
Nhược điểm:
● Tốn năng lượng
● Chỉ hỗ trợ một master
● Không có giao thức kiểm tra lỗi
● SPI đòi hỏi các slave có một đường SS (slave Select) riêng biệt, vì thế nếu cần nhiều slave thì sẽ cần nhiều đường SS sẽ làm tốn chân của chip master
và nhiều dây sẽ gây rối
2.1.5.2 UART
Aruino Mega 2560 có đến 4 khối UART (UART0, UART1, UART2, UART3)
có khả năng hoạt động đến tốc độ 4.5Mbps
UART là tên gọi để chỉ một bộ phận phần cứng dùng để chuyển đổi thông tin
từ thanh ghi chứa nội dung cần trao đổi ra bên ngoài (thông thường có 8 bits) thành
2 dây tín hiệu Serial, phục vụ cho chuẩn giao tiếp Serial chứ không phải là tên gọi của một chuẩn giao tiếp Chuẩn giao tiếp truyền thông nối tiếp UART trên Arduino (hay còn được biết đến với tên gọi Serial) là chuẩn giao tiếp được sử dụng rất nhiều trong các ứng dụng
Khi sử dụng chuẩn giao tiếp Serial, để trao đổi thông tin một cách hiệu quả, đòi hỏi các thiết bị giao tiếp với nhau cần phải thống nhất với nhau một số quy cách riêng như tốc độ baud (baud rate), khung truyền (frame), start bit, stop bits,…
Baudrate: Ví dụ về việc truyền 1 bit data sau mỗi 1 micro giây, ta nhận thấy
rằng để việc giao tiếp diễn ra thành công, giữa 2 thiết bị cần có những thống nhất rõ ràng về khoảng thời gian truyền cho mỗi bit dữ liệu, hay nói cách khác tốc độ truyền cần phải được thống nhất với nhau Tốc độ này được gọi là tốc độ baud (baudrate), được định nghĩa là số bit truyền trong mỗi giây Ví dụ, nếu tốc độ baud được sử dụng
là 9600, có nghĩa thời gian truyền cho 1 bit là 1/9600 = 104.167 micro giây
Khung truyền (frame): Bên cạnh tốc độ baud, khung truyền đối với chuẩn
giao tiếp Serial cũng hết sức quan trọng để đảm bảo việc truyền nhận được diễn ra chính xác Khung truyền quy định về số lượng bit truyền trong mỗi lần truyền, bao
Trang 31gồm start bit, các bit data, stop bits, ngoài ra còn có thể có parity bit (kiểm tra lỗi dữ liệu trong quá trình truyền nhận)
Hình 2.8: Khung truyền dữ liệu
Hình ảnh trên là một ví dụ về khung truyền, bao gồm 1 bit start, 8 bits data, 1 bit parity (bit chẵn lẻ) và cuối cùng là 1 bit stop
Start bit: Đây là bit đầu tiên được truyền vào khung truyền, có chức năng thông báo cho thiết bị nhận biết đang có một chuỗi dữ liệu sắp truyền đến Đối với các dòng AVR nói chung và UnoX nói riêng, ở trạng thái chưa có dữ liệu (Idle) đường truyền luôn kéo lên mức cao Khi có dữ liệu mới, đường truyền được kéo xuống mức thấp, do đó start bit sẽ được quy định là mức 0
Dữ liệu (data): Dữ liệu cần truyền thông thường gồm 8 bits, tuy nhiên chúng ta hoàn toàn có thể tùy chỉnh số lượng bit data cho một gói tin, có thể là 5, 6, 7, 9… Trong quá trình truyền, bit có trọng số thấp nhất (LSB)
sẽ được truyền trước, và cuối cùng sẽ là bit có trọng số cao nhất (MSB)
Parity bit: Hay còn gọi là bit chẵn lẻ, là một cách để UART nhận cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong quá trình truyền hay không Sau khi UART nhận đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1
và kiểm tra xem tổng số là số chẵn hay lẻ Nếu bit parity là 0 (even parity – parity chẵn), thì tổng số bit 1 trong khung dữ liệu phải luôn là một số chẵn Nếu bit parity là 1 (odd parity – parity lẻ) thì số tổng bit 1 trong khung dữ liệu là một số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng quá trình truyền không có lỗi Nhưng nếu bit chẵn lẻ là 0 và tổng là
số lẻ, hoặc bit chẵn lẻ là 1 và tổng số là chẵn, thì UART biết rằng các bit trong khung dữ liệu đã thay đổi
Stop bits: Stop bits là một hoặc nhiều bit có chức năng thông báo cho thiết bị nhận biết rằng một gói dữ liệu đã được gửi xong Đây là bit quan trọng, cần phải có trong một khung truyền Giá trị của các stop bit luôn bằng mức Idle (mức nghỉ) và ngược với giá trị của start bit Đối với các dòng vi điều khiển AVR các bit kết thúc này luôn là mức cao
Trang 32Hình 2.9: Giao tiếp UART giữa hai thiết bị
Sử dụng chuẩn giao tiếp Serial với board Arduino
Giao tiếp Serial giữa 2 thiết bị với nhau thông thường sẽ có 2 dây tín hiệu, đó
là TX (Transmitter) có chức năng truyền tải dữ liệu và RX (Receiver) có chức năng thu nhận dữ liệu 2 dây tín hiệu này được kết nối chéo nhau giữa 2 thiết bị Cụ thể,
TX của thiết bị 1 kết nối với RX của thiết bị 2 và RX của thiết bị 1 kết nối với TX của thiết bị 2 Điều đặc biệt của Serial đó là quá trình truyền và quá trình nhận dữ liệu được diễn ra hoàn toàn độc lập với nhau
Nối dây 2 thiết bị:
● Nếu sử dụng Board Arduino để giao tiếp với máy tính (sử dụng cửa sổ Serial monitor trên ARDUINO IDE) thì không cần phải nối thêm gì cả vì trên board Arduino đã thực hiện sẵn việc đó, chỉ cần cắm cáp USB vào là được
● Nếu sử dụng Arduino để giao tiếp với 1 thiết bị, 1 module khác thì ta
sẽ nối chéo, TX – RX và RX – TX và đừng quên kiểm tra xem 2 thiết bị đã chung GND chưa, vì nếu chưa thì chúng sẽ không hiểu mức logic của nhau ==> không giao tiếp được
● Phức tạp hơn tí nữa là nếu như 2 thiết bị khác mức logic, ví dụ như 1 thiết bị 5v giao tiếp với 1 thiết bị 3.3V thì sẽ cần thêm các mạch để chuyển đổi điện áp cho phù hợp
Một số ưu nhược điểm của giao thức UART
Ưu điểm
● Chỉ sử dụng 2 dây để truyền dữ liệu
● Không cần tín hiệu xung clock
● Có bit chẵn lẽ giúp kiểm tra lỗi
● Phương pháp truyền đơn giản, ít xảy ra lỗi
Trang 332.1.5.3 I2C
I2C là một chuẩn giao tiếp theo mô hình master/slave được phát triển vào năm
1982 bởi hãng Philips cho việc giao tiếp ngoại vi giữa các vi điều khiển, IC trong khoảng cách ngắn
I2C là giao tiếp được kết hợp các tính năng tốt nhất của SPI và UART Với I2C, bạn có thể kết nối nhiều slave với một master duy nhất (như SPI) và bạn có thể
có nhiều master điều khiển một hoặc nhiều slaveChuẩn giao tiếp I2C được sử dụng rất phổ biến trong các thiết bị điện tử bởi đặc tính dễ thực hiện với giao tiếp giữa một hoặc nhiều thiết bị làm master với một hoặc hoặc nhiều thiết bị làm slave Các hãng sản xuất IC ngày nay đều hỗ trợ giao tiếp I2C trên các IC có ứng dụng cần giao tiếp với các IC hay các vi điều khiển khác
Hình 2.10: Giao tiếp I2C
I2C sử dụng 2 dây giao tiếp là SCL và SDA Dây SCL (viết tắt của Serial Clock Data) là dây truyền xung clock phát từ thiết bị master đồng bộ với việc truyền
dữ liệu Dây SDA (Serial Data) là dây truyền dữ liệu Trong đó:
Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều khiển đường tín hiệu SCL và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác
Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi
là các thiết bị Slave Các thiết bị Slave thường là các IC, hoặc thậm chí đôi khi là vi điều khiển
Master và Slave được kết nối với nhau như hình trên Hai đường bus SCL và SDA đều hoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng I2C này cũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại không thể kéo được lên mức cao Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo
Trang 34lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch
Do đó cần có 1 điện trờ ( từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao
Với giao tiếp I2C, dữ liệu sẽ được truyền dưới dạng tin nhắn Tin nhắn được chia thành các khung truyền dữ liệu Mỗi tin nhắn có một khung địa chỉ chứa địa chỉ nhị phân của slave và một hoặc nhiều khung dữ liệu chứa dữ liệu đang được truyền Thông báo cũng bao gồm các điều kiện bắt đầu và kết thúc, các bit đọc/ghi và các bit
ACK/NACK giữa mỗi khung dữ liệu
Hình 2.11: Khung truyền dữ liệu I2C Trong khung truyền gồm các thành phần:
- Khối bit địa chỉ: Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết
bị, IC với nhau Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định
- Bit Read/Write: Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược lại, nhận dữ liệu khi bit này bằng ‘1’
- Bit ACK/NACK (Acknowledged / Not Acknowledged): Dùng để so sánh bit địa chỉ vật lý của thiết bị so với địa chỉ được gửi tới Nếu trùng thì Slave sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’
- Khối bit dữ liệu: Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại
Quá trình truyền nhận dữ liệu:
- Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1 xuống 0
- Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write
- Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới Nếu trùng khớp, Slave
sẽ xác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’ Nếu không trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’
Trang 35- Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu Nếu Master gửi đến Slave thì bit Read/Write ở mức 0 Ngược lại nếu nhận thì bit này ở mức 1
- Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thành mức 0 để báo hiệu cho Master tiếp tục
- Sau khi tất cả dữ liệu đã được gửi đến Slave thành công, Master sẽ phát 1 tín hiệu Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển lần lượt SCL, SDA từ mức 0 lên mức 1
Một số ưu nhược điểm của giao thức I2C
Ưu điểm:
● Chỉ sử dụng 2 dây để truyền dữ liệu
● Hỗ trợ nhiều master nhiều slave
● Có bit ACK/NACK xác nhận mỗi khung được truyền xong
● Phần cứng ít phức tạp hơn so với UART
Nhược điểm:
● Kích thước khung dữ liệu giới hạn tói đa là 8 bit
● Tốc độ truyền chậm hơn so với SPI, phần cứng cũng phức tạp hơn
2.2 CÔNG NGHỆ RFID
2.2.1 Giới thiệu về công nghệ RFID
RFID – Radio Frequency Identification Detection là công nghệ nhận dạng đối tượng bằng sóng vô tuyến Công nghệ này cho phép nhận biết các đối tượng thông qua hệ thống thu phát sóng radio, từ đó có thể giám sát, quản lý hoặc lưu thông tin từng đối tượng, có nhiều ưu điểm vượt trội Với công nghệ này cho phép dữ liệu trên một con chip được đọc một cách “không tiếp xúc” qua đường sóng vô tuyến và tùy theo từng loại thẻ RFID được sử dụng, phạm vi đọc thẻ có thể ở khoảng cách từ vài
cm tới hơn 20m trong không gian 3 chiều
Trang 362.2.2 Cấu trúc hệ thống RFID
Hình 2.12: Một hệ thống RFID
Là một phương pháp nhận dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng 2 thiết bị: 1 là Thẻ RFID và 1 Reader hay còn gọi là đầu đọc RFID, công nghệ RFID hoạt động theo nguyên lý khá đơn giản
Thiết bị RFID đọc được đặt cố định ở một vị trí Chúng sẽ phát ra sóng vô tuyến điện ở một tần số nhất định để phát hiện thiết bị phát xung quanh đó Khi RFID phát đi vào vùng sóng vô tuyến điện mà RFID đọc phát ra, hai bên sẽ cảm nhận được nhau RFID phát sẽ nhận sóng điện tử, thu nhận và phát lại cho RFID đọc về mã số của mình Nhờ vậy mà RFID đọc biết được thiết bị RFID phát nào đang nằm trong vùng hoạt động
Bên trong thẻ chip của công nghệ RFID chứa các mã nhận dạng Đối với thẻ 32bit có thể chứa tới 4 tỷ mã số Khi sản xuất, mỗi một thẻ chip RFID sẽ được gắn 1
mã số hoàn toàn khác nhau Điều này sẽ giúp cho RFID đọc nhận dạng chính xác mà không bị nhầm lẫn Chính nhờ điều này giúp cho các thiết bị đã được gắn RFID mang lại độ an toàn, tính bảo mật cao
Các thiết bị đọc RFID rất đa dạng, nhiều chủng loại, có thể kể đến một số loại tiêu biểu như:
R10C RFID 125Khz (một loại đầu đọc thẻ thông minh nhưng chỉ đọc tần số thấp, với thiết kế hình hộp chữ nhật có kích thước 110×80×26
mm, giá thành khá cao)
NFC-RFID CR95HF Module (đây là một sản phẩm được thiết kế để giới thiệu các tính năng nổi bật của IC giao tiếp gần NFC-RFID CR95HF của hãng STMicroelectronics, kích thước gọn nhẹ, hỗ trợ nhiều loại tag NFC, và tính năng vượt trội, tuy nhiên giá thành lại rất cao và khó tìm mua)
Trang 37 RC522 Mạch Đọc Ghi IC RFID (hoạt động với tần số 13.56mhz không tiếp xúc, sử dụng chip tiêu thụ điện năng thấp và kích thước nhỏ gọn,
là sự lựa chọn tốt nhất trong sự phát triển các ứng dụng thông minh như máy đo và thiết bị cầm tay di động, , thường được sử dụng cho dữ án của sinh viên nên rất dễ dàng tìm thấy ở các cửa hang bán linh kiện điện
tử, và giá thành cũng phù hợp hơn nhiều)
Qua nhiều cân nhắc nhóm đã lựa chọn Module RFID RC522 vì nhiều ưu điểm vượt trội hơn so với những sản phẩm đọc ghi RFID tương tự Ngoài ra nhóm cũng giới thiệu các tần số thường được dùng trong hệ thống RFID, từ đó lựa chọn tần số sử dụng với module đã chọn
- Tần số thấp: 125KHz – 134.2KHz
- Tần số cao: 13.56MHz
- Tần số cực cao: 860MHz - 960MHz
- Tần số siêu cao: 2.45GHz
2.2.3 Ứng dụng của công nghệ RFID
Những ứng dụng công nghệ RFID được sử dụng rất phổ biến trong đời sống hiện nay, ví dụ như trong hệ thống quản lý hàng hóa, quản lý kho, quản lý thu phí đường bộ từ động, bãi giữ xe,
Trang 382.3 MODULE RFID RC522
2.3.1 Giới thiệu module RFID RC522
Module RFID RC522 được dùng để đọc và ghi dữ liệu cho thẻ NFC với tần số 13.56mhz Với thiết kế nhỏ gọn, linh hoạt module này là sự lựa chọn thích hợp cho các ứng dụng đọc – ghi thẻ NFC, còn có thể kết hợp với Arduino
Hình 2.13: Module RFID RC522 Thông số kỹ thuật:
Trang 392.3.2 Giao tiếp với phần cứng
Hình 2.14: Sơ đồ chân của module RFID RC522
Chân cấp nguồn / reset
GND: kết nối với GND của nguồn
RST: chân Reset khi thiết bị không bất kỳ phản hồi
VCC: kết nối với nguồn 3.3V để cấp nguồn cho module hoạt động
Chân giao tiếp SPI và UART
SS/SDA/RX: Chân SS là chân kích hoạt giao tiếp SPI Nhận tín hiệu khi Master (Arduino) giao tiếp SPI Chân SS của RFID có thể được sử dụng như một chân thứ hai (SDA) của giao tiếp I2C Cũng là chân nhận dữ liệu
RX trong quá trình giao tiếp UART
SCK: Các chân xung clock khi giao tiếp SPI
MOSI: Là chân đầu vào dữ liệu module RFID khi giao tiếp SPI
MISO/SCL/TX: Chân này kết nối với Arduino / Vi điều khiển để giao tiếp SPI, truyền dữ liệu từ module sang Arduino Chân MISO có thể sử dụng cho các chức năng khác thay vì SPI Cũng có thể giao tiếp I2C và UART Serial với module
IRQ: Linh kiện có thể chuyển sang chế độ ngủ để tiết kiệm điện năng và chân IRQ sẽ khởi động lại
2.4 CÔNG NGHỆ BẢO MẬT VÂN TAY
2.4.1 Giới thiệu công nghệ bảo mật vân tay
Thực tế, dáng đi, gương mặt, hoặc chữ ký có thể thay đổi với thời gian và có thể được làm giả hoặc mô phỏng theo, nhưng vân tay là duy nhất hoàn hảo theo từng
cá nhân và cố định không thay đổi theo thời gian Tính riêng biệt này đã minh chứng rằng nhận dạng vân tay là chính xác và hiệu quả hơn các phương pháp nhận dạng khác
Trang 40Quét vân tay là một công nghệ bảo mật sử dụng dấu vân tay của một người để xác định danh tính của người đó Như chúng ta đều biết mỗi người sẽ sở hữu những cấu trúc vân tay riêng biệt, hay nói cách khác dấu vân tay của chúng ta hoàn toàn không giống nhau
Hình 2.15: Ứng dụng của công nghệ vân tay trong xác thực tài khoản ngân hàng 2.4.2 Ứng dụng công nghệ vân tay
Công nghệ vân tay đã không còn là điều gì quá mới mẻ, không chỉ dừng lại ở bước bảo mật trong chiếc điện thoại thông minh đắt tiền như trước, bảo mật vân tay ngày nay dần trở thành một công nghệ bổ sung không thể thiếu của bất kỳ một sản phẩm điện tử hay hệ thống an ninh nào
Các ứng dụng của công nghệ bảo mật vân tay đang áp dụng hiện nay phần lớn được sử dụng trong các lĩnh vực an ninh (đặc biệt với tỷ lệ trùng dấu vân tay là 1/64
tỷ dấu vân tay), ví dụ như: điện thoại di động, hệ thống khóa cửa, hệ thống máy chấm công, phục vụ cho các ứng dụng sinh trắc học,…
Trong công nghệ vân tay thì thành phần quan trọng không thể thiếu đó chính
là cảm biến, trên thị trường ngày nay cung cấp nhiều loại cảm biến vân tay khác nhau, một số loại như cảm biến quang học, cảm biến sóng siêu âm, cảm biến điện dung,… Nổi bật như sản phẩm bộ giải mã vân tay R305 mà nhóm đã lựa chọn sử dụng làm cảm biến vân tay cho lớp bảo mật thứ hai của hệ thống Bởi vì đây là một sản phẩm thường xuyên được sử dụng, có thể tìm hiểu thông số kỹ thuật và cách hoạt động với nguồn tài liệu rộng rãi trên các trang mạng, lại có giá thành khá thấp so với các sản phẩm cùng chức năng