You are on page 1of 48

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

BÁO CÁO BÀI TẬP LỚN

THIẾT KẾ TỔNG HỢP HỆ THỐNG

Đề tài:

Thiết kế thiết bị chấm công bằng phương pháp trắc học

nhận dạng vân tay sử dụng esp32

Giảng viên hướng dẫn: T.S Hàn Huy Dũng

Sinh viên:

Nguyễn Văn Dũng 20164312


Nguyễn Hữu Đức 20172478
Trần Xuân Vũ 20172923

Nguyễn Đình Trường 20172877

Hà Nội, 2021
MỤC LỤC
LỜI CAM ĐOAN.............................................................................................................10
LỜI CẢM ƠN................................................................................................................... 10
TÓM TẮT......................................................................................................................... 13
CHƯƠNG 1. TỔNG QUAN.............................................................................................14
1.1 Đặt Vấn Đề.............................................................................................................14
1.2. Mục tiêu.................................................................................................................15
1.3 Nội Dung Thực Hiện...............................................................................................15
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT...................................................................................16
2.1 Tổng quan về Arduino.............................................................................................16
2.2 Tổng quan về nhận dạng vân tay.............................................................................16
2.2.1 Sự cần thiết của nhận dạng bằng ảnh sinh trắc.................................................16
2.2.2 Mô hình hệ thống nhận dạng ảnh vân tay.........................................................17
2.3 Giới thiệu về các linh kiện......................................................................................18
2.3.1 ESP32 DEVKIT V1.........................................................................................18
2.3.2 Module cảm biến vân tay R305........................................................................19
2.3.3 Màn hình LCD 16x2........................................................................................23
2.3.3.1 Giới thiệu:.................................................................................................23
2.3.3.2 Chi tiết.......................................................................................................23
2.4 Các chuẩn giao tiếp.................................................................................................26
2.4.1 Chuẩn giao tiếp UART.....................................................................................26
2.4.2 Giao thức SPI...................................................................................................29
2.4.3 Giao tiếp I2C....................................................................................................32
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ......................................................................36
3.1 Giới thiệu................................................................................................................36
3.2 Tính toán và thiết kế hệ thống.................................................................................36
3.2.1 Thiết kế sơ đồ khối hệ thống............................................................................36
3.2.2 Tinh toán và thiết kế mạch...............................................................................37
3.2.3 Sơ đồ nguyên lí toàn mạch...............................................................................41
CHƯƠNG 4: THI CÔNG HỆ THỐNG............................................................................42
4.1 Giới thiệu................................................................................................................42
4.2 Thi công hệ thống...................................................................................................42
4.2.1 Thi công bo mạch hệ thống..............................................................................42
4.2.2 Lắp ráp và kiểm tra bo mạch hệ thống.............................................................44
4.3 Lập trình hệ thống...................................................................................................44
4.3.1 Lưu đồ giải thuật..............................................................................................44
4.3.2 Phần mềm lập trình cho vi điều khiển..............................................................45
Danh mục hình vẽ
Hình 2.1: Sơ đồ nguyên lý hoạt động.......................................................................................15
Hình 2.2: Sơ đồ chân của ESP32.............................................................................................16
Hình 2.3: Module Nhận Dạng Vân Tay R305..........................................................................17
Hình 2.4: Sơ đồ chân module R305.........................................................................................19
Hình 2.5: Hình dáng và kích thức LCD...................................................................................21
Hình 2.6: Sơ đồ chân LCD.......................................................................................................21
Hình 2.7 Sơ đồ khối chip điều khiển LCD...............................................................................23
Hình 2.8: Chuẩn giao tiếp UART.............................................................................................24
Hình 2.9: Sơ đồ khối UART....................................................................................................25
Hình 2.10: Truyền thông UART..............................................................................................25
Hình 2.11: Quá trình truyền dữ liệu.........................................................................................28
Hình 2.12:  Các chế độ hoạt động của SPI...............................................................................29
Hình 2.13: Sơ đồ hoạt động của I2C........................................................................................30
Hình 2.14: Một master kết nối nhiều slave..............................................................................31
Hình 2.15: Giao thức truyền dữ liệu Mastẻ và Slave...............................................................31
Hình 2.16: Điều kiện bắt đầu quá trình truyền dữ liệu.............................................................32
Hình 2.17: Điều kiện dừng quá trình truyền dữ liệu.................................................................33
Hình 3.1: Sơ đồ khối hệ thông cuẩ thiết bị...............................................................................34
Hình 3.2: Khối xử lí trung tâm sử dụng ESP32 DEVKIT V1..................................................35
Hình 3.3: LCD 20x4................................................................................................................36
Hình 3.4: Mạch chuyển giao tiếp LCD sang I2C.....................................................................37
Hình 3.5: Sơ đồ nối dây và hình ảnh thực tế của bàn phím ma trận 4x4..................................37
Hình 3.6 Adapter 9V 2A..........................................................................................................38
Hình 3.7 Sơ đồ nguyên lí toàn mạch........................................................................................39
Hình 4.1 Sơ đồ thiết kế mạch...................................................................................................40
Hình 4.2 Sơ đồ dạng 3D..........................................................................................................41
Hình 4.3 Lưu đồ thuật toán điểm danh.....................................................................................43
Hình 4.4 Lưu đồ thuật toán đăng kí vân tay.............................................................................43
Hình 4.5 Giao diện lập trình arduino.......................................................................................44
Hình 4.6 Arduino Toolbar........................................................................................................44
Danh mục bảng biểu
Bảng 2.1: Thông số cảu ESP32................................................................................19
Bảng 2.2: Chức năng các chân LCD.........................................................................24
Bảng 2.3: Đặc tính điện của các chân giao tiếp........................................................25
Bảng 4.1 Danh sách linh kiện...................................................................................43
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỘC LẬP – TỰ DO – HẠNH PHÚC

Hà Nội, ngày… tháng …… năm 2021

BÀI TẬP LỚN MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG


Nhóm: 6 gồm các thanh viên sau:
1. Nguyễn Văn Dũng MSSV: 20172494
2. Nguyễn Hữu Đức MSSV: 20172478
3. Trần Xuân Vũ MSSV: 20172939
4. Nguyễn Đình Trường MSSV: 20172877

I. TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ CHẤM CÔNG BẰNG PHƯƠNG


PHÁP TRẮC HỌC VÂN TAY SỬ DỤNG ESP32
II. NHIỆM VỤ
1. Tìm hiểu nghiên cứu cấu tạo, nguyên lí hoạt động, chức năng của các
module ESP32, cảm biến vân tay R305, module SD, module I2C và
LCD16x2
2. Tính toán, thiết kế, xác định mô hình thi công
3. Chạy thử mô hình hệ thống
4. Test hệ thống
5. Căn chỉnh, chỉnh sửa hệ thống
6. Bảo vệ bài tập lớn
III. NGÀY GIAO NHIỆM VỤ: 01/04/2021
IV. NGÀY HOÀN THÀNH NHIỆM VỤ:
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS. Hàn Huy Dũng
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
VIỆN ĐIỆN TỬ - VIỄN THÔNG ĐỘC LẬP – TỰ DO – HẠNH PHÚC

