1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay

104 7 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Bãi Giữ Xe Ứng Dụng Công Nghệ Nhận Dạng Dấu Vân Tay
Tác giả Nguyễn Nhật Minh, Dương Lâm Duy
Người hướng dẫn ThS. Đậu Trọng Hiển
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp.Hcm
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử Truyền Thông
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2015
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 104
Dung lượng 9,51 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong thời gian làm việc với thầy, người thựchiện báo cáo không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học tậpđược tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc

Trang 1

KHÓA LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG

THIẾT KẾ BÃI GIỮ XE ỨNG DỤNG CÔNG NGHỆ NHẬN DẠNG DẤU VÂN TAY

GVHD: ThS ĐẬU TRỌNG HIỂN SVTH: NGUYỄN NHẬT MINH MSSV: 11141132

SVTH: DƯƠNG LÂM DUY MSSV: 11141269

SKL003882

Trang 2

Tp Hồ Chí Minh, ngày 20 tháng 07 năm 2015

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

Họ và tên sinh viên: Nguyễn Nhật Minh

Họ và tên sinh viên: Dương Lâm Duy

Giảng viên hướng dẫn: ThS Đậu Trọng Hiển

Ngày nhận đề tài: 20/3/2015

MSSV: 11141132 MSSV: 11141269 ĐT: 0983 712 862

Ngày nộp đề tài: 20/7/2015

1 Tên đề tài: THIẾT KẾ BÃI GIỮ XE ỨNG

DỤNG CÔNG NGHỆ NHẬN DẠNG DẤU VÂN

TAY

2 Các số liệu, tài liệu ban đầu:

 Các giáo trình về lập trình C#, lập trình

Arduino

3 Nội dung thực hiện đề tài:

 Tìm hiểu, nghiên cứu về Kit Arduino UNO R3, module cảm biến vân tay R305

 Thiết kế, xây dựng hệ thống giữ xe ứng dụng công nghệ nhận dạng dấu vân tay

4 Sản phẩm:

 Thiết kế được máy quét vân tay

 Thiết kế được phần mềm quản lý xe ra/vào

Trang 3

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Họ và tên Sinh viên: Nguyễn Nhật Minh

Họ và tên Sinh viên: Dương Lâm Duy

Ngành: CNKT Điện Tử, Truyền Thông

MSSV: 11141132 MSSV: 11141269

Tên đề tài: THIẾT KẾ BÃI GIỮ XE ỨNG DỤNG CÔNG NGHỆ NHẬN DẠNG DẤU

VÂN TAY

Họ và tên Giáo viên hướng dẫn: ThS Đậu Trọng Hiể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ữ: )

Tp Hồ Chí Minh, ngày tháng năm 20…

Giáo viên hướng dẫn

(Ký & ghi rõ họ tên)

Trang 4

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Họ và tên Sinh viên: Nguyễn Nhật Minh

Họ và tên Sinh viên: Dương Lâm Duy

Ngành: CNKT Điện Tử, Truyền Thông

MSSV: 11141132 MSSV: 11141269

Tên đề tài: THIẾT KẾ BÃI GIỮ XE ỨNG DỤNG CÔNG NGHỆ NHẬN DẠNG DẤU

VÂN TAY

Họ và tên Giáo viên phản biện 1: ThS Nguyễn Ngô Lâm

Họ và tên Giáo viên phản biện 2: TS Võ Minh Huâ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ữ: )

Tp Hồ Chí Minh, ngày tháng năm 20…

Giáo viên phản biện

Trang 5

Người thực hiện báo cáo xin gửi lời cảm ơn sâu sắc tới thầy Đậu Trọng Hiển

đã tận tình giúp đỡ, chỉ bảo, hướng dẫn người thực hiện báo cáo thực hiện trongsuốt quá trình thực hiện đề tài này Trong thời gian làm việc với thầy, người thựchiện báo cáo không những tiếp thu thêm nhiều kiến thức bổ ích mà còn học tậpđược tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả của thầyđây là những điều rất cần thiết cho người thực hiện báo cáo trong quá trình học tập

và công tác sau này

Đồng thời người thực hiện báo cáo xin cảm ơn các thầy cô trong Khoa Điện Điện Tử đã tạo điều kiện, cung cấp cho người thực hiện báo cáo những kiến thức cơbản, cần thiết để người thực hiện báo cáo có điều kiện và đủ kiến thức để thực hiệnquá trình nghiên cứu

-Đồng thời, người thực hiện báo cáo cũng xin cảm ơn các thành viên trong lớp11141CLDT1 đã có những ý kiến đóng góp, bổ sung, giúp người thực hiện báo cáohoàn thành tốt đề tài

Ngoài ra, người thực hiện báo cáo cũng đã nhận được sự chỉ bảo của các anh(chị) đi trước Các anh (chị) cũng đã hướng dẫn và giới thiệu tài liệu tham khảothêm trong việc thực hiện nghiên cứu

Trân trọngNhóm thực hiện đồ án

Dương Lâm Duy Nguyễn Nhật Minh

Trang 6

Trong thời đại của thế kỷ 21, với sự phát triển nhảy vọt của trình độ khoa học

kỹ thuật, con người đã tạo nên và phát triển nhiều công trình khoa học mang tínhtầm cỡ Với sự thay thế dần của máy móc cho con người trong các nhiệm vụ mangtính chính xác và tập trung cao thì kết quả đạt được đã hoàn toàn được tin cậy vàđánh giá cao Điều này thực sự có ý nghĩa to lớn và góp phần tăng thêm giá trị vàchất lựợng cuộc sống

Trong đồ án tốt nghiệp này, xây dựng hệ thống giữ xe ứng dụng công nghệnhận dạng dấu vân tay cũng không nằm ngoài ý nghĩa đó Đây là một đề tài ứngdụng thú vị mà nhiều nhà khoa học đã, đang và sẽ không ngừng nghiên cứu vì nhucầu thực tiễn và đa dạng phương pháp tiếp cận