Hà Nội, ngày… tháng …… năm 2021

BÀI TẬP LỚN MÔN THIẾT KẾ TỔNG HỢP HỆ THỐNG

LỊCH TRÌNH THỰC HIỆN

Thời gian bắt Nội dung nhiệm vụ Thành Viên thực hiện nhiệm
đầu/Thời gian kết vụ
thúc
LỜI CAM ĐOAN

Đề tài này là do nhóm sinh viên nhóm 6 gồm các thành viên: Nguyễn Văn Dũng, Nguyễn
Hữu Đức, Trần Xuân Vũ, Nguyễn Đình Trường tự thực hiện, dựa vào một số tài liệu trước
đó và không sao chép từ tài liệu hay dự án nào đã có trước đó.

LỜI CẢM ƠN

Sau quá trình tìm hiểu, nghiên cứu và thực hiện bài tập lớn và hoàn thành đúng tiến
độ, chúng em xin chân thành gửi lời cảm ơn sâu sắc nhất đến quý thầy cô đã giúp đỡ cho
nhóm em
Chúng em xin cảm ơn đến thầy Hàn Huy Dũng, giảng viên trường Đại Học Bách
Khoa Hà Nội đã hướng dẫn và tạo điều kiện để nhóm có thể thực hiện tốt đề tài của mình.
Và chúng em cũng xin cảm ơn đến các thầy cô trong khoa Điện Tử- Viễn Thông
của Trường Đại Học Bách Khoa Hà Nội đã tận tình dạy dỗ và giảng dạy cho chúng em
những kiến thức cơ bản đến nâng cao tạo cho chúng em một cơ sở kiến thức vững vàng để
hoàn thành đề tài này.
Xin chân thành và cảm ơn!
TÓM TẮT

Ngày nay, với sự phát triển vượt bậc của không học công nghệ, kéo theo các công
nghệ nhận dạng sinh trắc học phát triển. Do tính bảo mật cũng như giá thành không quá
đắt nên công nghệ nhận dạng vân tay được sử dụng rỗng rãi trong đời sống. Công nghệ
nhận dạng vân tay được tích hợp trong nhiều thiết bị điện tử mang lại những ứng dụng
cần thiết cho nhu cầu của con người. Những ứng dụng hiện hữu của công nghệ nhận dạng
vân tay như quét vân tay để chấm công, quản lí cá nhân hay đóng mở cửa,……
Được sự gợi ý từ giáo viên hướng dẫn cũng như mong muốn tìm hiểu các công
nghệ đang phát triển trên thế giới. Nên nhóm thực hiện đồ án này với mong muốn chế tạo
ra một hệ thống chấm công. Hệ thống quét vân tay sử dụng kit ESP32 DEVKIT V1.
Hệ thống bao gồm điểm danh nhân viên bằng hệ thống quét vân tay. Quá trình quét
vân tay được gửi lên google sheet nhắm ghi chép thời gian điểm danh của nhân viên gồm
ID, MSNV, Name…. Hệ thống cho phép thêm vân tay ….
Mô hình sử dụng ESP32 DEVKIT V1 làm vi điều khiển trung tâm dể điều khiển
các module mở rộng như cảm biến vân tay R305, LCD16x2, Module SD,….
CHƯƠNG 1. TỔNG QUAN

1.1 Đặt Vấn Đề


Trong thời đại ngày nay, sự phát triển không ngừng của không học kỹ thuật đã giúp
cho con người thuận tiện hơn trong các công việc hàng ngày. Với sự bùng nổ về công
nghệ thông tin, quá trình toàn cầu hóa diễn ra nhanh chóng, sự bảo mật riêng tư thông tin
cá nhân cũng như để nhận biết một người nào đó trong hàng tỉ người trên trái đất đòi hỏi
phải có một tiêu chuẩn, hệ thống đảm nhận các chức năng đó. Công nghệ sinh trắc ra đời
và đáp ứng được các yêu cầu trên.
Nhiều công nghệ sinh trắc đã và đang được phát triển, một số chúng đang được sử
dụng trong các ứng dụng thực tế và phát huy hiệu quả cao. Các đặc trưng sinh trắc thường
được sử dụng là vân tay, gương mặt, mống mắt, tiếng nói. Mỗi đặc trưng sinh trắc có
điểm mạnh và điểm yêu riêng, nên việc sử dụng đặc trưng sinh trắc cụ thể là tùy thuộc
vào yêu cầu của mỗi ứng dụng nhất định. Nhận dạng vân tay được xem là một trong
những kỹ thuật nhận dạng hoàn thiện và đáng tin cậy nhất.
Nhóm sinh viên quyết định thực hiện đề tài “Thiết kế thiết bị chấm công bằng
phương pháp trắc học nhân dạng vân tay sử dụng esp32” nhằm mục đích kiểm soát tốt
hơn trong việc quản lí nhân viên trong các công ty.
Dấu vân tay của mỗi cá nhân là độc nhất và không thay đổi trong suốt cuộc đời.
Vân tay là một tham số sinh học bất biến theo tuổi tác đặc trưng cho mỗi cá thể. Mạng
internet đang ngày càng phát triển, nhờ có nó mà cuộc sống và công việc của con người
càng ngày càng hiện đại hơn. Vì vậy, việc truyền dữ liệu lên mạng quản lí dữ liệu vân tay
bằng internent trở nên tiện lợi, nhanh chóng và chính xác. Mặt khác, việc phát triển không
ngừng của vi xử lí đã cho ra đời nhiều loại sản phẩm thông minh nhỏ gọn, tích hợp nhiều
chức năng cho người dùng dễ sử dụng. Không thể không kể đến ESP32 DEVKIT V1- một
sản phẩm được sử dụng trên toàn cầu và có cộng đồng người dùng rất lớn. ESP32
DEVKIT V1 có thể kết hợp với nhiều module khác để tạo nên những ứng dụng thiết thực
cho cuộc sống hiện đại hiện nay. Với những đặc tính trên, nhóm đã quyết định thực hiện
mô hình bao gồm ESP32, module cảm biến vân tay, màn hình lcd, module i2c lcd, module
SD để làm một hệ thống quét vân tay quản lí nhân viên và gửi dữ liệu lên google sheet
điểm danh nhân viên.
1.2. Mục tiêu
Tìm hiểu và nghiên cứu về ESP32 DEVKIT V1, module cảm biến vân tay R305, thiết bị
điện và cách kết nối giữa các module để hoàn thành mô hình hoàn thiện.
Xây dựng hệ thống quét dấu vân tay để chấm công vân tay và dữ liệu vân tay sẽ được gửi
lên google sheet.
Dữ liệu vân tay, thống kê thời gian ra chấm công, ID, MSNV, Tên Nhân Viên

1.3 Nội Dung Thực Hiện


 NỘI DUNG 1: Tìm hiểu và nghiên cứu về cấu tạo phần cứng, nguyên lí hoạt động,
tính năng của các ESP32 DEVKIT V1, R305, LCD16x2, module I2C, module SD.
 NỘI DUNG 2: Cơ sở lí thuyết
 NỘI DUNG 3: Các giải pháp thiết
 NỘI DUNG 4: Thi công hệ thống
 NỘI DUNG 5: Đo đạc thực tế
CHƯƠNG 2: CƠ SỞ LÍ THUYẾT

2.1 Tổng quan về Arduino


Arduino một nền tảng mã nguồn mở phần cứng và phần mềm. Phần cứng Arduino
(các board mạch vi xử lý) được sinh ra tại thị trấn Ivrea ở Ý, nhằm xây dựng các ứng
dụng tương tác với nhau hoặc với môi trường được thuận lợi hơn. Phần cứng bao gồm
một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc
ARM Atmel 32-bit. Những model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6
chân đầu vào analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác
nhau.
Phần cứng và phần mềm Arduino được thiết kế cho các nghệ sĩ, nhà thiết kế, hacker
và bất kỳ ai quan tâm đến việc tạo ra các đối tượng hoặc môi trường tương tác. Arduino
có thể tương tác với các nút, đèn LED, động cơ, loa, đơn vị GPS, máy ảnh, internet và
thậm chí cả điện thoại thông minh hoặc TV. Sự linh hoạt này cộng với với phần mềm
Arduino là miễn phí, các bo mạch phần cứng khá rẻ và cả phần mềm, phần cứng đều dễ
học, nên nó có một cộng đồng người dùng lớn đã đóng góp mã và hướng dẫn cho một
lượng lớn project dựa trên Arduino.

2.2 Tổng quan về nhận dạng vân tay

2.2.1 Sự cần thiết của nhận dạng bằng ảnh sinh trắc
Nhận dạng sinh trắc đề cập đến việc sử dụng các đặc tính hành vi và thể chất có
tính chất khác biệt để nhận dạng một người một cách tự động.
Các đặc trưng sinh trắc không thể dễ dàng bị thay thế, chia sẻ hay giả mạo. Chúng
được xem là đáng tin cậy hơn trong nhận dạng một người so với các phương pháp truyền
thống.
Nhận dạng sinh trắc ngày càng cung cấp mức độ an toàn cao hơn, tính hiệu quả
trong các dự án thực tế cũng cao hơn. Công nghệ sinh trắc thường được sử dụng hiện nay
là vân tay, gương mặt, mống mắt, tiếng nói,… Mỗi đặc trưng sinh trắc cụ thể là tùy thuộc
vào yêu cầu của mỗi ứng dụng nhất định. Các đặc trưng sinh trắc có thể được so sánh dựa
vào các yếu tố sau: tính phổ biến, tính phân biệt, tính ổn định, tính thu thập, tính hiệu quả
và tính chấp nhận.
Vân tay người dùng (dấu vân tay) được biết đến với tính phân biệt (tính chất cá
nhân) và ổn định theo thời gian là đặc trưng sinh trắc được sử dụng rộng rãi nhất.
2.2.2 Mô hình hệ thống nhận dạng ảnh vân tay
Hiện nay, khi khoa học vân tay càng phát triển với nhu cầu bảo mật và nhận dạng
cá nhân thì nhiều hệ thống tự động nhận dạng ảnh dấu vân tay đã được quan tâm nghiên
cứu rộng rãi và ưungs dụng trợ giúp con người trong việc phân tích dấu vân tay.
Trong số các mô hình được công bố, mô hình hệ thống nhận dạng dấu vân tay tự
động do cục điều tra liên bang Mỹ FBI đưa ra vào những năm 70 là một mô hình khá
hoàn chỉnh có tên là hệ thống FINDER. Nó có hiệu quả hơn hẳn các hệ thống xử lý dấu
vân tay kiểu quang học, hoặc theo kiểu ngôn ngữ cú pháp trước đó.

Hình 2.1: Sơ đồ nguyên lý hoạt động


2.3 Giới thiệu về các linh kiện

2.3.1 ESP32 DEVKIT V1


a. Giới thiệu

Hình 2.2: Sơ đồ chân của ESP32

ESP32 có rất nhiều kit phát triển khác nhau nên các bạn lưu ý bài hướng
dẫn này chỉ viết cho ESP32 DEVKIT V1 – DOIT loại 30 chân, các kit khác tương
tự. Trên kit có tổng cộng 25 chân GPIO tuy nhiên cũng giống với NodeMCU, khi
dùng GPIO trên ESP32 DEVKIT cần lưu ý:
 GPIO34, 35, 36, 39 chỉ dùng được chức năng INPUT, không dùng được
chức năng OUTPUT.
 GPIO1, GPIO3: Giống như NodeMCU 2 chân này cũng được nối đến bộ
UART0 và ESP32 Dev Kit cũng nạp code thông qua bộ UART này nên
tránh sử dụng 2 chân này cho chức năng I/O.
 GPIO0, 2, 4, 5, 12, 15 đã được định sẵn mức logic bên trong module
ESP32 để phục vụ quá trình nạp code, nên tránh sử dụng các GPIO này.

Ngoài ra đối với những bạn thiết kế mạch sử dụng module ESP32 rời
(module tích hợp trên ESP32 Dev Kit) thì ngoài lưu ý ở trên còn lưu ý thêm các
chân từ GPIO6 đến GPIO11. Các chân này dùng để giao tiếp SPI với External
Flash nên không thể dùng được chức năng I/O và trên ESP32 Dev Kit đã ẩn đi các
chân này.
Một lưu ý quan trọng khác cho cả NodeMCU và ESP32 Dev Kit là mức
điện áp INPUT tối đa mà các chân GPIO có thể hoạt động được là 3.6V (khác với
các board Arduino là 5V) vì vậy nếu tác động mức điện áp lớn hơn 3.6V vào chân
INPUT sẽ làm hỏng chân GPIO.
b. Thông số
Bảng 2.1: Thông số cảu ESP32
Số core 2
Wifi 2.4 GHz 150Mbits/s
Bluetooth BLE và legacy Blutooth
Kiến trúc 32 bit
Ram 512kb
Tần số Clock Up to 240Mhz
Pins 30 hoặc 36
Thiết bị ngoại vi ADC, DAC, I2C, UART, SPI, RMII, PWM

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


Module Nhận Dạng Vân Tay R305 bao gồm cảm biến vân tay quang học, bộ xử lý
DSP tốc độ cao, thuật toán so sánh vân tay hiệu suất cao, chip FLASH dung lượng lớn,
phần mềm và phần cứng khác.

Hình 2.3: Module Nhận Dạng Vân Tay R305


 Module Nhận Dạng Vân Tay R305 có hiệu suất ổn định và cấu trúc đơn giản, có