Trong đề tài này sẽ trình bày các vấn đề liên quan tới kiến thức nền tảng xâydựng nên đồ án Người thực hiện báo cáo đã sử dụng công cụ Visual C#.NET để lậptrình cho phần mềm và môi trường lập trình Arduino IDE để lập trình cho phầncứng Ngoài ra người thực hiện báo cáo còn quan sát trực tiếp một số hệ thống giữ

xe thông minh hiện nay để tham khảo khi thực hiện đề tài này

Hệ thống giữ xe ứng dụng công nghệ nhận dạng dấu vân tay là hệ thống kếthợp kỹ thuật nhận dạng dấu vân tay và nhận dạng bán tự động qua các camera quansát

Trải qua một khoảng thời gian nghiên cứu và thực hiện, người thực hiện báocáo cũng đã xây dựng được hệ thống giữ xe ứng dụng công nghệ nhận dạng dấu vântay với nguyên tắc hoạt động như sau:

Khi xe vào - ra: Hệ thống sẽ nhận dạng và so khớp biển số (bán tự động),quét và so khớp mã vân tay (tự động), đồng thời nhân viên sẽ đối chiếu hình ảnhngười gửi xe và biển số xe đã lưu trong hệ thống với hình ảnh hiện tại

Trang 7

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ii

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN iii

LỜI CẢM ƠN iv

TÓM TẮT v

MỤC LỤC vi

DANH MỤC CÁC CHỮ VIẾT TẮT xi

DANH MỤC CÁC BẢNG BIỂU xii

DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ xiii

Chương 1 1

TỔNG QUAN 1

1.1 Giới thiệu tình hình nghiên cứu hiện nay 1

1.2 Tính cấp thiết của đề tài 1

1.3 Mục tiêu nghiên cứu 2

1.4 Nhiệm vụ nghiên cứu 2

1.5 Đối tượng và phạm vi nghiên cứu 2

1.6 Phương pháp nghiên cứu 2

1.7 Bố cục đồ án 2

Chương 2 4

CƠ SỞ LÝ THUYẾT 4

2.1 Kit Arduino Uno R3 4

2.1.1 Lịch sử ra đời của Arduino 4

2.1.2 Các loại board mạch của Arduino 5

2.1.3 Một số ứng dụng nổi bật của Board Arduino 7

2.1.4 Tổng quan về Kit Arduino Uno R3 9

2.1.4.1 Thông số của Arduino Uno R3 10

2.1.4.2 Cấu tạo 11

2.1.4.3 Vi điều khiển 13

Trang 8

2.1.4.4.1 Năng lượng 14

2.1.4.4.2 Các chân năng lượng của Arduino Uno R3 15

2.1.4.5 Bộ nhớ 15

2.1.4.6 Các cổng vào/ra 16

2.1.4.7 Cấu trúc phần mềm và lập trình cho Arduino 17

2.1.4.7.1 Download cài cài đặt Arduino IDE 17

2.1.4.7.2 Lập trình cho Arduino 18

2.2 Module cảm biến vân tay R305 19

2.2.1 Giới thiệu 19

2.2.1.1 Hình ảnh thực tế 19

2.2.1.2 Kết nối với vi điều khiển 19

2.2.1.3 Các thông số kỹ thuật 19

2.2.2 Nguyên lý hoạt động 20

2.2.3 Giao tiếp với vi điều khiển thông qua UART 21

2.2.4 Giao thức truyền gói dữ liệu 21

2.3 Chuẩn truyền dữ liệu 22

2.4 Giao tiếp máy tính và cơ sở dữ liệu 22

2.4.1 Giao tiếp máy tính 22

2.4.1.1 Giới thiệu về chuẩn giao tiếp USB 23

2.4.1.2 Mô hình Bus USB 24

2.4.1.3 Các kiểu truyền USB 25

2.4.1.4 Giao diện vật lý Bus USB 26

2.4.1.5 Giao thức truyền 28

2.4.2 Hệ quản trị cơ sở dữ liệu Microsoft Access 32

2.4.2.1 Định nghĩa HQT CSDL 32

2.4.2.2 Cơ sở dữ liệu (Database) 33

2.4.2.2.1 Định nghĩa 33

2.4.2.2.2 Các loại mô hình CSDL 33

2.4.2.2.2.1 Mô hình CSDL mức khái niệm 33

Trang 9

2.4.2.3.2 Các đối tượng chính của Micosoft Access 34

2.4.2.3.3 Định nghĩa một số thuật ngữ 35

2.4.3 Công cụ sử dụng 35

2.4.3.1 Microsoft Visual Studio 2013 36

2.4.3.2 Ngôn ngữ C# 37

2.4.3.3 Ngôn ngữ SQL 38

2.4.3.3.1 Giới thiệu 38

2.4.3.3.2 Cấu trúc lệnh 39

Chương 3 41

CÔNG NGHỆ SINH TRẮC HỌC TRONG NHẬN DẠNG DẤU VÂN TAY 41

3.1 Công nghệ sinh trắc học 41

3.2 Công nghệ sinh trắc học trong nhận dạng dấu vân tay 41

3.2.1 Lý do chọn dấu vân tay 42

3.2.2 Lịch sử của công nghệ vân tay 42

3.2.3 Nguyên lý hoạt động 43

3.2.3.1 Sự đăng ký 43

3.2.3.2 Sự nhận dạng 44

3.2.4 Ứng dụng 45

Chương 4 47

THIẾT KẾ HỆ THỐNG 47

4.1 Sơ đồ khối hệ thống 47

4.1.1 Yêu cầu của hệ thống 47

4.1.2 Sơ đồ khối và chức năng mỗi khối 48