đầu vào vân tay, xử lý hình ảnh, so sánh vân tay, tìm kiếm và lưu trữ mẫu.
 Ứng dụng vào: Mở khoá xe máy bằng vân tay, mở khoá cửa tự động bằng vân tay.
 Đặc điểm nổi bật:
  ◆ Chức năng giải mã vân tay: thu thập dấu vân tay hoàn chỉnh, đăng ký vân tay, so
sánh vân tay (1: 1) và chức năng tìm kiếm dấu vân tay (1: N) một cách độc lập.
  ◆ Kích thước nhỏ: Sản phẩm có kích thước nhỏ và không có bảng mạch với chip
DSP bên ngoài. Nó được tích hợp, dễ cài đặt và có ít lỗi hơn.
◆ Tiêu thụ điện năng cực thấp: Mức tiêu thụ điện năng chung của sản phẩm cực kỳ
thấp, phù hợp với yêu cầu tiêu thụ điện năng thấp.
◆ Khả năng chống tĩnh điện mạnh: Có khả năng chống tĩnh điện mạnh và chỉ số
chống tĩnh điện đạt trên 15KV.
  ◆ Phát triển ứng dụng đơn giản: Nhà phát triển có thể phát triển các sản phẩm ứng
dụng vân tay của riêng mình theo hướng dẫn kiểm soát được cung cấp mà không cần kiến
thức nhận dạng dấu vân tay chuyên nghiệp.
  ◆ Mức an toàn có thể điều chỉnh: phù hợp với các ứng dụng khác nhau, mức độ an
toàn có thể được điều chỉnh bởi người dùng.
 Thông số kỹ thuật
 Nguồn cấp: 3.6~6VDC
 Giao tiếp: TTL-UART hoặc USB 1.1
 Điện áp cung cấp: DC 3.6 ~ 6.0V
 Nguồn cung hiện tại:
 Dòng điện làm việc: 100mA
 Dòng điện cực đại: 150mA
 Thời gian nhập hình ảnh vân tay: <0,3 giây
 Diện tích cửa sổ: 18x22 mm
 Tệp tính năng: 256 byte
 Tệp mẫu: 512 byte
 Dung lượng lưu trữ: 980 bit
 Cấp độ bảo mật: năm cấp độ (thấp đến cao: 1, 2, 3, 4, 5)
 Tỷ lệ giả (FAR): < 0,001%
 Tỷ lệ loại bỏ (FRR): < 0,1%
 Thời gian tìm kiếm trung bình: < 0,8 giây (1: 880)
 Giao diện máy chủ: UART USB1.1
 Tốc độ truyền thông (UART): (9600 x N) bps trong đó N = 1 ~ 12 (giá trị mặc định
N = 6, tức là 57600bps)
 Môi trường làm việc:
 Nhiệt độ: -10°C ~ +40°C
 Độ ẩm tương đối: 40% rh - 85% rh (không ngưng tụ)
 Môi trường lưu trữ:
 Nhiệt độ: -40°C ~ +85°C
 Độ ẩm tương đối: <85% rh (không ngưng tụ)

 Dung lượng vân tay:


 Module Nhận Dạng Vân Tay R305 có dung lượng lưu trữ là 980.

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

Hình 2.4: Sơ đồ chân module R305 Hình 2.5: Chân module R305
 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
o Lấy dữ liệu hình ảnh của vân tay
o 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 ,modul sẽ lấy dữ liệu hì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 ra mộ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 sả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 mẫu .Hệ thống sẽ
xử lí để lưu chữ vào thư viện vân tay của module
 Giao tiếp với vi điều khiển thông qua chuẩn kết nối UART:
R305_RX(Xanh dương) --> MCU_TX ( Nối Tiếp Trở 22R)
R305_TX(Vàng) --> MCU_RX ( Nối Tiếp Trở 22R)
R305_GND(Đen) --> MCU_GND
R305_VCC(Đỏ) --> 4.2V ( Module hoạt động ổn định 4.2V)
 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 10bit

 Theo đó ,khung truyền gồm 1 bit Start ,8 bit Data với LSBbit là biết đầu tiên ,và 1
bit Stop
 Giao thức truyền gói dữ liệu
Định dạng gói dữ liệu
Header (2byte): 2 byte truyền đầu tiên trong gói dữ liệu .Được mặc định
giá trị 0xEF01
Adder (4byte): 4 byte địa chỉ của module .Giá trị mặc định ban đầu là
0xFFFFFFFF
Package identifier(1 byte) : Định dạng loại gói dữ liệu
0x01 : Gói lệnh
0x02 : Gói dữ liệu
0x07 : Gói xác nhận
0x08 : Gói kết thúc dữ liệu
Package length(2 byte): chiều dài gói dữ liệu tính từ Package content đến
Checksum .Đơn vị chiều dài là byte
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 ,Package conten
2.3.3 Màn hình LCD 16x2

2.3.3.1 Giới thiệu:


 Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất
nhiều các ứng dụng của VĐK. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác:
Nó có khả năng hiển thị kí tự đa dạng, trực quan (chữ, số và kí tự đồ họa), dễ dàng đưa
vào mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tốn rất ít tài nguyên hệ
thống và giá thành rẽ…

2.3.3.2 Chi tiết


 Hình dáng và kích thước:
Có rất nhiều  loại LCD với nhiều hình dáng và kích thước khác nhau
Đây là loại LCD thông dụng

Hình 2.5: Hình dáng và kích thức LCD


Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (VD: HD44780) bên
trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết.
Hình 2.6: Sơ đồ chân LCD
 Chức năng các chân
Bảng 2.2: Chức năng các chân LCD
Chân Kí hiệu Mô tả
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với
GND của mạch điều khiển
2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với
VCC=5V của mạch điều khiển
3 VEE Điều chỉnh độ tương phản của LCD.
4 RS Chân chọn thanh ghi (Register select). Nối chân RS với logic “0”
(GND) hoặc logic “1” (VCC) để chọn thanh ghi.
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của
LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của
LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên
trong LCD.

5 R/W Chân chọn chế độ đọc/ghi (Read/Write). Nối chân R/W với logic
“0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để
LCD ở chế độ đọc.
6 E Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên bus
DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép
của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp
nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-
low transition) của tín hiệu chân E.
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phát
hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ
ở bus đến khi nào chân E xuống mức thấp.

7-14 DB0- Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU.
DB7 Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit
MSB là bit DB7.
+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới
DB7, bit MSB là DB7

15 - Nguồn dương cho đèn nền


16 - GND cho đèn nền
 Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân
DBx. 
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các
chân DBx. 

 Chip điều khiển của LCD 16x2

Hình 2.7 Sơ đồ khối chip điều khiển LCD

 Giao tiếp LCD với MCU


Bảng 2.3: Đặc tính điện của các chân giao tiếp
Chân cấp nguồn (Vcc-GND) Min:-0.3V , Max+7V
Các chân ngõ vào (DBx,E,…) Min:-0.3V , Max:(Vcc+0.3V)
Nhiệt độ hoạt động Min:-30C , Max:+75C
Nhiệt độ bảo quản Min:-55C , Max:+125C
2.4 Các chuẩn giao tiếp

2.4.1 Chuẩn giao tiếp UART


 Giới thiệu
 UART là “Universal Asynchronous Receiver / Transmitter”, và nó là một vi mạch
sẵn có trong một vi điều khiển nhưng không giống như một giao thức truyền thông
(I2C & SPI). Chức năng chính của UART là truyền dữ liệu nối tiếp. Trong UART,
giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu
nối tiếp và giao tiếp dữ liệu song song.

Hình 2.8: Chuẩn giao tiếp UART

 Sơ đồ khối UART
 Sơ đồ khối UART bao gồm hai thành phần là máy phát và máy thu được hiển thị
bên dưới. Phần máy phát bao gồm ba khối là thanh ghi giữ truyền, thanh ghi dịch
chuyển và logic điều khiển. Tương tự, phần máy thu bao gồm một thanh ghi giữ,
thanh ghi thay đổi và logic điều khiển. Hai phần này thường được cung cấp bởi
một bộ tạo tốc độ baud. Trình tạo này được sử dụng để tạo tốc độ khi phần máy
phát và phần máy thu phải truyền hoặc nhận dữ liệu.
 Thanh ghi giữ trong máy phát bao gồm byte dữ liệu được truyền. Các thanh ghi
thay đổi trong máy phát và máy thu di chuyển các bit sang phải hoặc trái cho đến
khi một byte dữ liệu được truyền hoặc nhận. Một logic điều khiển đọc (hoặc) ghi
được sử dụng để biết khi nào nên đọc hoặc viết.

 Máy phát tốc độ baud giữa máy phát và máy thu tạo ra tốc độ dao động từ 110 bps
đến 230400 bps. Thông thường, tốc độ truyền của vi điều khiển là 9600 đến
115200.
Hình 2.9: Sơ đồ khối UART

 Truyền thông UART

Hình 2.10: Truyền thông UART


 Start bit
Start-bit còn được gọi là bit đồng bộ hóa được đặt trước dữ liệu thực tế. Nói chung,
một đường truyền dữ liệu không hoạt động được điều khiển ở mức điện áp cao. Để bắt
đầu truyền dữ liệu, truyền UART kéo đường dữ liệu từ mức điện áp cao (1) xuống
mức điện áp thấp (0). UART thu được thông báo sự chuyển đổi này từ mức cao sang
mức thấp qua đường dữ liệu cũng như bắt đầu hiểu dữ liệu thực. Nói chung, chỉ có
một start-bit.
 Bit dừng
Bit dừng được đặt ở phần cuối của gói dữ liệu. Thông thường, bit này dài 2 bit
nhưng thường chỉ sử dụng 1 bit. Để dừng sóng, UART giữ đường dữ liệu ở mức điện
áp cao.
 Bit chẵn lẻ
Bit chẵn lẻ cho phép người nhận đảm bảo liệu dữ liệu được thu thập có đúng hay
không. Đây là một hệ thống kiểm tra lỗi cấp thấp & bit chẵn lẻ có sẵn trong hai phạm
vi như Chẵn lẻ – chẵn lẻ cũng như Chẵn lẻ – lẻ. Trên thực tế, bit này không được sử
dụng rộng rãi nên không bắt buộc.
 Dữ liệu bit và khung dữ liệu
Các bit dữ liệu bao gồm dữ liệu thực được truyền từ người gửi đến người nhận. Độ
dài khung dữ liệu có thể nằm trong khoảng 5 & 8. Nếu bit chẵn lẻ không được sử dụng
thì chiều dài khung dữ liệu có thể dài 9 bit. Nói chung, LSB của dữ liệu được truyền
trước tiên sau đó nó rất hữu ích cho việc truyền.
 Ưu điểm nhược điểm
Những ưu và nhược điểm của UART bao gồm những điều sau đây
 Nó chỉ cần hai dây để truyền dữ lệu.
 Tín hiệu CLK là không cần thiết.
 Nó bao gồm một bit chẵn lẻ để cho phép kiểm tra lỗi.
 Sắp xếp gói dữ liệu có thể được sửa đổi vì cả hai mặt được sắp xếp.
 Kích thước khung dữ liệu tối đa là 9 bit.
 Nó không chứa một số hệ thống phụ (hoặc).
 Tốc độ truyền của UART phải ở mức 10% của nhau.
2.4.2 Giao thức SPI
 Các chân giao tiếp SPI
 SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp tốc độ cao do
hãng Motorola đề xuất. Đây là kiểu truyền thông Master-Slave, trong đó có 1 chip
Master điều phối quá trình tuyền thô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. 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 Ouput Slave Input) và SS (Slave Select). Hình 1 thể
hiện một kết SPI giữa một chip Master và 3 chip Slave thông qua 4 đường.

 SCK: Xung giữ nhịp cho giao tiếp SPI, vì SPI là chuẩn truyền đồng bộ nên cần 1
đường giữ nhịp, mỗi nhịp trên chân SCK báo 1 bit dữ liệu đến hoặc đi. Đây là
điểm khác biệt với truyền thông không đồng bộ mà chúng ta đã biết trong chuẩn
UART. Sự tồn tại của chân SCK giúp quá trình truyền ít bị lỗi và vì thế tốc độ
truyền của SPI có thể đạt rất cao. Xung nhịp chỉ được tạo ra bởi chip Master.

 MISO – Master Input / Slave Output: nếu là chip Master thì đây là đường Input
còn nếu là chip Slave thì MISO lại là Output. MISO của Master và các Slaves
được nối trực tiếpvới nhau.

 MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường
Output còn nếu là chip Slave thì MOSI là Input. MOSI của Master và các Slaves
được nối trực tiếp với nhau.

 SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave
đường SS sẽ ở mức cao khi không làm việc. Nếu chip Master kéo đường SS của
một Slave nào đó xuống mức thấp thì việc giao tiếp sẽ xảy ra giữa Master và Slave
đó. Chỉ có 1 đường SS trên mỗi Slave nhưng có thể có nhiều đường điều khiển SS
trên Master, tùy thuộc vào thiết kế của người dùng.
 Hình 2.10: Giao diện SPI

Đôi khi chuẩn SPI được sử dụng chỉ để ghi dữ liệu từ Master ra Slaver thì chân
MISO sẽ không được dùng.

 Cơ chế hoạt động


Mỗi chip Master hay Slave có một thanh ghi dữ liệu 8 bits. Cứ mỗi xung nhịp do
Master tạo ra trên đường giữ nhịp SCK, một bit trong thanh ghi dữ liệu của Master được
truyền qua Slave trên đường MOSI, đồng thời một bit trong thanh ghi dữ liệu của chip
Slave cũng được truyền qua Master trên đường MISO. Do 2 gói dữ liệu trên 2 chip được
gởi qua lại đồng thời nên quá trình truyền dữ liệu này được gọi là “song công”. Hình 2 mô
tả quá trình truyền 1 gói dữ liệu thực hiện bởi module SPI trong AVR, bên trái là chip
Master và bên phải là Slave.