4.1.2.1 Sơ đồ khối 48

4.1.2.2 Chức năng từng khối 48

4.1.3 Hoạt động của hệ thống 49

4.1.4 Tính năng của hệ thống 49

4.1.5 Lợi ích của hệ thống 50

4.1.6 Cấu hình cơ bản của hệ thống 50

Trang 10

4.2.1.1.1 Phần cứng 51

4.2.1.1.1.1 Sơ đồ, chức năng 52

4.2.1.1.1.2 Kết nối 52

4.2.1.1.1.3 Sơ đồ layout 54

4.2.1.1.2 Phần mềm 55

4.2.2 Khối 2: Module cảm biến vân tay R305 56

4.2.3 Khối 3: LED đơn 57

4.2.3.1 Phương án thiết kế 57

4.2.3.2 Tính toán, giải thích 57

4.2.4 Khối 4: Webcam 57

4.2.5 Giao tiếp máy tính 58

4.2.5.1 Yêu cầu 58

4.2.5.2 Phần mềm 59

4.2.5.2.1 Xe vào 59

4.2.5.2.2 Xe ra 60

4.2.5.3 Thiết kế giao diện chính chủa chương trình 61

4.2.5.4 Thiết kế mô hình CSDL (Microsoft Access) 63

4.2.5.4.1 Cơ sở dữ liệu về quản lý xe ra/vào 63

4.2.5.4.2 Cơ sở dữ liệu về quản lý nhân viên 64

4.2.5.4.3 Cơ sở dữ liệu về tính doanh thu 65

4.2.5.4.4 Cơ sở dữ liệu về chấm công nhân viên 65

4.2.5.4.5 Cơ sở dữ liệu về chấm công nhân viên (Tổng thời gian trực) 66 4.2.5.4.6 Cơ sở dữ liệu về bảng giá giữ xe 66

4.2.6 Mô hình triển khai ra thực tế 67

Chương 5 69

KẾT QUẢ 69

5.1 Kết quả nghiên cứu 69

5.1.1 Kết quả phần cứng 69

5.1.2 Kết quả phần mềm 71

Trang 11

5.1.2.4 Giao diện chức năng tính doanh thu 75

5.1.2.5 Giao diện chức năng thống kê 75

5.1.2.6 Giao diện chức năng quản lý giá giữ xe 76

5.1.2.7 Giao diện chức năng chấm công nhân viên 77

5.1.2.8 Giao diện chức năng quản lý nhân viên 78

5.1.2.9 Chức năng lưu trữ 79

5.2 Phân tích ưu, nhược điểm 79

Chương 6 81

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 81

6.1 Kết luận 81

6.1.1 Kết quả đạt được 81

6.1.2 Ý nghĩa 81

6.2 Hướng phát triển 81

TÀI LIỆU THAM KHẢO 82

PHỤ LỤC 1: CHƯƠNG TRÌNH 83

PHỤ LỤC 2: HƯỚNG DẪN SỬ DỤNG 84

Trang 12

USB: Universal Serial Bus

PC: Personal Computer

HID: Human Interface Device

LSB: Least Significant Bit

MSB: Most Significant Bit

SOP: Start Of Packet

NRZI: Non Return to Zero Inverted

EOP: End Of Packet

ISO: Internationnal Standards Organization

ANSI: American National Standards Istitude

SQL: Structured Query Language

DDL: Data Definition Language

DML: Data Manipulation Language

ID: Identification

Trang 13

Bảng 2.1: Một số thông số của Arduino UNO R3 10

Bảng 2.2: Thông số kỹ thuật của cảm biến vân tay R305 19

Bảng 2.3: Cable USB 27

Bảng 2.4: Bảng mã nhận dạng PID 29

-Bảng 4.1: -Bảng thực thể CSDL1 63

Bảng 4.2: Bảng thực thể DSNV 64

Bảng 4.3: Bảng thực thể DOANHTHU 65

Bảng 4.4: Bảng thực thể CHAMCONG 65

Bảng 4.5: Bảng thực thể CHAMCONG1 66

Bảng 4.6: Bảng thực thể BANGXE 66

Trang 14

Hình 2.1: Những thành viên khởi xướng Arduino 4

Hình 2.2: Arduino Duemilanove 5

Hình 2.3: Arduino Diecimila 5

Hình 2.4: Arduino UNO 5

Hình 2.5: Arduino Leonardo 5

Hình 2.6: Arduino Mega 2560 R3 6

Hình 2.7: Arduino Mega 6

Hình 2.8: Arduino Nano 6

Hình 2.9: Arduino Due (nền tảng ARM) 6

Hình 2.10: LilyPad Arduino 6

Hình 2.11: Shield Ethernet 7

Hình 2.12: Shield LCD key 7

Hình 2.13: Máy in 3D Makerbot điều khiển bằng Arduino Mega2560 8

Hình 2.14: Thiết bị bay không người lái UAV 8

Hình 2.15: Robot di động tránh vật cản dùng Arduino nano và camera CMUCam 8

Hình 2.16: Kit Arduino Uno R3 10

Hình 2.17: Cấu tạo kit Arduino Uno R3 11

Hình 2.18: Mặt trước của Kit Arduino Uno R3 12

Hình 2.19: Mặt sau của Kit Arduino Uno R3 12

Hình 2.20: Vi điều khiển Atmega328 13

Hình 2.21: Vi điều khiển Atmega328 13

Hình 2.22: Sơ đồ chân 14

Hình 2.23: Các cổng vào/ra của Arduino Uno R3 16

Hình 2.24: Phần mềm lập trình cho Arduino 18

Hình 2.25: Cảm biến vân tay R305 19

Hình 2.26: Khung truyền định dạng 10 bit 21

Hình 2.27: Cáp USB kết nối Arduino với máy tính và cấu tạo của nó 23