Hình 2.11: Quá trình truyền dữ liệu


 Các chế độ hoạt động
 Cực của xung giữ nhịp (Clock Polarity): được gọi tắt là CPOL là khái niệm dùng
chỉ trạng thái của chân SCK ở trạng thái nghỉ. Ở trạng thái nghỉ (Idle), chân SCK
có thể được giữ ở mức cao (CPOL=1) hoặc thấp (CPOL=0).
 Phase (CPHA): dùng để chỉ cách mà dữ liệu được lấy mẫu (sample) theo xung giữ
nhịp. Dữ liệu có thể được lấy mẫu ở cạnh lên của SCK (CPHA=0) hoặc cạnh
xuống (CPHA=1).
Sự kết hợp của SPOL và CPHA làm nên 4 chế độ hoạt động của SPI. Nhìn chung việc
chọn 1 trong 4 chế độ này không ảnh hưởng đến chất lượng truyền thông mà chỉ cốt sao
cho có sự tương thích giữa Master và Slave. Khi giao tiếp vi điều khiển giữa các ic khác
các bạn phải chú ý xem ic đó hoạt động ở chế độ nào mà cấu hình vi điều khiển cho phù
hợp
                  CPHA=0

                                    CPHA=1

Hình 2.12:  Các chế độ hoạt động của SPI.


2.4.3 Giao tiếp I2C
 Giới thiệu 
 I2C là tên viết tắt của cụm từ tiếng anh “Inter-Integrated Circuit”. Nó là một giao
thức giao tiếp được phát triển bởi Philips Semiconductors để truyền dữ liệu giữa
một bộ xử lý trung tâm với nhiều IC trên cùng một board mạch chỉ sử dụng hai
đường truyền tín hiệu.
 Do tính đơn giản của nó nên loại giao thức này được sử dụng rộng rãi cho giao tiếp
giữa vi điều khiển và mảng cảm biến, các thiết bị hiển thị, thiết bị IoT, EEPROMs,
v.v …
 Đây là một loại giao thức giao tiếp nối tiếp đồng bộ. Nó có nghĩa là các bit dữ liệu
được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi một
tín hiệu đồng hồ tham chiếu.
 Đặc điểm
Sau đây là một số đặc điểm quan trọng của giao thức giao tiếp I2C:
 Chỉ cần có hai đường bus (dây) chung để điều khiển bất kỳ thiết bị / IC nào trên
mạng I2C.
 Không cần thỏa thuận trước về tốc độ truyền dữ liệu như trong giao tiếp UART. Vì
vậy, tốc độ truyền dữ liệu có thể được điều chỉnh bất cứ khi nào cần thiết.
 Cơ chế đơn giản để xác thực dữ liệu được truyền.
 Sử dụng hệ thống địa chỉ 7 bit để xác định một thiết bị / IC cụ thể trên bus I2C.
 Các mạng I2C dễ dàng mở rộng. Các thiết bị mới có thể được kết nối đơn giản với
hai đường bus chung I2C.
 Phần cứng 
 Bus I2C (dây giao tiếp) chỉ gồm hai dây và được đặt tên là Serial Clock Line
(SCL) và Serial Data Line (SDA). Dữ liệu được truyền đi được gửi qua dây SDA
và được đồng bộ với tín hiệu đồng hồ (clock) từ SCL. Tất cả các thiết bị / IC trên
mạng I2C được kết nối với cùng đường SCL và SDA như sau:
Hình 2.13: Sơ đồ hoạt động của I2C
 Master và Slave
Các thiết bị kết nối với bus I2C được phân loại hoặc là thiết bị Chủ (Master)
hoặc là thiết bị Tớ (Slave). Ở bất cứ thời điểm nào thì chỉ có duy nhất một thiết bị
Master ở trang thái hoạt động trên bus I2C. Nó điều khiển đường tín hiệu đồng hồ
SCL và quyết định hoạt động nào sẽ được thực hiện trên đường dữ liệu SDA.
Tất cả các thiết bị đáp ứng các hướng dẫn từ thiết bị Master này đều là Slave.
Để phân biệt giữa nhiều thiết bị Slave được kết nối với cùng một bus I2C, mỗi thiết bị
Slave được gán một địa chỉ vật lý 7-bit cố định.
Khi một thiết bị Master muốn truyền dữ liệu đến hoặc nhận dữ liệu từ một thiết
bị Slave, nó xác định địa chỉ thiết bị Slave cụ thể này trên đường SDA và sau đó tiến
hành truyền dữ liệu. Vì vậy, giao tiếp có hiệu quả diễn ra giữa thiết bị Master và một
thiết bị Slave cụ thể.
Tất cả các thiết bị Slave khác không phản hồi trừ khi địa chỉ của chúng được
chỉ định bởi thiết bị Master trên dòng SDA.

Hình 2.14: Một master kết nối nhiều slave


 Giao thức truyền dữ liệu
Dữ liệu được truyền giữa thiết bị Master và các thiết bị Slave thông qua một
đường dữ liệu SDA duy nhất, thông qua các chuỗi có cấu trúc gồm các số 0 và 1 (bit).
Mỗi chuỗi số 0 và 1 được gọi là giao dịch (transaction) và dữ liệu trong mỗi giao dịch
có cấu trúc như sau:
Hình 2.15: Giao thức truyền dữ liệu Mastẻ và Slave
 Start Condition
Bất cứ khi nào một thiết bị chủ / IC quyết định bắt đầu một giao dịch, nó sẽ
chuyển mạch SDA từ mức điện áp cao xuống mức điện áp thấp trước khi đường
SCL chuyển từ cao xuống thấp.
Khi điều kiện bắt đầu được gửi bởi thiết bị Master, tất cả các thiết bị Slave đều
hoạt động ngay cả khi chúng ở chế độ ngủ (sleep mode) và đợi bit địa chỉ.

Hình 2.16: Điều kiện bắt đầu quá trình truyền dữ liệu
 Khối địa chỉ
Bao gồm 7 bit và được lấp đầy với địa chỉ của thiết bị Slave đến / từ đó thiết bị
Master cần gửi / nhận dữ liệu. Tất cả các thiết bị Slave trên bus I2C so sánh các bit
địa chỉ này với địa chỉ của chúng.
 Bit Read/Write
Bit này xác định hướng truyền dữ liệu. Nếu thiết bị Master / IC cần gửi dữ liệu
đến thiết bị Slave, bit này được thiết lập là ‘0’. Nếu IC Master cần nhận dữ liệu từ
thiết bị Slave, bit này được thiết lập là ‘1’.
 Bit ACK, NACK
ACK / NACK là viết tắt của Acknowledged/Not-Acknowledged. Nếu địa chỉ
vật lý của bất kỳ thiết bị Slave nào trùng với địa chỉ được thiết bị Master phát, giá
trị của bit này được set là ‘0’ bởi thiết bị Slave. Ngược lại, nó vẫn ở mức logic ‘1’
(mặc định).
 Khối dữ liệu