Trang 15

Hình 2.31: Kiểu đầu nối USB 27

Hình 2.32: Các loại gói nhận dạng trong truyền thông USB 30

Hình 2.33: Gói Khởi đầu khung 31

Hình 2.34: Gói dữ liệu 31

Hình 2.35: Gói bắt tay 32

Hình 2.36: Microsoft Access 32

Hình 2.37: Microsoft SQL Server 32

Hình 2.38: Giao diện của Microsoft Access 34

Hình 2.39: Giao diện chính của Microsoft Visual Studio 2013 36

Hình 2.40: Ngôn ngữ C# 37

Hình 2.41: Ngôn ngữ SQL 38

-Hình 3.1: Công nghệ sinh trắc học trong nhận dạng dấu vân tay 41

Hình 3.2: Mẫu vân tay 42

Hình 3.3: Lấy vân tay bằng phương pháp lăn tay 43

Hình 3.4: Sử dụng thiết bị để lấy vân tay 44

Hình 3.5: Máy chấm công sử dụng công nghệ nhận dạng dấu vân tay 45

Hình 3.6: Máy ATM bảo mật bằng vân tay 45

Hình 3.7: Khóa vân tay 46

Hình 4.1: Mô hình của hệ thống 47

Hình 4.2: Sơ đồ khối của hệ thống 48

Hình 4.3: Sơ đồ, chức năng các chân của board Arduino UNO 52

Hình 4.4: Sơ đồ kết nối dây của máy quét vân tay 53

Hình 4.5: Sơ đồ layout và bố trí linh kiện trong mạch 54

Hình 4.6: Lưu đồ giải thuật phần mềm 55

Hình 4.7: Module cảm biến vân tay R305 56

Hình 4.8: LED đơn 57

Hình 4.9: Webcam kết hợp Micro 58

Trang 16

Hình 4.12: Giao diện của chương trình khi thiết kế 4 PictureBox 61

Hình 4.13: Giao diện của chương trình khi thiết kế 6 PictureBox 62

Hình 4.14: Giao diện của chương trình khi thiết kế 8 PictureBox 63

Hình 4.15: Mô hình triển khai ra thực tế 67

-Hình 5.1: -Hình ảnh sản phẩm nhìn từ trên xuống 70

Hình 5.2: Hình ảnh mặt trước và sau của sản phẩm 70

Hình 5.3: Hình ảnh mạch thực tế 71

Hình 5.4: Giao diện chức năng đăng nhập 71

Hình 5.5: Giao diện chức năng chính (Ghi danh) 72

Hình 5.6: Giao diện chức năng chính (Kiểm tra) 73

Hình 5.7: Giao diện chức năng tìm kiếm 74

Hình 5.8: Giao diện chức năng tính doanh thu 75

Hình 5.9: Giao diện chức năng thống kê 75

Hình 5.10: Giao diện chức năng quản lý giá giữ xe 76

Hình 5.11: Giao diện chức năng chấm công nhân viên 77

Hình 5.12: Giao diện chức năng quản lý nhân viên 78

Hình 5.13: Lưu trữ dữ liệu dưới dạng Excel 79

Trang 17

Chương 1

TỔNG QUAN

1.1 Giới thiệu tình hình nghiên cứu hiện nay

Ngày nay, cùng với những tiến bộ vượt bậc của khoa học kỹ thuật nói chung,

bộ môn khoa học nhận dạng ảnh đã và đang thu được những thành tựu to lớn vàchứng tỏ vai trò không thể thiếu với những ứng dụng sâu rộng trong khoa học kỹthuật cũng như trong đời sống Một bộ phận của khoa học xử lý ảnh là nhận dạngảnh vân tay đã được nghiên cứu từ lâu và đưa vào áp dụng trong đời sống

Đồng thời việc phát triển của các thiết bị phần cứng cả về phương diện thunhận, hiển thị, tốc độ xử lý đã mở ra nhiều hướng mới cho công nghệ nhận dạng nóichung và nhận dạng ảnh vân tay nói riêng Nó có thể giải quyết các bài toán như giámsát tự động, bảo mật dữ liệu, xác thực cá nhân phục vụ trong cơ quan, ngân hàng, …

Công nghệ sinh trắc được áp dụng phổ biến và lâu đời nhất là công nghệnhận dạng vân tay Dấu vân tay là một đặc điểm quan trọng để phân biệt giữa ngườinày và người khác Công nghệ này đã mang lại nhiều thành quả lớn lao về mặt khoahọc công nghệ nói chung và đời sống con người nói riêng Hiện nay, vân tay là mộttrong những công nghệ mang tính bảo mật tốt nhất và thông dụng nhất Nhiều sảnphẩm công nghệ đã ứng dụng vân tay để bảo vệ thông tin, tài sản, dữ liệu như: máy

vi tính, két sắt, khóa cửa, máy chấm công, …Các nước phát triển đã bắt đầu triểnkhai ứng dụng công nghệ nhận dạng vân tay vào chứng minh thư, hộ chiếu điện tử

1.2 Tính cấp thiết của đề tài

Chúng ta ai cũng biết những nhược điểm vốn có của cách giữ xe cổ điển: Chậmchạp gây ùn tắc nhất là ở những thời điểm lưu lượng xe ra vào lớn Có khi năm, sáunhân viên giữ xe cũng làm không xuể Nếu có ai đó lỡ làm mất thẻ giữ xe thì thật là rắcrối Để lấy được xe có nơi yêu cầu phải có cà vẹt, CMND hoặc hộ khẩu

Đã bước sang thế kỷ 21, thế kỷ của kỹ thuật số, cũng là lúc chúng ta nói lờichia tay với bãi giữ xe cổ điển Thay vào đó là một hệ thống giữ xe hiện đại hơn,tiện lợi hơn, an toàn và thông minh hơn,

Xuất phát từ tình hình trên, người thực hiện báo cáo đã mạnh dạn chọn công

nghệ nhận dạng vân tay để tìm hiểu, nghiên cứu đề tài : “ THIẾT KẾ BÃI GIỮ XE

Trang 18

cứu lý luận, phục vụ công tác an ninh, giải quyết được các vấn đề còn bất cập ở cácbãi giữ xe hiện nay.

Đề tài này sẽ đáp ứng được các như cầu như sau:

Vân tay của mỗi người là duy nhất Khi vào gửi xe, người gửi quét vân taycủa mình đồng thời hệ thống chụp biển số và gương mặt của chủ xe Lúc lấy xe ra,người gửi quét vân tay và hệ thống sẽ hiện lên hình ảnh chụp lúc gửi xe Nhân viêngiữ xe so sánh, nhận dạng và quyết định cho xe ra

Hệ thống sử dụng vân tay nên bảo đảm an toàn tuyệt đối và khách hàngkhông lo sợ mất thẻ giữ xe Không ai có thể lấy xe của bạn ngoại trừ chính bạn.Việcdùng vân tay làm cho hệ thống hoạt động hiệu quả, an toàn và tiết kiệm chi phí hơnbất kỳ hệ thống giữ xe nào khác có trên thị trường hiện nay

1.3 Mục tiêu nghiên cứu

 Xây dựng chương trình quản lý xe ra/vào tại các bãi giữ xe hiện nay ở Việt Nam

 Nghiên cứu ứng dụng và xây dựng phần mềm phát hiện và nhận dạng dấu vân tay của người gửi xe

 Thiết kế máy quét vân tay

1.4 Nhiệm vụ nghiên cứu

 Nghiên cứu các vấn đề lý luận chung về Board Arduino và ứng dụng của nó

 Tìm hiểu về thực trạng của những bãi giữ xe hiện nay

 Trên cơ sở đó đề xuất một phương pháp thiết kế hệ thống giữ xe ứng dụngcông nghệ nhận dạng dấu vân tay nhằm cải thiện được những bất cập của các bãi giữ xehiện nay

1.5 Đối tượng và phạm vi nghiên cứu

 Kit Arduino Uno R3

 Module nhận dạng vân tay R305

 Chuẩn truyền máy tính

 Cơ sở dữ liệu và giao tiếp máy tính

1.6 Phương pháp nghiên cứu

 Phương pháp nghiên cứu tài liệu

 Phương pháp quan sát

 Phương pháp nghiên cứu sản phẩm hoạt động (Hệ thống giữ xe dùng thẻ từ)

 Phương pháp phân tích, tổng hợp, …

Trang 19

Bố cục gồm có 6 chương:

Chương 1: Tổng quan

Chương này xoay quanh giới thiệu chung về đề tài, lý do chọn đề tài,mục tiêu của đề tài, …

Chương 2: Cơ sở lý thuyết

Giới thiệu tổng quan về lý thuyết liên quan cũng như các thiết bị phầncứng sử dụng trong hệ thống

Chương 3: Công nghệ sinh trắc học trong nhận dạng dấu vân tay

Giới thiệu về công nghệ sinh trắc học trong nhận dạng dấu vân tay vànhững ứng dụng của nó

Chương 4: Thiết kế hệ thống

Chương này đề cập đến các yêu cầu và chức năng của phần cứng, chitiết sơ đồ khối, chức năng từng khối và sơ đồ nguyên lý từng khối, xây dựnglưu đồ giải thuật cho phần cứng và phần mềm

Chương 5: Kết quả

Trình bày kết quả đạt được của đề tài

Chương 6: Kết luận và hướng phát triển

Đánh giá các kết quả đã được, những hạn chế thiếu sót, kết luận vàhướng phát triển của đề tài tương lai

Trang 20

Chương 2

CƠ SỞ LÝ THUYẾT

2.1 Kit Arduino Uno R3

2.1.1 Lịch sử ra đời của Arduino

Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là nhữngngười tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giốngvới những gì Apple đã làm được trên thị trường thiết bị di động Số lượng người dùngcực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm chongay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến

Hình 2.1: Những thành viên khởi xướng Arduino.

Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tạicác trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặcngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng đểphát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác?

Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác vớicác thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổibật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngônngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử

và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất

Trang 21

đã có thể sở hữu một bo Arduino có 20 ngõ I/O có thể tương tác và điều khiểnchừng ấy thiết bị.

Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vịvua vào thế kỷ thứ 9 là King Arduin Arduino chính thức được đưa ra giới thiệu vàonăm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sưMassimo Banzi, là một trong những người phát triển Arduino, tại trường InteractionDesign Instistute Ivrea (IDII) Mặc dù hầu như không được tiếp thị gì cả, tin tức vềArduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹpcủa những người dùng đầu tiên Hiện nay Arduino nổi tiếng tới nỗi có người tìmđến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra Arduino

2.1.2 Các loại board mạch của Arduino

Phần cứng Arduino gốc được sản xuất bởi 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ỹ tên làSparkFun Electronics 9 phiên bản phần cứng của Arduino cũng đã được sản xuấtthương mại tính đến thời điểm hiện tại

Hình 2.2: Arduino Duemilanove Hình 2.3: Arduino Diecimila.

Trang 22

Hình 2.6: Arduino Mega 2560 R3 Hình 2.7: Arduino Mega.

Hình 2.8: Arduino Nano Hình 2.9: Arduino Due (nền tảng ARM).

Trang 23

Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại boardmạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính(thường được gọi là shield).

Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặtcấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau.Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth

Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính

ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.v…

Hình 2.11: Shield Ethernet Hình 2.12: Shield LCD key.