Bao gồm 8 bit và chúng được thiết lập bởi bên gửi, với các bit dữ liệu cần truyền
tới bên nhận. Khối này được theo sau bởi một bit ACK / NACK và được set thành ‘0’
bởi bên nhận nếu nó nhận thành công dữ liệu. Ngược lại, nó vẫn ở mức logic ‘1’.
 Stop Condition
Sau khi các khung dữ liệu cần thiết được truyền qua đường SDA, thiết bị Master
chuyển đường SDA từ mức điện áp thấp sang mức điện áp cao trước khi đường SCL
chuyển từ cao xuống thấp.

Hình 2.17: Điều kiện dừng quá trình truyền dữ liệu


CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ

3.1 Giới thiệu


Đề tài “Thiết kế thiết bị chấm công bằng phương pháp trắc học nhận dạng vân tay
sử dụng esp32” bao gồm:
Hệ thống có các chức năng như sau: hệ thống chính là điểm danh cho nhân viên
bằng cách tiến hành quét vân tay. Sau đó, thông tin nhân viên sẽ được gửi lên Internet để
ghi chép thời điểm điểm danh nhân viên…..Thêm nữa là cho phép quản lí thêm vân tay,
xóa vân tay.

3.2 Tính toán và thiết kế hệ thống

3.2.1 Thiết kế sơ đồ khối hệ thống


Hệ thống gồm 6 khối ghép lại với nhau theo nhiều hướng tạo nên một hoạt động ổn
định được trình bày trong sơ đồ khối hình 3.1 như sau:

Hình 3.1: Sơ đồ khối hệ thông cuẩ thiết bị


Chức năng từng khối:
 Khối nguồn: cung cấp nguồn 5V cho các khối còn lại
 Khối xử lí trung tâm: thu thập dữ liệu từ các thiết bị sau đó xử lí và điều khiển
khối hiển thị và khối server. Khối này do ESP32 DEVKIT V1 thực hiện.
 Khối cảm biến vân tay: tiến hành quét vân tay của nhân viên và lưu trữ dấu vân
tay. Khối này do module cảm biến vân tay R305 thực hiện.
 Khối hiển thị: hiển thị thông tin chế độ hoạt động khi người dùng thao tác.
Khối này sử dụng module lcd16x2
 Khối điều khiển: Khối này để người dung thực thi nhập mã số, phục vụ cho nhiệm vụ
lưu trữ vân tay.
3.2.2 Tinh toán và thiết kế mạch
a. Khối xử lí trung tâm
ESP32 DEVKIT V1 sử dụng esp32. Nó có 25 chân digital I/O và 5 chân nguồn
EN,VCC,GND , kết nối USB, một jack cắm điện và một nút reset như trong hình 3.2. Nó
chứa tất cả mọi thứ cần thiết để tạo thành khối xử lí trung tâm với đầy đủ các port.
Ý tưởng thiết kế của nhóm là kết hợp nhiều module lại với nhau, do vậy sẽ có
nhiều chân kết nối nên việc lựa chọn ESP32 DEVKIT V1 là rất phù hợp.

Hình 3.2: Khối xử lí trung tâm sử dụng ESP32 DEVKIT V1

 Trong quá trình kết nối các module và lập trình cho hệ thống:
- Bộ nhớ sử dụng hết 930754 bytes vào khoảng 71% bộ nhớ
- Tổng số chân I/O sử dụng 16 chân, công thức tính dòng tiêu thụ:
Dòng tiêu thụ = 16x40mA=640 mA
b. Khối cảm biến vân tay
Khối cảm biến vân tay sẽ gửi tín hiệu về khối xử lý, khối xử lý sẽ nhận tín hiệu và
chuyển đến khối khác để chuyển tín hiệu đó đi. Đồng thời, khối cảm biến vân tay chỉ hoạt
dộng khi khối xử lí trung tâm yêu cầu.
Trên thị trường có rất nhiều loại cảm biến vân tay như đầu đọc vân tay R303S có
khả năng lưu trữ 1000 mẫu vân tay, đầu đọc vân tay R101 có khả năng lưu trữ 1000 mẫu,
module R301 có khả năng lưu trữ 500 mẫu vân tay, module R305 có khả năng lưu trữ 120
vân tay…..Do đề tài của nhóm thực hiện quét vân tay cho nhân viên sử dụng khoảng 1000
vân tay nên lựa chọn module vân tay R305 để thực hiện trong đề tài này.
Cảm biến vân tay R305 tích hợp xử lí hình ảnh và tuật toán xử lí cùng một chip.
Khả năng xử lí ảnh chụp tốt với độ phân giải đến 51x288 pixels. Chuẩn giao tiếp: USB-
UART(TTL logical logic) từ 9600-115200 bps, sử dụng tốc độ mặc định là 57600 bps
đảm bảo truyền nhận chính xác dữ liệu. Bên cạnh đó là các thông số khác như:
+ Điện áp cung cấp : 4.2 – 6.0 VDC
+ Dòng điện tiêu thụ: <120mA.
Cách nối day cho cảm biến R305 vào ESP32 DEVKIT V1 theo thứ tự chân:
 Dây số 1 nối với nguồn 5V và dây số 2 vào GND arduino
 Dây số 3 nối với chân số 32 RX1 và dây số 4 nối chân 33 TX1 của ESP32
DEVKIT V1

c. Khối hiển thị


Hiển thị trạng thái làm việc của hệ thống trên màn hình LCD 20x4, với 4 hàng ta
có thể dễ dàng thao tác giữa người dùng với mô hình hệ thống

Hình 3.3: LCD 20x4


Vì sử dụng mạch chuyển giao LCD 20x4 sang I2C, chỉ cần 2 chân SDA và SCL
của ESP32 DEVKIT V1 kết nối với 2 chân SDA và SCL của module là đã có thể hiển thị
thông tin lên LCD
Hình ảnh thực tế của mạch chuyển giao tiếp được thể hiện ở hình 3.4:

Hình 3.4: Mạch chuyển giao tiếp LCD sang I2C


 Hai chân nguồn VCC và GND được kết nối với chân 3,3 V và GND của ESP32
DEVKIT V1
 SDA được kết nối với chân 19 và SCL được kết nối với chân 21 của ESP32
DEVKIT V1
Cách kết nối giữa LCD 20x4 sử dụng mạch chuyển giao giao tiếp LCD sang
I2C và ESP32 DEVKIT V!, được thể hiện ở trên.

d. Khối ngoại vi
Trong khối này có phím ma trận 4x4. Sơ đồ nối dây và hình ảnh thực tế của ma
trận bàn phím 4x4 được thể hiện trong hình 3.5 sau:

Hình 3.5: Sơ đồ nối dây và hình ảnh thực tế của bàn phím ma trận 4x4
e. Khối nguồn
 Nguồn cấp cho khối xử lí trung tâm