2.1.3 Một số ứng dụng nổi bật của Board Arduino

Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đếnphức tạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội củaArduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp Sau đây làdanh sách một số ứng dụng nổi bật của Arduino:

 Xoscillo: oscilloscope mã nguồn mở

 Các thiết bị khoa học

 Arduinome: một thiết bị điều khiển MIDI bắt chước Monome

 OBDuino: một máy tính hành trình sử dụng giao diện chẩn đoán on-board được tìm thấy trong hầu hết các loại xe hơi hiện đại

 Thiết bị đọc sách cho con người: thiết bị điện tử giá rẻ với đầu ra TV có thểchứa một thư viện năm ngàn cuốn sách (ví dụ như các biên soạn offline Wikipedia) trênmột thẻ nhớ microSD

 Ardupilot: software / hardware máy bay không người lái

Trang 24

 ArduinoPhone.

Hình 2.13: Máy in 3D Makerbot điều khiển bằng Arduino Mega2560.

Hình 2.14: Thiết bị bay không người lái UAV.

Hình 2.15: Robot di động tránh vật cản dùng Arduino nano và camera CMUCam.

Trang 25

2.1.4 Tổng quan về Kit Arduino Uno R3

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tácvới nhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một boardmạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARMAtmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộngkhác nhau

Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễdàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp

để tạo ra những nhiết bị có khả năng tương tác với môi trường thông qua các cảmbiến và các cơ cấu chấp hành Những ví dụ phổ biến cho những người yêu thích mớibắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và phát hiện chuyển động

Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên các máy tính

cá nhân thông thường và cho phép người dùng viết các chương trình cho Aduinobằng ngôn ngữ C hoặc C++

Hiện tại có rất nhiều loại vi điều khiển và đa số được lập trình bằng ngôn ngữC/C++ hoặc Assembly nên rất khó khăn cho những người có ít kiến thức sâu vềđiện tử và lập trình Nó là trở ngại cho mọi người muốn tạo riêng cho mình mộtmón đồ mang tính công nghệ Do vậy đó là lí do Arduino được phát triển nhằm đơngiản hóa việc thiết kế, lắp ráp linh kiện điện tử cũng như lập trình trên vi xử lí vàmọi người có thể tiếp cận dễ dàng hơn với thiết bị điện tử mà không cần nhiều vềkiến thức điện tử và thời gian Sau đây là những thế mạnh của Arduino so với cácnền tảng vi điều khiển khác:

 Chạy trên đa nền tảng: Việc lập trình Arduino có thể thực hiện trên các hệđiều hành khác nhau như Windows, Mac OS, Linux trên desktop, Android trên di động

 Ngôn ngữ lập trình đơn giản dễ hiểu

 Nền tảng mở: Arduino được phát triển dựa trên nguồn mở nên phần mềm chạy trên Arduino được chia sẻ dễ dàng và tích hợp vào các nền tảng khác nhau

 Mở rộng phần cứng: Arduino được thiết kế và sử dụng theo dạng module nênviệc mở rộng phần cứng cũng dễ dàng hơn

 Đơn giản và nhanh: Rất dễ dàng lắp ráp, lập trình và sử dụng thiết bị

 Dễ dàng chia sẻ: Mọi người dễ dàng chia sẻ mã nguồn với nhau mà không lo lắng về ngôn ngữ hay hệ điều hành mình đang sử dụng

Trang 26

Giá của các board Arduino dao động xung quanh €20, hoặc $27 hoặc574.468VNĐ, nếu được "làm giả" thì giá có thể giảm xuống thấp hơn $9 Các boardArduino có thể được đặt hàng ở dạng được lắp sẵn hoặc dưới dạng các kit tự làmlấy Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làmmột mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở) Người

ta ước tính khoảng giữa năm 2011 có trên 300.000 mạch Arduino chính thức đãđược sản xuất thương mại, và vào năm 2013 có khoảng 700.000 mạch chính thức đãđược đưa tới tay người dùng

Hình 2.16: Kit Arduino Uno R3.

2.1.4.1 Thông số của Arduino Uno R3

Bảng 2.1: Một số thông số của Arduino R3

Vi điều khiển Atmega328 ( họ 8 bit )

Điện áp hoạt động 5V – DC ( chỉ được cấp qua cổng USB )

Số chân Analog 6 ( độ phân giải 10 bit )

Trang 27

Dòng tối đa trên mỗi chân I/O 30mA

Bộ nhớ Flash 32 KB ( ATmega328 ) với 0.5 KB dùng bởi

Trang 28

Hình 2.18: Mặt trước của Kit Arduino Uno R3.

Hình 2.19: Mặt sau của Kit Arduino Uno R3.

Arduino Uno là một board mạch vi điều khiển dựa trên chip Atmega328 Nó có

14 chân vào ra bằng tín hiệu số, trong đó có 6 chân có thể sử dụng để điều chế độ rộngxung Có 6 chân đầu vào tín hiệu tương tự cho phép chúng ta kết nối với các bộ cảmbiến bên ngoài để thu thập số liệu, sử dụng một dao động thạch anh với tần số dao động

là 16MHz, có một cổng kết nối bằng chuẩn USB để chúng ta nạp chương trình vào bomạch và một chân cấp nguồn cho mạch, một ICPS header, một nút Reset Nó chứa tất

cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, nguồn cung cấp cho

Trang 29

Arduino có thể là từ máy tính thông qua cổng USB hoặc từ bộ nguồn chuyên dụngđược biến đổi từ xoay chiều sang một chiều hoặc là lấy từ nguồn pin.

2.1.4.3 Vi điều khiển

Hình 2.20: Vi điều khiển Atmega328.

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điềukhiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đonhiệt độ - độ ẩm và hiển thị lên màn hình LCD, Thiết kế tiêu chuẩn của ArduinoUNO sử dụng vi điều khiển ATmega328 Tuy nhiên nếu yêu cầu phần cứng của bạnkhông cao hoặc túi tiền không cho phép, bạn có thể sử dụng các loại vi điều khiểnkhác có chức năng tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB)hoặc ATmega168 (bộ nhớ flash 16KB)

2.1.4.3.1 Vi điều khiển ATmega328

Hình 2.21: Vi điều khiển Atmega328.

ATmega328 có tên đầy đủ là ATmega328P-PU ATmega328 là linh hồn củaboard mạch Arduino, sức mạnh phần cứng mà Arduino Uno có được là từ đây

Nếu bạn có vi điều khiển ATmega328, bạn hoàn toàn có thể tạo ra 1 Arduinoboard đơn giản cho những dự án của mình

Trang 30

2.1.4.3.2 Các thông số cơ bản của Atmega 328

 Chip : AVR 8bit

 Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit

 Số kênh xung PWM: 6 kênh (1 timer 2 kênh)

Trang 31

2.1.4.4.2 Các chân năng lượng của Arduino Uno R3

 GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạndùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nốivới nhau

 5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA

 3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA

 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương của nguồn với chân này và cực âm của nguồn với chân GND

 IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được

đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V từchân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

 RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ

2.1.4.5 Bộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộnhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùngcho bootloader nhưng đừng lo lắng, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báokhi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM.Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm.Khi mất điện, dữ liệu trên SRAM sẽ bị mất

 1KB cho EEPROM (Electrically Eraseble Programmable Read OnlyMemory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu củamình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM

Trang 32

2.1.4.6 Các cổng vào/ra

Hình 2.23: Các cổng vào/ra của Arduino Uno R3.

Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ

có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗichân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiểnATmega328 (mặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive

– RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khácthông qua 2 chân này Kết nối bluetooth thường thấy chính là kết nối Serialkhông dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chânnày nếu không cần thiết

 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ

phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàmanalogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra

ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V nhưnhững chân khác

 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài cácchức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPIvới các thiết bị khác

 LED 13: trên Arduino UNO có 1 đèn LED màu cam (kí hiệu chữ L) Khibấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13.Khi chân này được người dùng sử dụng, LED sẽ sáng

Trang 33

 Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu

10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chânAREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng cácchân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thểdùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phângiải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác

2.1.4.7 Cấu trúc phần mềm và lập trình cho Arduino

2.1.4.7.1 Download cài cài đặt Arduino IDE

Để có thể lập trình cho board Arduino, trước hết ta cần download và cài đặt môi trường viết chương trình cho Arduino

 Download tại: http://arduino.cc/en/Main/Software

 Hướng dẫn cài đặt cho người dùng Windows (người sử dùng hệ điều hành Mac OS thì không cần phải cài driver)

 Kết nối board Arduino với máy tính, và để máy tính tự động cài đặt driver USB Tuy nhiên việc tự động cài đặt driver sẽ không thành công

Nếu không thành công thì: Mở Device Manager của Windows trên Control

Panel.

Ở mục Ports (COM & LPT) bạn sẽ thấy mục Arduino UNO (COMxx).

Nhấp chuột phải vào mục Arduino UNO (COMxx) và chọn Update Driver

Software.

Trên cửa sổ hiện ra, chọn Browse my computer for driver softwave.

Trang 34

2.1.4.7.2 Lập trình cho Arduino

Hình 2.24: Phần mềm lập trình cho Arduino.

Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiềulợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môi

trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền

tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lượng thư việncode được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn

Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhấthiện nay là Windows, Mac OS X và Linux Do có tính chất nguồn mở nên môitrường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng cókinh nghiệm

Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và dongôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùnghoàn toàn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn.Một số đặc điểm của Arduino IDE:

 Hỗ trợ Windows, Mac OS X, Linux

 Giao diện đơn giản dễ sử dụng

 Có thể chạy ngay không cần cài đặt

Trang 35

2.2 Module cảm biến vân tay R305

2.2.1 Giới thiệu

2.2.1.1 Hình ảnh thực tế

Hình 2.25: Cảm biến vân tay R305.

2.2.1.2 Kết nối với vi điều khiển

Module cảm biến vân tay R305 có 2 cách kết nối với vi điều khiển là kết nối thông qua chuẩn USB và kết nối thông qua UART

Để giao tiếp thông qua UART thì kết nối như sau:

 R305_RX (Xanh dương)  MCU_TX.

 R305_TX (Vàng)  MCU_RX.

 R305_GND (Đen)  MCU_GND.

 R305_VCC (Đỏ)  5V.

2.2.1.3 Các thông số kỹ thuật

Bảng 2.2: Thông số kỹ thuật của cảm biến vân tay R305

Trang 36

N= 1~12 (defaultN= 6)

2.2.2 Nguyên lý hoạt động

Nguyên lí hoạt động của module cảm biến vân tay cơ bản gồm 2 phần:

 Lấy dữ liệu hình ảnh của vân tay

 Kết hợp các dữ liệu để tạo ra mẫu vân tay

 Lấy dữ liệu hình ảnh của vân tay: Khi lấy dữ liệu, module sẽ lấy dữ liệuhình ảnh vân tay 2 lần thông qua cảm biến quang học và xử lí 2 hình ảnh này để tạo ramột mẫu

 Kết hợp các dữ liệu để tạo ra mẫu vân tay: Quá trình này xảy ra sau khi

đã có hình ảnh vân tay Đây là quá trình kết hợp 2 mẫu hình ảnh vân tay để tạo ra một

Trang 38

2.2.3 Giao tiếp với vi điều khiển thông qua UART

 Giao tiếp thông qua UART với tốc độ Baud mặc định là 57600 và có thể cài đặt tốc độ này trong dải từ 9600  115200.

 Khung truyền định dạng 10 bit

Hình 2.26: Khung truyền định dạng 10 bit.

Theo đó, khung truyền gồm 1 bit Start, 8 bit Data với LSB bit là biết đầu tiên

Package content (Instruction/

 Package content : Dữ liệu Có thể là lệnh, dữ liệu, xác nhận

 Checksum (2 byte) : Là tổng số học của Package identifier, Package length,

Trang 39

2.3 Chuẩn truyền dữ liệu

Serial:

Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạchArduino Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứngtrong chip thực hiện) Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thựchiện giao tiếp nối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cầnphải viết code) Mức tín hiệu của các cổng này là TTL 5V Lưu ý cổng nối tiếp RS-

232 trên các thiết bị hoặc PC có mức tín hiệu là UART 12V Để giao tiếp được giữahai mức tín hiệu, cần phải có bộ chuyển mức, ví dụ như chip MAX232

Số lượng cổng Serial cứng của Atmega328 là 1 và của Atmega2560 là 4.Với tính năng giao tiếp nối tiếp, các bo Arduino có thể giao tiếp được với rấtnhiều thiết bị như PC, touchscreen, các game console…

USB:

Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kếtnối với máy tính dùng cho việc tải chương trình Tuy nhiên các chip AVR không cócổng USB, do đó các bo Ardunino phải trang bị thêm phần chuyển đổi từ USBthành tín hiệu UART Do đó máy tính nhận diện cổng USB này là cổng COM chứkhông phải là cổng USB tiêu chuẩn

SPI:

Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây Với tínhnăng này các bo Arduino có thể kết nối với các thiết bị như LCD, bộ điều khiểnvideo game, bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…

TWI (I2C):

Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây Với tínhnăng này, các bo Arduino có thể giao tiếp với một số loại cảm biến như thermostatcủa CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âmlượng cho một số loại loa…

2.4 Giao tiếp máy tính và cơ sở dữ liệu

2.4.1 Giao tiếp máy tính

Cổng USB: đây là cổng giao tiếp để ta upload code từ PC lên vi điều khiển.

Đồng thời nó cũng là giao tiếp serial nối tiếp để truyền dữ liệu giữa vi điều khiển và

Trang 40

Hình 2.27: Cáp USB kết nối Arduino với máy tính và cấu tạo của nó.

2.4.1.1 Giới thiệu về chuẩn giao tiếp USB

USB (Universal Serial Bus) là một chuẩn kết nối tuần tự đa dụng trong máytính USB sử dụng để kết nối các thiết bị ngoại vi với máy tính, chúng thường đượcthiết kế dưới dạng các đầu cắm cho các thiết bị tuân theo chuẩn “cắm là chạy” màvới tính năng cắm nóng thiết bị (nối và ngắt các thiết bị không cần phải khởi độnglại hệ thống)

USB có những đặc trưng sau đây:

 Cho phép mở rộng 127 thiết bị kết nối cùng vào một máy tính thông qua một cổng USB duy nhất (bao gồm các hub USB)

 Những sợi cáp USB riêng lẻ có thể dài tới 5 mét, với những hub, có thể kéodài tới 30 mét (6 sợi cáp nối tiếp nhau thông qua các hub) tính từ đầu cắm trên máy tính

 Với USB 2.0 chuẩn tốc độ cao, đường truyền đạt tốc độ tối đa đến 480 Mbps.Hiện nay đã có chuẩn USB 3.0 có thể truyền với tốc độ trên lý thuyết là 4,8

Ngày đăng: 22/12/2021, 06:03

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Những thành viên khởi xướng Arduino. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.1 Những thành viên khởi xướng Arduino (Trang 20)
Hình 2.15: Robot di động tránh vật cản dùng Arduino nano và camera CMUCam. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.15 Robot di động tránh vật cản dùng Arduino nano và camera CMUCam (Trang 24)
Hình 2.18: Mặt trước của Kit Arduino Uno R3. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.18 Mặt trước của Kit Arduino Uno R3 (Trang 28)
Hình 2.19: Mặt sau của Kit Arduino Uno R3. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.19 Mặt sau của Kit Arduino Uno R3 (Trang 28)
Hình 2.24: Phần mềm lập trình cho Arduino. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.24 Phần mềm lập trình cho Arduino (Trang 34)
Hình 2.28: Cấu trúc mạng USB. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.28 Cấu trúc mạng USB (Trang 40)
Hình 2.29: Thiết bị kết nối vào hub USB. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.29 Thiết bị kết nối vào hub USB (Trang 41)
Hình 2.39: Giao diện chính của Microsoft Visual Studio 2013. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 2.39 Giao diện chính của Microsoft Visual Studio 2013 (Trang 52)
Hình 3.4: Sử dụng thiết bị để lấy vân tay. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 3.4 Sử dụng thiết bị để lấy vân tay (Trang 60)
Hình 3.5: Máy chấm công sử dụng công nghệ nhận dạng dấu vân tay. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 3.5 Máy chấm công sử dụng công nghệ nhận dạng dấu vân tay (Trang 61)
Hình 3.7: Khóa vân tay. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 3.7 Khóa vân tay (Trang 62)
4.1. Sơ đồ khối hệ thống - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
4.1. Sơ đồ khối hệ thống (Trang 63)
4.1.2. Sơ đồ khối và chức năng mỗi khối - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
4.1.2. Sơ đồ khối và chức năng mỗi khối (Trang 64)
4.2.1.1.1.2. Sơ đồ, chức năng - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
4.2.1.1.1.2. Sơ đồ, chức năng (Trang 68)
Hình 4.4: Sơ đồ kết nối dây của máy quét vân tay. - (Đồ án tốt nghiệp) thiết kế bãi giữ xe ứng dụng công nghệ nhận dạng dấu vân tay
Hình 4.4 Sơ đồ kết nối dây của máy quét vân tay (Trang 69)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w