o Board ESP32 DEVKIT V1 sử dụng hết 16 chân. Dòng DC trên mỗi chân
I/O là 40mA
I = 40x16 = 640mA
o Dòng tiêu thụ cảm biến vân tay Ifinger = 150mA
o Tổng dòng tiêu thụ trên là: I = I + Ifinger = 640 + 150 = 790 mA
Theo tính toán thì sẽ cấp dòng tối thiểu là 790mA. Vì vậy, nhóm sử dụng adapter có ngõ
ra là 9V 2A.

 Nguồn cấp cho LCD 20x4


o Dòng LCD tiêu thụ tối đa là 2.5mA. Vì vậy, nhóm sử dụng ngõ ra 5V của
ESP32 DEVKIT V1 cấp cho LCD

Hình 3.6 Adapter 9V 2A


o Nguồn Adapter được sử dụng rộng rãi trong các thiết bị điện tử,…..Nguồn
adapter thường được sử dụng cho các mạch điện tử và các kit , cung cấp
dòng áp đủ để tránh trường hợp dòng ảnh hưởng tói mạch, sụt áp.
o Bồ nguồn adapter 9V 2A có tác dụng công cấp dòng, điện áp, tần số dao
động ổn định, làm tăng tuổi thọ của các thiết bị điện lâu hơn.
o Thông số kĩ thuật adapter 9V 2A:
 Điện áp ngõ vào: 220 AC
 Điện áp ngõ ra: 9V hoặc 5V 2A
 Sai số điện áp đầu ra: 1-3%
 Công suất thực tế: 88%
 Nhiệt độ làm việc: 0-70 độ C

3.2.3 Sơ đồ nguyên lí toàn mạch


Dưới đây là hình 3.7 là sơ đồ nguyên lí toàn mạch thể hiện tất cả các khối và kết nối các
thiết bị lại với nhau rồi cắm vào ESP32 DEVKIT V1

Hình 3.7 Sơ đồ nguyên lí toàn mạch


CHƯƠNG 4: THI CÔNG HỆ THỐNG

4.1 Giới thiệu


Sau quá trình tính toán thiết kế, bộ phận xử lí trung tâm ESP32 DEVKIT V1 giao
tiếp với các cảm biến vân tay, module I2C, màn hình LCD. Do vậy, ta cần một board
mạch để kết nối tất cả các module ấy lại với nhau. Nhóm đã tiến hành thiết kế PCB, thi
công và test mạch.

4.2 Thi công hệ thống

4.2.1 Thi công bo mạch hệ thống


Sau khi thiết kế xong sơ đồ nguyên lí và tiến hành vẽ mạch PCB 1 lớp thủ công.
Với lớp bottom để gắn ESP32 DEVKIT V1 vào. Cùng với lớp bottom kết nối ESP32
DEVKIT V1 vói các module cảm biến vân tay, LCD, Module I2C. Hình 4.1 thể hiện sơ
đồ đi dây khi đã phủ đồng. Hình 4.2 thể hiện sơ đồ dạng 3D

Hình 4.1 Sơ đồ thiết kế mạch


Hình 4.2 Sơ đồ dạng 3D

Danh sách các linh kiện sử dụng của mạch được liệt kê trong bảng 4.1
Bảng 4.1 Danh sách linh kiện
STT Tên linh kiện Giá trị Loại Số lượng
1 Button 4 chân 1
2 Header cái 2 15 chân 2
3 Header đực 2 16 chân 2
4 Header đực 2 4 chân 2
5 Header đực 1 6 chân 1
6 Led 1 1 màu đỏ 1
7 Điện trở 2 10K 1
4.2.2 Lắp ráp và kiểm tra bo mạch hệ thống
Quá trình thi công, lắp ráp và kiểm tra mạch:
Bước 1: Rửa board đồng sạch sẽ bằng nước rửa mạch sau khi ủi mạch và tiến hành
khoan lỗ.
Bước 2: Dùng đồng hồ chỉnh thanh đo điện trở để kiểm tra ngắn mạch trên ngõ vào
của jack DC
Bước 3: Hần tất cả các hàng rào, đầu bus, jack DC vào board đồng. Đo kiểm tra các
hàng rào, các đầu bus, jack DC có kết nối với nhau không.
Bước 4: Gắn board esp32 devkit v1 vào mạch vừa hàn xong. Đo kiểm tra từng chân
của esp32 devkit V1xem đã kết nối chưa.
Bước 5: Gắn đầu bus của các module lại với header. Đo kiểm tra từng chân của các
thiết bị đã kết nối hết chưa
Bước 6: Cấp nguồn 5V cho esp32.
Bước 7: Sau đó ta nạp chương trình và test chương trình có đạt như yêu cầu ban đầu
không.

4.3 Lập trình hệ thống

4.3.1 Lưu đồ giải thuật


Hệ thống thực hiện hai chức năng chính là quét vân tay điểm danh và thêm vân tay
của nhân viên để quản lí nhân viên trong công ty. Điểm danh để quản lí thời gian nhân
viên đến công ty được thực hiện bằng cách quét vân tay. Sau khi quét vân tay, dữ liệu ID
của người quét sẽ được so sánh với danh sách, sau khi trùng ID thì sẽ lấy thông tin của
nhân viên gửi lên trên google sheet. Hệ thống còn cho phép thêm vân tay một cách dễ
dàng.

Khi cấp điện vào hệ thống, khởi động ESP32 DEVKIT V1, cảm biến vân tay,
LCD,….Sau khi khởi động xong mặc định sẽ hiển thị menu lựa chọn trên LCD, muốn đổi
chế độ thì ta nhấn phím 1 tương ứng với chức năng quét vân tay hoặc thêm vân tay.
Hình 4.3 Lưu đồ thuật toán điểm danh

Hình 4.4 Lưu đồ thuật toán đăng kí vân tay

4.3.2 Phần mềm lập trình cho vi điều khiển


Giới thiệu phần mềm lập trình Arduino IDE
Arduino IDE là phần mềm giúp ta lập trình cho các dòng sản phẩm của Arduino
như Arduino Uno, Arduino Mega, nano , Esp,….Lập trình trên Arduino IDE là cách tiếp
cận đơn giản nhất cho những người đam mê điện tử và muốn tạo ra những sản phẩm
nhúng ấn tượng mà không cần quá nhiều kiến thức chuyến sâu về điện tử. Môi trường
phát triển tích hợp Arduino IDE là một ứng dụng đa nên tảng được viết bằng JAVA
 Arduino IDE hình 4.8 là nơi để soạn thảo code, kiểm tra lỗi và upload code.

Hình 4.5 Giao diện lập trình arduino


 Arduino Toolbar có một số button và chức năng của chúng như sau:

Hình 4.6 Arduino Toolbar


1. Verify: kiểm tra code có lỗi hay không
2. Uploead: nạp code đang soạn thảo vào Arduino
3. New, Open, Save: tạo mới, mở và lưu sketch
4. Serial Monitor: Đây là màn hình hiển thị dữ liệu từ Arduino gửi lên máy tính

You might also like