Đồ án thiết kế, chế tạo phần cứng thiết bị điểm danh lớp thực hành bằng cảm biến vân tay
- 80 trang
- file .pdf
TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT HƢNG YÊN
KHOA ĐIỆN –ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI : Thiết kế, chế tạo phần cứng thiết bị điểm danh lớp
thực hành bằng cảm biến vân tay
Sinh Viên Thực Hiện : Trần Đình Linh
Lớp : 112182.1
Giảng Viên Hướng Dẫn : Nguyễn Thị Thắm
Hưng Yên 2022
LỜI MỞ ĐẦU
LỜI CẢM ƠN
Chương 1 Tổng quan về đề tài ...........................................................................1
1.1 Giới thiệu về đề tài ....................................................................................1
1.2 Mục đính nghiên cứu .................................................................................1
1.3 Giới hạn đề tài ...........................................................................................2
1.4 Phương pháp và phương tiện nghiên cứu ..................................................2
1.4.1 Phương pháp nghiên cứu ....................................................................2
1.4.2 Phương tiện .........................................................................................2
Chương 2 Cơ sở lý thuyết ...................................................................................3
2.1 Giới thiệu về arduino .................................................................................3
2.1.1 Khái niệm về arduino .........................................................................3
2.1.2 Arduino uno R3 .................................................................................3
2.2.2 Năng lượng .........................................................................................6
2.2.3 Bộ nhớ ................................................................................................6
2.2.4 Công cụ lập trình ................................................................................6
2.2 Module RFID RC522 ................................................................................8
2.2.1 Tổng quan về RFID RC522 ................................................................8
2.2.2 Chi tiết cấu hình chân RC522 ............................................................9
2.2.3 Các đặc tính RC522 ............................................................................9
2.2.4 Ứng dụng module RFID RC522.......................................................10
2.2.5 Tổ chức vùng nhớ thẻ từ ..................................................................10
2.2.6 Chuẩn giao tiếp spi ...........................................................................10
2.3 Cảm biến vân tay .....................................................................................12
2.3.1 Tổng quan về cảm biến vân tay ........................................................12
2.3.2 Cảm biến As 608 ..............................................................................13
2.4 Mạch chuyển đổi I2C ..............................................................................15
2.5 Stm32f103 ............................................................................................... 16
2.5.1 Giới thiệu về họ stm .........................................................................16
2.5.2 Kit stm32f103 ...................................................................................17
2.6 ESP 8266 .................................................................................................19
2.6.1 Tổng quan về ESP 8266 ..................................................................19
2.6.2 Thông số kĩ thuật ..............................................................................21
2.7 Module ds1307 và chuẩn giao tiếp I2C ...................................................21
2.7.1 Module ds1307 .................................................................................21
2.7.2 Giao thức i2c ....................................................................................22
2.8 LCD 20x4 ............................................................................................25
2.9 Chuẩn giao tiếp UART ............................................................................26
2.10 Cấu hình CUBE MX cho mạch ............................................................28
Chương 3 Thiết kế chế tạo.................................................................................33
3.1 Sơ đồ khối hệ thống ................................................................................33
3.2 Nguyên lý mạch .......................................................................................35
3.3 Sơ đồ mạch in và bố trí linh kiện.............................................................36
3.3 Lưu đồ thuật toán .....................................................................................38
3.4 Hình ảnh hoàn thiện ................................................................................41
Chương 4 Kết luận và hướng phát triển………………………………………51
4.1 Kêt luận....................................................................................................42
4.2 Hướng phát triển đề tài ............................................................................42
Tài liệu tham khảo .............................................................................................43
Phụ lục ...............................................................................................................44
Danh mục hình ảnh
Hình 2.1 Uno r3 ..................................................................................................3
Hình 2.2 Vi điều khiển trên board uno ................................................................4
Hình 2.3 Giao diện công cụ lập trình ..................................................................7
Hình 2.4 Giao diện device manager ....................................................................7
Hình 2.5 Thiết lập board và cổng com cho uno ..................................................8
Hình 2.6 Thẻ từ RFID.........................................................................................8
Hình 2.7 Sơ đồ chân RC522 ................................................................................9
Hình 2.8 Tổ chức vùng nhớ thẻ mifare class .....................................................10
Hình 2.9 Mô hình giao tiếp spi (stm32 với RC522) ..........................................11
Hình 2.10 Cơ chế truyền và nhận của master slave...........................................12
Hình 2.11 Một số mẫu vân tay ..........................................................................13
Hình 2.12 Cảm biến vân tay ..............................................................................14
Hình 2.13 Mạch chuyển đổi i2c lcd...................................................................15
Hình 2.14 Bảng địa chỉ i2c ................................................................................16
Hình 2.15 Tổng quan về bộ kit ..........................................................................17
Hình 2.16 Sơ đồ chân ........................................................................................20
Hình 2.17 Chíp và kít esp 8266 ........................................................................21
Hình 2.18 Module DS1307 ................................................................................22
Hình 2.19 Giao tiếp i2c 1 master nhiều slave ....................................................23
Hình 2.20 Khung truyền i2c ..............................................................................23
Hình 2.21 Cách giao tiếp với giữa master với slave thông qua địa chỉ slave....24
Hình 2.22 Khởi tạo giao tiếp i2c .......................................................................25
Hình 2.23 Màn hình LCD 20x4 ........................................................................26
Hình 2.24 Kết nối UART ..................................................................................27
Hình 2.25 Khung truyền UART ........................................................................27
Hình 2.26 Cấu hình cho chip stm32 ..................................................................29
Hình 2.27 Sắp xếp thứ tự ngắt cho chip ............................................................29
Hình 2.28 Cấu hình clock cho chip ...................................................................30
Hình 2.29 Cấu hình UART1 và 2 ......................................................................30
Hình 2.30 Cấu hình spi ......................................................................................31
Hình 2.31 Cấu hình I2C.....................................................................................31
Hình 3.1 Sơ đồ khối ...........................................................................................33
Hình 3.2 Khối nguồn .........................................................................................33
Hình 3.3 Khối cảm biến.....................................................................................33
Hình 3.4 Khối hiển thị .......................................................................................34
Hình 3.5 Khối xử lý trung tâm ..........................................................................34
Hình 3.6 Sơ đồ nguyên lý ..................................................................................35
Hình 3.7 Sơ đồ mạch in .....................................................................................36
Hình 3.8 Sơ đồ bố trí linh kiện trên mặt board ..................................................37
Hình 3.9 Lưu đồ thuật toán mạch ......................................................................38
Hình 3.10 Lưu đồ thuật toán trên google scritp.................................................39
Hình 3.11 Hình ảnh hoàn thiện sản phẩm .........................................................41
LỜI MỞ ĐẦU
Ngày nay, ngành công nghệ kỹ thuật ngày càng phát triển. Các máy móc đều
được tự động hóa đáp ứng nhu cầu con người và đem lại hiểu quả cao cho các doanh
nghiệp trong nhiều lĩnh vực như công nghiệp, nông nghiệp,...Bên cạnh trang thiết bị
máy móc hiện đại, nhân lực cũng là một trong những yếu tố quan trọng quyết định
đến sự tồn tại và phát triển của các doanh nghiệp.
Chính vì nhu cầu nhân lực cao và có nhiều phức tạp nên nhu cầu quản lý đòi
hỏi cũng cần phải cải tiến để có thể đáp ứng nhu cầu người dùng một cách tốt nhất.
Hiện nay, có rất nhiều cách để quản lý học sinh sinh viên đi học khác nhau, cụ
thể như điểm danh trực tiếp (hình thức này yêu cầu giáo viên và phải có danh sách
kèm theo bên cạnh, giáo viên thường sẽ gọi tên và đối chiếu với danh sách để kiểm
tra. Hình thức này mất khá nhiều thời gian, lại không mang tính chuyên
nghiệp. Bên cạnh đó yêu cầu thầy/cô phải có phương pháp xác định người được điểm
danh là đúng.), điểm danh bằng hình thức làm bài kiểm tra giấy gây mất thời gian và
độ chính xác chưa cao. quản lý kiểm soát bằng hình thức quẹt thẻ RFID ( hình thức
này khá phổ biến, nhanh, gọn lại có tính chính xác cao, nhưng đòi hỏi người dùng
phải mang theo thẻ, nếu khống có thì không thể điểm danh được) hay bằng hình thức
quét vân tay (hình thức cũng rất phổ biến trong các doanh nghiệp, công ty hiện nay,
chuyên nghiệp, chính xác, yêu cầu người dùng phải them vân tay trước đó, hay được
áp dụng chấm công cho nhân viên). Nhận thấy nhu cầu quản lý thường hay có nhiều
hình thức xảy ra như điểm danh chấm công cho nhân viên, hay điểm danh trong
trường hợp đột xuất ( trong các cuộc họp), kiểm soát khách tham quan công ty nên
nhóm quyết định chọn đề tài :
―Thiết kế, chế tạo phần cứng thiết bị điểm danh lớp thực hành bằng cảm
biến vân tay‖ để có thể điểm danh trong nhiều trường hợp khác nhau, và được lưu và
một file excel và được đưa lên server nội bộ của công ty để dễ dàng quản lý từ xa .Tất
cả các thao tác này đều do chip STM32F103C8T6 đảm nhận và thực hiện thông qua
các chuẩn giao tiếp. Bên cạnh đó, nhóm cũng muốn thông qua đề tài để tìm hiểu thêm
về ứng dụng của công nghệ vào đời sống đồng thời vận dụng và hiểu sâu hơn về các
kiến thức đã được học.
LỜI CẢM ƠN
Nhóm sinh viên thực hiện đề tài xin chân thành cảm ơn các thầy cô giáo khoa
Điện – Điện tử trường ĐHSPKT Hưng Yên, đã tận tình chỉ bảo, truyền đạt cho chúng
em những kiến thức, những thành tựu khoa học của xã hội và của nghành điện tử để
chúng em có thể thực hiện đề tài này.
Đặc biệt chúng em xin bày tỏ lòng biết ơn sâu sắc đến cô Nguyễn Thị Thắm là
người đã hướng dẫn và tận tình giúp đỡ, chỉ dạy chúng em để chúng em thực hiện đề
tài này.
Nhóm sinh viên xin chân thành cám ơn những ý kiến đóng góp của quý thầy, cô
giáo và các bạn cho việc thực hiện đề tài này.
Chúng em xin chân thành cảm ơn!
Chƣơng I
Tổng quan về đề tài
1.1 Giới thiệu về đề tài
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật,
công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò
quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông
tin... Do đó là một sinh viên chuyên ngành Điện tử, chúng ta phải biết nắm bắt và vận
dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật
thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói riêng. Bên cạnh đó còn là
sự thúc đẩy sự phát triển của nền kinh tế nước nhà.
Như chúng ta cũng đã biết, Trường học là nơi cần được rèn luyện tính kỷ luật
cao bởi sẽ tạo ra những nhân tài của đất nước. Ý thức sinh viên trong môi trường học
tập cần phải nâng cao. Tuy nhiên không tránh khỏi tình trạng gian lận trong học
đường như: Nhờ học hộ, điểm danh hộ, thi hộ… làm ảnh hưởng tới chất lượng dạy và
học của ngôi trường.
Một trong những giải pháp được nhiều trường học áp dụng để loại bỏ tình trạng
tiêu cực như trên đó là sử dụng máy điểm danh bằng quẹt thẻ RFID và quét vân tay.
Điều đó sẽ giúp hỗ trợ điểm danh trong mỗi tiết học nhằm giúp giáo viên quản lý và
nắm bắt tình trạng học sinh một cách chính xác nhất. Đặc biệt sử dụng máy điểm
danh vào việc điểm danh cho sinh viên sẽ giúp cho sinh viên có thể chủ động thời
gian học tập và tới lớp của mình theo đúng quy định của nhà trường. Việc điểm danh
tự động nhanh chóng chỉ cần một lần xác nhận vân tay là sinh viên đã điểm danh xong
giúp tiện kiệm thời gian và chính xác nhằm nâng cao tính chuyên nghiệp trong nhà
trường. Từ những yêu cầu thực tế, chúng em đã chọn đề tài: ―Thiết kế và thi công hệ
thống điểm danh sinh viên sử dụng hai phương pháp quẹt thẻ RFID và quét vân tay‖
1.2 Mục đính nghiên cứu
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những
kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống điểm danh
sinh viên bằng hai phương pháp quẹt thẻ RFID và quét vân tay.
Hệ thống gồm có:
Module RFID RC522
Module AS 608
Module ESP8266
Module DS1307
1
Mạch điều khiển dùng chip Stm32 và chip Arduino để xử lý
Màn hình LCD 20x4
1.3 Giới hạn đề tài
Trong giới hạn thời gian cho phép của đề tài này kết hợp với những kiến thức
có đươc trong suốt quá trình học không cho phép thực hiện được một sản phẩm hoàn
thiện nhất. Cho nên nhóm chúng em chỉ tập trung vào những vấn đề sau:
Dùng Board Arduino và Stm32 để làm trung tâm điều khiển toàn bộ hệ thống.
Module RFID RC522 để quẹt thẻ từ
Module AS 608 dùng đề quét vân tay
Module ESP8266 để kết nối mạng để gửi danh sách điểm danh lên gg sheet
Module DS1307 dùng để gửi danh sách điểm danh theo ca
Mạch điều khiển dùng chip Stm32 và chip Arduino để xử lý
Màn hình LCD 20x4 để hiện thị
Mạch chạy ổn định trong toàn bộ quá trình.
1.4 Phƣơng pháp và phƣơng tiện nghiên cứu
1.4.1 Phƣơng pháp nghiên cứu
Kết hợp giữa lý thuyết và thực nghiệm:
Sau khi nhận đề tài, nhóm đã tập trung tìm hiểu các vấn đề liên quan đến đề tài.
Sau đó lập trình mô phỏng, chế tạo mạch để kiểm tra thực tế. Trong quá trình chạy
thực tế kiểm tra lỗi, những hạn chế mắc phải để chỉnh sửa và phát triển thêm các ý
tưởng.
Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thị
trường và tham khảo thêm một số dạng mạch từ mạng Internet.
Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí
về điện tử và truy cập từ mạng Internet.
1.4.2 Phƣơng tiện
Phần mềm biên dịch chương trình Keilc, IDE arduino, phần mềm thiết lập cơ
bản CUBE MX, phần mềm thiết kế mạch Altium, phần mềm mô phỏng Proteus.
Các giáo trình điện tử đã được học, tài liệu và các thảo luận trên Internet.
1.5 Ý nghĩa thực tiễn
Ý nghĩa thực tiễn của đề tài giúp giáo viên quản lý và nắm bắt tình trạng học
sinh một cách chính xác nhất và sẽ giúp cho sinh viên có thể chủ động thời gian học
tập và tới lớp của mình theo đúng quy định của nhà trường.
2
Chƣơng II
Cơ sở lý thuyết
2.1 Giới thiệu về Arduino
2.1.1 Khái niệm về arduino
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án
điện tử. Arduino bao gồm cả bảng mạch lập trình (thường được gọi là vi điều khiển)
và một phần mềm hoặc IDE (Môi trường phát triển tích hợp) chạy trên máy tính, được
sử dụng để viết và tải mã máy tính lên bo mạch.
Nền tảng Arduino giờ đã khá phổ biến với những người mới bắt đầu với thiết
bị điện tử. Không giống như hầu hết các bo mạch lập trình trước đây, Arduino không
cần phần cứng riêng để tải mã mới lên bo mạch - bạn có thể chỉ cần sử dụng cáp USB.
Ngoài ra, Arduino IDE sử dụng phiên bản đơn giản của C++, giúp việc học lập trình
dễ dàng hơn. Arduino cung cấp một mẫu chuẩn giúp dễ tiếp cận các chức năng của bộ
vi điều khiển hơn.
2.1.2 Arduino uno R3
Hình 2.1 Uno r3
3
Thông số cơ bản:
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân
30 mA
I/O
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Hình 2.2 Vi điều khiển trên board uno
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ỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (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:
4
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
– RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông
qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối
Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2
chân nà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àm
analogWrite(). 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ác
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao
thức SPI với các thiết bị khác.
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm
nút Reset, 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.
- 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ân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng
các châ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ân
giả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.
Ứng dụng của Arduino Uno R3
Aruino Uno R3 được sử dụng phổ biến trong việc tự thiết kế ra các mạch
điện tử như điều khiển led, gửi dữ liệu lên lcd, điều khiển motor,... hay được gắn
thêm các Shield để kết nối nhiều module cảm biến khác để thực hiện thêm nhiều
chức năng mở rộng như gửi dữ liệu qua wifi.
Ngoài ra, trên thị trường còn có nhiều biến thể của Arduino Uno để thực
hiện thêm các tính năng chuyên dụng, ví dụ như mCore, Orion trên mBot được
chuyên dụng với việc dễ dàng phân biệt các loại module nào có thể sử dụng cắm
vào trên các cổng để trẻ dễ dàng sử dụng cho nhưng ai không quá mạnh về thiết kế
mạch điện tử.
5
2.2.2 Năng lƣợng
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng
USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dù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ối vớ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.2.3 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ùng cho bootloader nhưng đừng lo, 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áo khi 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 EPROM (Electrically Eraseble Programmable Read Only Memory):
đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của
mì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.
2.2.4 Công cụ lập trình
Ở đây chúng ta sử dụng công cụ lập trình IDE Arduino
6
Về giao diện:
Hình 2.3 Giao diện công cụ lập trình
Bước 1: Chúng ta cắm kit Uno r3 vào máy tính để máy tính có thể nhận cổng
com trên máy tính. Chúng ta mở cửa số window tìm kiếm Device manager để kiểm
tra máy có nhận cổng com hay không Trường hợp máy tính chưa nhận driver chúng ta
phải tải driver về máy (thường là ch340 là chủ yếu, có một số khác do người dùng tự
thiết kế lại có thể khác về driver). Và kiểm tra ở mục com&port xem máy đã nhận
cổng hay chưa.
Hình 2.4 Giao diện device manager
Bước 2: Chúng ta vào giao diện của trình biên dịch arduino tại đây chúng ta
thiết lập cổng cho uno r3 bằng cách chúng ta vào tool /port( cổng của arduino uno
r3).Sau đó chúng ta thiết lập boar cho mạch bằng cách vào tool/board/arduino avr
board/ arduino uno.
7
Hình 2.5 Thiết lập board và cổng com cho uno
Bước 3: Tại đây bạn có thể lấy các ví dụ mà IDE có sẵn để làm quen với board
hoặc bạn có thể lập trình ngay lập tức. Tiếp theo là đến compiler chương trình, nếu
chương trình compiler không xảy ra lỗi thì chúng ta sẽ nạp code vào trong board
thông qua cáp bằng cách ấn upload và đợi done uploading
2.2 Module RFID RC522
2.2.1 Tổng quan về RFID RC522
RC522 là Module RFID đa giao tiếp với Arduino và vi điều khiển RC522 còn
gọi là MFRC-522 sản xuất bởi hãng vi điều khiển bán dẫn NFX. Module cho phép các
nhà phát triển giao tiếp với các vi điều khiển dựa trên giao thức SPI, I2C và UART
Module RC522 hoạt động ở tần số 13.56 MHz và đọc và ghi thẻ UID /
RFID. Các thẻ RFID giao tiếp được với module ở khoảng cách ngắn với tần số vô
tuyến nhờ cảm ứng điện từ lẫn nhau.
Trong các thiết bị bảo mật và thương mại, module rất phù hợp vì có thể phát
hiện được các trạng thái và thông tin của thẻ RFID.
Có thẻ giao tiếp bằng uart, i2c hoặc spi tuỳ theo mục đích sử dụng
Hình 2.6 Thẻ từ RFID
8
2.2.2 Chi tiết cấu hình chân RC522
Hình 2.7 Sơ đồ chân RC522
- Chân reset có chức năng reset khi về mức 0
- Chân 3.3v chân nguồn của module
- Chân sda, sck, mosi, miso là các chân giao tiếp với module
- GND chân âm nguồn module
2.2.3 Các đặc tính RC522
- RFID RC522 sử dụng cảm ứng điện từ để kích hoạt thẻ và có tần số 13,56MHz
để truyền dữ liệu.
- Thẻ RFID có thể sử dụng được với cả hai mặt của module khoảng cách tối đa
5cm.
- Điện áp 3.3V được yêu cầu để hoạt động.
- Chế độ ngủ tự động giúp module tiêu thụ ít điện năng hơn.
- Module có ba loại giao tiếp (UART, SPI, I2C). Do đó, có thể sử dụng được với
hầu hết mọi vi điều khiển.
- Có thể truyền dữ liệu lên đến 10Mb/s.
Các lựa chọn khác để thay thế:
- PN532
- SM130
- Module RFID RDM630
9
2.2.4 Ứng dụng module RFID RC522
- RFID sử dụng như một thiết bị bảo mật.
- Ở một số công ty, các thiết bị được sử dụng trong các mặt hàng mua sắm.
- Một số sân bay cũng bắt đầu sử dụng RFID để xác định và kiểm tra túi xách và
các vật dụng khác.
- Hệ thống chấm công hoặc bãi đậu xe cũng sử dụng RFID.
2.2.5 Tổ chức vùng nhớ thẻ từ
Thẻ MIFARE Classic là một thiết bị lưu trữ bộ nhớ. Bộ nhớ được chia thành
các cung, cũng được chia thành các khối 16 byte.
Thẻ MIFARE Classic 1K có 16 sector, mỗi sector được chia thành bốn
khối. Nếu chúng ta làm phép toán, chúng ta có thể tìm ra cấu trúc bộ nhớ sẽ như thế
nào: 16 byte (1 khối) * 4 khối * 16 sector = 1024 byte.
Hình 2.8 Tổ chức vùng nhớ thẻ mifare class
Trong đó CSN ở đây là nơi lưu địa chỉ UID ở đây còn tuỳ thuộc vào 1 số loại
thẻ có thể chỉnh sửa UID và có 1 số loại không thể thay dổi. Ở đây chúng ta sử dụng
thẻ có thể thay dổi UID , block số 3 là tổng của các block 0, 1, 2, 3 trên ở đây chúng
ta lưu site key là 0xff, thẻ được chia làm 2 vùng nhớ là vùng a va b. Vùng a từ đầu đến
hết sector số 9, vùng b là vùng còn lại
Dựa vào đây chúng ta có thể lưu data tại các ô nhớ cho phép lưu data và key
của thẻ nhằm tăng tính bảo mật của thẻ
Tại đây chúng ta cũng có thể đọc/ghi thẻ thông qua điên thoại có hỗ trợ nfc và
máy tính thông qua các phần mềm của hãng mifcare class tool
2.2.6 Chuẩn giao tiếp spi
SPI – Serial Peripheral Interface – hay còn gọi là giao diện ngoại vi nối tiếp,
được phát triển bởi hãng Motorola.
Chuẩn đồng bộ nối truyền dữ liệu ở chế độ full - duplex (hay gọi là "song công
toàn phần". Nghĩa là tại 1 thời điểm có thể xảy ra đồng thời quá trình truyền và nhận.
Là giao tiếp đồng bộ, bất cứ quá trình nào cũng đều được đồng bộ với xung
clock sinh ra bởi thiết bị Master không cần phải lo lắng về tốc độ truyền dữ liệu.
10
SPI thường được sử dụng giao tiếp với bộ nhớ EEPROM, RTC (Đồng hồ thời
gian thực), IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ nhớ như MMC
hoặc thẻ SD hoặc thậm chí các bộ vi điều khiển khác.
Hình 2.9 Mô hình giao tiếp spi (stm32 với RC522)
Sử dụng 4 đường giao tiếp nên đôi khi được gọi là chuẩn truyền thông ― 4
dây‖. 4 đường đó là :
SCK (Serial Clock): Thiết bị Master tạo xung tín hiệu SCK và cung cấp cho
Slave. Xung này có chức năng giữ nhịp cho giao tiếp SPI. Mỗi nhịp trên chân SCK
báo 1 bit dữ liệu đến hoặc đi → Quá trình ít bị lỗi và tốc độ truyền cao.
MISO (Master Input Slave Output): Tín hiệu tạo bởi thiết bị Slave và nhận bởi
thiết bị Master. Đường MISO phải được kết nối giữa thiết bị Master và Slave.
MOSI (Master Output Slave Input): Tín hiệu tạo bởi thiết bị Master và nhận
bởi thiết bị Slave. Đường MOSI phải được kết nối giữa thiết bị Master và Slave.
SS (Slave Select): Chọn thiết bị Slave cụ thể để giao tiếp. Để chọn Slave giao
tiếp thiết bị Master chủ động kéo đường SS tương ứng xuống mức 0 (Low). Chân này
đôi khi còn được gọi là CS (Chip Select). Chân SS của vi điều khiển (Master) có thể
được người dùng tạo bằng cách cấu hình 1 chân GPIO bất kỳ chế độ Output (chân này
ở RC522 là chân sda).
Mỗi chip Master hay Slave đều có một thanh ghi dữ liệu 8 bits.
Quá trình truyền nhận giữa Master và Slave xảy ra đồng thời sau 8 chu kỳ đồng
hồ, một byte dữ liệu được truyền theo cả 2 hướng
11
Hình 2.10 Cơ chế truyền và nhận của master slave
Quá trình trao đổi dữ liệu bắt đầu khi Master tạo 1 xung clock từ bộ tạo xung
nhịp (Clock Generator) và kéo đường SS của Slave mà nó truyền dữ liệu xuống mức
Low.
Cứ 1 xung clock, Master sẽ gửi đi 1 bit từ thanh ghi dịch (Shift Register) của
nó đến thanh ghi dịch của Slave thông qua đường MOSI. Đồng thời Slave cũng gửi lại
1 bit đến cho Master qua đường MISO.Như vậy sau 8 chu kỳ clock thì hoàn tất việc
truyền và nhận 1 byte dữ liệu.
Dữ liệu của 2 thanh ghi được trao đổi với nhau nên tốc độ trao đổi diễn ra
nhanh và hiệu quả.
Ưu điểm:
- Dữ liệu được truyền liên tục và không gián đoạn, vì không có bit Start
và bit Stop.
- Hệ thống định địa chỉ đơn giản.
- Dây MOSI và MISO riêng biệt nên có thể đồng thời nhận và truyền dữ
liệu.
- Tốc độ truyền dữ liệu nhanh và tiết kiệm năng lượng.
Nhược điểm:
- Sử dụng nhiều dây để kết nối với ngoại vi.
- Không có dấu hiệu nhận biết dữ liệu đã được truyền thành công.
- Không có hình thức kiểm tra lỗi (như bit chẵn lẻ của UART).
- Khoảng cách các thiết bị truyền nhận bằng SPI rất ngắn.
2.3 Cảm biến vân tay
2.3.1 Tổng quan về cảm biến vân tay
Tính tới thời điểm hiện nay, công nghệ sinh trắc mà được sử dụng lâu đời nhất
và phổ biến nhất đó nhận diện dấu vân tay. Mỗi cá nhân con người khi được sinh ra
thì đểu có cho mình dấu vân tay riêng biệt, không ai giống ai, hơn hết tất cả các loại
sinh trắc khác, vân tay là dấu hiệu đặc trưng nhất trên cơ thể của mỗi con người. Đặc
12
biệt là dấu vân tay không thể nào làm giả được cho nên nó được ưu tiên hàng đầu cho
việc bảo mật.
Hình 2.11 Một số mẫu vân tay
Sử dụng cảm biến vân tay để nhận biết bằng cách đối chiếu hình ảnh vân tay đã
được lưu trữ trước đó trong thư viện, so với các thiết bị nhận biết thế hệ cũ thì cảm
biến vân tay được áp dụng nhiều và phổ biến hơn, giúp ích rất nhiều như trong việc
chấm công, quản lý, kiểm soát dễ dàng, tỉ lệ sai lệch thấp.
Về nguyên lý hoạt động của một cảm biến vân tay, sử dụng ngón tay áp lên bất
kì một thiết bị nhận dạng vân tay nào đó, hình ảnh vân tay sẽ được chụp lại bằng
camera sau đó hình ảnh vân tay sẽ được đối chiếu đặc điểm với các dữ liệu được lưu
trữ từ trước trong hệ thống. Trong quá trình này, dữ liệu hình ảnh sẽ được chuyển
sang dạng dữ liệu số và kết thúc quá trình kết quả sẽ được thông báo rằng vân tay có
hợp lệ hay không để tiếp tục thực hiện các chức năng tiếp theo.
2.3.2 Cảm biến As 608
Cảm biến nhận dạng VÂN TAY AS608 Fingerprint Sensor sử dụng giao tiếp
UART TTL hoặc USB để giao tiếp với Vi điều khiển hoặc kết nối trực tiếp với máy
tính (thông qua mạch chuyển USB-UART hoặc giao tiếp USB).
Cảm biến nhận dạng VÂN TAYAS608 Fingerprint Sensor được tích hợp nhân xử
lý nhận dạng vân tay phía trong, tự động gán vân tay với 1 chuỗi data và truyền qua
giao tiếp UART ra ngoài nên hoàn toàn không cần các thao tác xử lý hình ảnh, đơn
giản chỉ là phát lệnh đọc/ghi và so sánh chuỗi UART nên rất dễ sử dụng và lập trình.
13
KHOA ĐIỆN –ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
TÊN ĐỀ TÀI : Thiết kế, chế tạo phần cứng thiết bị điểm danh lớp
thực hành bằng cảm biến vân tay
Sinh Viên Thực Hiện : Trần Đình Linh
Lớp : 112182.1
Giảng Viên Hướng Dẫn : Nguyễn Thị Thắm
Hưng Yên 2022
LỜI MỞ ĐẦU
LỜI CẢM ƠN
Chương 1 Tổng quan về đề tài ...........................................................................1
1.1 Giới thiệu về đề tài ....................................................................................1
1.2 Mục đính nghiên cứu .................................................................................1
1.3 Giới hạn đề tài ...........................................................................................2
1.4 Phương pháp và phương tiện nghiên cứu ..................................................2
1.4.1 Phương pháp nghiên cứu ....................................................................2
1.4.2 Phương tiện .........................................................................................2
Chương 2 Cơ sở lý thuyết ...................................................................................3
2.1 Giới thiệu về arduino .................................................................................3
2.1.1 Khái niệm về arduino .........................................................................3
2.1.2 Arduino uno R3 .................................................................................3
2.2.2 Năng lượng .........................................................................................6
2.2.3 Bộ nhớ ................................................................................................6
2.2.4 Công cụ lập trình ................................................................................6
2.2 Module RFID RC522 ................................................................................8
2.2.1 Tổng quan về RFID RC522 ................................................................8
2.2.2 Chi tiết cấu hình chân RC522 ............................................................9
2.2.3 Các đặc tính RC522 ............................................................................9
2.2.4 Ứng dụng module RFID RC522.......................................................10
2.2.5 Tổ chức vùng nhớ thẻ từ ..................................................................10
2.2.6 Chuẩn giao tiếp spi ...........................................................................10
2.3 Cảm biến vân tay .....................................................................................12
2.3.1 Tổng quan về cảm biến vân tay ........................................................12
2.3.2 Cảm biến As 608 ..............................................................................13
2.4 Mạch chuyển đổi I2C ..............................................................................15
2.5 Stm32f103 ............................................................................................... 16
2.5.1 Giới thiệu về họ stm .........................................................................16
2.5.2 Kit stm32f103 ...................................................................................17
2.6 ESP 8266 .................................................................................................19
2.6.1 Tổng quan về ESP 8266 ..................................................................19
2.6.2 Thông số kĩ thuật ..............................................................................21
2.7 Module ds1307 và chuẩn giao tiếp I2C ...................................................21
2.7.1 Module ds1307 .................................................................................21
2.7.2 Giao thức i2c ....................................................................................22
2.8 LCD 20x4 ............................................................................................25
2.9 Chuẩn giao tiếp UART ............................................................................26
2.10 Cấu hình CUBE MX cho mạch ............................................................28
Chương 3 Thiết kế chế tạo.................................................................................33
3.1 Sơ đồ khối hệ thống ................................................................................33
3.2 Nguyên lý mạch .......................................................................................35
3.3 Sơ đồ mạch in và bố trí linh kiện.............................................................36
3.3 Lưu đồ thuật toán .....................................................................................38
3.4 Hình ảnh hoàn thiện ................................................................................41
Chương 4 Kết luận và hướng phát triển………………………………………51
4.1 Kêt luận....................................................................................................42
4.2 Hướng phát triển đề tài ............................................................................42
Tài liệu tham khảo .............................................................................................43
Phụ lục ...............................................................................................................44
Danh mục hình ảnh
Hình 2.1 Uno r3 ..................................................................................................3
Hình 2.2 Vi điều khiển trên board uno ................................................................4
Hình 2.3 Giao diện công cụ lập trình ..................................................................7
Hình 2.4 Giao diện device manager ....................................................................7
Hình 2.5 Thiết lập board và cổng com cho uno ..................................................8
Hình 2.6 Thẻ từ RFID.........................................................................................8
Hình 2.7 Sơ đồ chân RC522 ................................................................................9
Hình 2.8 Tổ chức vùng nhớ thẻ mifare class .....................................................10
Hình 2.9 Mô hình giao tiếp spi (stm32 với RC522) ..........................................11
Hình 2.10 Cơ chế truyền và nhận của master slave...........................................12
Hình 2.11 Một số mẫu vân tay ..........................................................................13
Hình 2.12 Cảm biến vân tay ..............................................................................14
Hình 2.13 Mạch chuyển đổi i2c lcd...................................................................15
Hình 2.14 Bảng địa chỉ i2c ................................................................................16
Hình 2.15 Tổng quan về bộ kit ..........................................................................17
Hình 2.16 Sơ đồ chân ........................................................................................20
Hình 2.17 Chíp và kít esp 8266 ........................................................................21
Hình 2.18 Module DS1307 ................................................................................22
Hình 2.19 Giao tiếp i2c 1 master nhiều slave ....................................................23
Hình 2.20 Khung truyền i2c ..............................................................................23
Hình 2.21 Cách giao tiếp với giữa master với slave thông qua địa chỉ slave....24
Hình 2.22 Khởi tạo giao tiếp i2c .......................................................................25
Hình 2.23 Màn hình LCD 20x4 ........................................................................26
Hình 2.24 Kết nối UART ..................................................................................27
Hình 2.25 Khung truyền UART ........................................................................27
Hình 2.26 Cấu hình cho chip stm32 ..................................................................29
Hình 2.27 Sắp xếp thứ tự ngắt cho chip ............................................................29
Hình 2.28 Cấu hình clock cho chip ...................................................................30
Hình 2.29 Cấu hình UART1 và 2 ......................................................................30
Hình 2.30 Cấu hình spi ......................................................................................31
Hình 2.31 Cấu hình I2C.....................................................................................31
Hình 3.1 Sơ đồ khối ...........................................................................................33
Hình 3.2 Khối nguồn .........................................................................................33
Hình 3.3 Khối cảm biến.....................................................................................33
Hình 3.4 Khối hiển thị .......................................................................................34
Hình 3.5 Khối xử lý trung tâm ..........................................................................34
Hình 3.6 Sơ đồ nguyên lý ..................................................................................35
Hình 3.7 Sơ đồ mạch in .....................................................................................36
Hình 3.8 Sơ đồ bố trí linh kiện trên mặt board ..................................................37
Hình 3.9 Lưu đồ thuật toán mạch ......................................................................38
Hình 3.10 Lưu đồ thuật toán trên google scritp.................................................39
Hình 3.11 Hình ảnh hoàn thiện sản phẩm .........................................................41
LỜI MỞ ĐẦU
Ngày nay, ngành công nghệ kỹ thuật ngày càng phát triển. Các máy móc đều
được tự động hóa đáp ứng nhu cầu con người và đem lại hiểu quả cao cho các doanh
nghiệp trong nhiều lĩnh vực như công nghiệp, nông nghiệp,...Bên cạnh trang thiết bị
máy móc hiện đại, nhân lực cũng là một trong những yếu tố quan trọng quyết định
đến sự tồn tại và phát triển của các doanh nghiệp.
Chính vì nhu cầu nhân lực cao và có nhiều phức tạp nên nhu cầu quản lý đòi
hỏi cũng cần phải cải tiến để có thể đáp ứng nhu cầu người dùng một cách tốt nhất.
Hiện nay, có rất nhiều cách để quản lý học sinh sinh viên đi học khác nhau, cụ
thể như điểm danh trực tiếp (hình thức này yêu cầu giáo viên và phải có danh sách
kèm theo bên cạnh, giáo viên thường sẽ gọi tên và đối chiếu với danh sách để kiểm
tra. Hình thức này mất khá nhiều thời gian, lại không mang tính chuyên
nghiệp. Bên cạnh đó yêu cầu thầy/cô phải có phương pháp xác định người được điểm
danh là đúng.), điểm danh bằng hình thức làm bài kiểm tra giấy gây mất thời gian và
độ chính xác chưa cao. quản lý kiểm soát bằng hình thức quẹt thẻ RFID ( hình thức
này khá phổ biến, nhanh, gọn lại có tính chính xác cao, nhưng đòi hỏi người dùng
phải mang theo thẻ, nếu khống có thì không thể điểm danh được) hay bằng hình thức
quét vân tay (hình thức cũng rất phổ biến trong các doanh nghiệp, công ty hiện nay,
chuyên nghiệp, chính xác, yêu cầu người dùng phải them vân tay trước đó, hay được
áp dụng chấm công cho nhân viên). Nhận thấy nhu cầu quản lý thường hay có nhiều
hình thức xảy ra như điểm danh chấm công cho nhân viên, hay điểm danh trong
trường hợp đột xuất ( trong các cuộc họp), kiểm soát khách tham quan công ty nên
nhóm quyết định chọn đề tài :
―Thiết kế, chế tạo phần cứng thiết bị điểm danh lớp thực hành bằng cảm
biến vân tay‖ để có thể điểm danh trong nhiều trường hợp khác nhau, và được lưu và
một file excel và được đưa lên server nội bộ của công ty để dễ dàng quản lý từ xa .Tất
cả các thao tác này đều do chip STM32F103C8T6 đảm nhận và thực hiện thông qua
các chuẩn giao tiếp. Bên cạnh đó, nhóm cũng muốn thông qua đề tài để tìm hiểu thêm
về ứng dụng của công nghệ vào đời sống đồng thời vận dụng và hiểu sâu hơn về các
kiến thức đã được học.
LỜI CẢM ƠN
Nhóm sinh viên thực hiện đề tài xin chân thành cảm ơn các thầy cô giáo khoa
Điện – Điện tử trường ĐHSPKT Hưng Yên, đã tận tình chỉ bảo, truyền đạt cho chúng
em những kiến thức, những thành tựu khoa học của xã hội và của nghành điện tử để
chúng em có thể thực hiện đề tài này.
Đặc biệt chúng em xin bày tỏ lòng biết ơn sâu sắc đến cô Nguyễn Thị Thắm là
người đã hướng dẫn và tận tình giúp đỡ, chỉ dạy chúng em để chúng em thực hiện đề
tài này.
Nhóm sinh viên xin chân thành cám ơn những ý kiến đóng góp của quý thầy, cô
giáo và các bạn cho việc thực hiện đề tài này.
Chúng em xin chân thành cảm ơn!
Chƣơng I
Tổng quan về đề tài
1.1 Giới thiệu về đề tài
Ngày nay cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật,
công nghệ kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò
quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp, cung cấp thông
tin... Do đó là một sinh viên chuyên ngành Điện tử, chúng ta phải biết nắm bắt và vận
dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật
thế giới nói chung và trong sự phát triển kỹ thuật điện tử nói riêng. Bên cạnh đó còn là
sự thúc đẩy sự phát triển của nền kinh tế nước nhà.
Như chúng ta cũng đã biết, Trường học là nơi cần được rèn luyện tính kỷ luật
cao bởi sẽ tạo ra những nhân tài của đất nước. Ý thức sinh viên trong môi trường học
tập cần phải nâng cao. Tuy nhiên không tránh khỏi tình trạng gian lận trong học
đường như: Nhờ học hộ, điểm danh hộ, thi hộ… làm ảnh hưởng tới chất lượng dạy và
học của ngôi trường.
Một trong những giải pháp được nhiều trường học áp dụng để loại bỏ tình trạng
tiêu cực như trên đó là sử dụng máy điểm danh bằng quẹt thẻ RFID và quét vân tay.
Điều đó sẽ giúp hỗ trợ điểm danh trong mỗi tiết học nhằm giúp giáo viên quản lý và
nắm bắt tình trạng học sinh một cách chính xác nhất. Đặc biệt sử dụng máy điểm
danh vào việc điểm danh cho sinh viên sẽ giúp cho sinh viên có thể chủ động thời
gian học tập và tới lớp của mình theo đúng quy định của nhà trường. Việc điểm danh
tự động nhanh chóng chỉ cần một lần xác nhận vân tay là sinh viên đã điểm danh xong
giúp tiện kiệm thời gian và chính xác nhằm nâng cao tính chuyên nghiệp trong nhà
trường. Từ những yêu cầu thực tế, chúng em đã chọn đề tài: ―Thiết kế và thi công hệ
thống điểm danh sinh viên sử dụng hai phương pháp quẹt thẻ RFID và quét vân tay‖
1.2 Mục đính nghiên cứu
Đồ án được nghiên cứu, khảo sát và thực hiện với mục đích áp dụng những
kiến thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống điểm danh
sinh viên bằng hai phương pháp quẹt thẻ RFID và quét vân tay.
Hệ thống gồm có:
Module RFID RC522
Module AS 608
Module ESP8266
Module DS1307
1
Mạch điều khiển dùng chip Stm32 và chip Arduino để xử lý
Màn hình LCD 20x4
1.3 Giới hạn đề tài
Trong giới hạn thời gian cho phép của đề tài này kết hợp với những kiến thức
có đươc trong suốt quá trình học không cho phép thực hiện được một sản phẩm hoàn
thiện nhất. Cho nên nhóm chúng em chỉ tập trung vào những vấn đề sau:
Dùng Board Arduino và Stm32 để làm trung tâm điều khiển toàn bộ hệ thống.
Module RFID RC522 để quẹt thẻ từ
Module AS 608 dùng đề quét vân tay
Module ESP8266 để kết nối mạng để gửi danh sách điểm danh lên gg sheet
Module DS1307 dùng để gửi danh sách điểm danh theo ca
Mạch điều khiển dùng chip Stm32 và chip Arduino để xử lý
Màn hình LCD 20x4 để hiện thị
Mạch chạy ổn định trong toàn bộ quá trình.
1.4 Phƣơng pháp và phƣơng tiện nghiên cứu
1.4.1 Phƣơng pháp nghiên cứu
Kết hợp giữa lý thuyết và thực nghiệm:
Sau khi nhận đề tài, nhóm đã tập trung tìm hiểu các vấn đề liên quan đến đề tài.
Sau đó lập trình mô phỏng, chế tạo mạch để kiểm tra thực tế. Trong quá trình chạy
thực tế kiểm tra lỗi, những hạn chế mắc phải để chỉnh sửa và phát triển thêm các ý
tưởng.
Phương pháp quan sát: khảo sát một số mạch điện thực tế đang có trên thị
trường và tham khảo thêm một số dạng mạch từ mạng Internet.
Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí
về điện tử và truy cập từ mạng Internet.
1.4.2 Phƣơng tiện
Phần mềm biên dịch chương trình Keilc, IDE arduino, phần mềm thiết lập cơ
bản CUBE MX, phần mềm thiết kế mạch Altium, phần mềm mô phỏng Proteus.
Các giáo trình điện tử đã được học, tài liệu và các thảo luận trên Internet.
1.5 Ý nghĩa thực tiễn
Ý nghĩa thực tiễn của đề tài giúp giáo viên quản lý và nắm bắt tình trạng học
sinh một cách chính xác nhất và sẽ giúp cho sinh viên có thể chủ động thời gian học
tập và tới lớp của mình theo đúng quy định của nhà trường.
2
Chƣơng II
Cơ sở lý thuyết
2.1 Giới thiệu về Arduino
2.1.1 Khái niệm về arduino
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các dự án
điện tử. Arduino bao gồm cả bảng mạch lập trình (thường được gọi là vi điều khiển)
và một phần mềm hoặc IDE (Môi trường phát triển tích hợp) chạy trên máy tính, được
sử dụng để viết và tải mã máy tính lên bo mạch.
Nền tảng Arduino giờ đã khá phổ biến với những người mới bắt đầu với thiết
bị điện tử. Không giống như hầu hết các bo mạch lập trình trước đây, Arduino không
cần phần cứng riêng để tải mã mới lên bo mạch - bạn có thể chỉ cần sử dụng cáp USB.
Ngoài ra, Arduino IDE sử dụng phiên bản đơn giản của C++, giúp việc học lập trình
dễ dàng hơn. Arduino cung cấp một mẫu chuẩn giúp dễ tiếp cận các chức năng của bộ
vi điều khiển hơn.
2.1.2 Arduino uno R3
Hình 2.1 Uno r3
3
Thông số cơ bản:
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân
30 mA
I/O
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Hình 2.2 Vi điều khiển trên board uno
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ỗi chân
đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (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:
4
- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive
– RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thông
qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là kết nối
Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2
chân nà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àm
analogWrite(). 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ác
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao
thức SPI với các thiết bị khác.
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm
nút Reset, 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.
- 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ân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng
các châ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ân
giả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.
Ứng dụng của Arduino Uno R3
Aruino Uno R3 được sử dụng phổ biến trong việc tự thiết kế ra các mạch
điện tử như điều khiển led, gửi dữ liệu lên lcd, điều khiển motor,... hay được gắn
thêm các Shield để kết nối nhiều module cảm biến khác để thực hiện thêm nhiều
chức năng mở rộng như gửi dữ liệu qua wifi.
Ngoài ra, trên thị trường còn có nhiều biến thể của Arduino Uno để thực
hiện thêm các tính năng chuyên dụng, ví dụ như mCore, Orion trên mBot được
chuyên dụng với việc dễ dàng phân biệt các loại module nào có thể sử dụng cắm
vào trên các cổng để trẻ dễ dàng sử dụng cho nhưng ai không quá mạnh về thiết kế
mạch điện tử.
5
2.2.2 Năng lƣợng
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng
USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dù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ối vớ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.2.3 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ùng cho bootloader nhưng đừng lo, 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áo khi 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 EPROM (Electrically Eraseble Programmable Read Only Memory):
đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của
mì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.
2.2.4 Công cụ lập trình
Ở đây chúng ta sử dụng công cụ lập trình IDE Arduino
6
Về giao diện:
Hình 2.3 Giao diện công cụ lập trình
Bước 1: Chúng ta cắm kit Uno r3 vào máy tính để máy tính có thể nhận cổng
com trên máy tính. Chúng ta mở cửa số window tìm kiếm Device manager để kiểm
tra máy có nhận cổng com hay không Trường hợp máy tính chưa nhận driver chúng ta
phải tải driver về máy (thường là ch340 là chủ yếu, có một số khác do người dùng tự
thiết kế lại có thể khác về driver). Và kiểm tra ở mục com&port xem máy đã nhận
cổng hay chưa.
Hình 2.4 Giao diện device manager
Bước 2: Chúng ta vào giao diện của trình biên dịch arduino tại đây chúng ta
thiết lập cổng cho uno r3 bằng cách chúng ta vào tool /port( cổng của arduino uno
r3).Sau đó chúng ta thiết lập boar cho mạch bằng cách vào tool/board/arduino avr
board/ arduino uno.
7
Hình 2.5 Thiết lập board và cổng com cho uno
Bước 3: Tại đây bạn có thể lấy các ví dụ mà IDE có sẵn để làm quen với board
hoặc bạn có thể lập trình ngay lập tức. Tiếp theo là đến compiler chương trình, nếu
chương trình compiler không xảy ra lỗi thì chúng ta sẽ nạp code vào trong board
thông qua cáp bằng cách ấn upload và đợi done uploading
2.2 Module RFID RC522
2.2.1 Tổng quan về RFID RC522
RC522 là Module RFID đa giao tiếp với Arduino và vi điều khiển RC522 còn
gọi là MFRC-522 sản xuất bởi hãng vi điều khiển bán dẫn NFX. Module cho phép các
nhà phát triển giao tiếp với các vi điều khiển dựa trên giao thức SPI, I2C và UART
Module RC522 hoạt động ở tần số 13.56 MHz và đọc và ghi thẻ UID /
RFID. Các thẻ RFID giao tiếp được với module ở khoảng cách ngắn với tần số vô
tuyến nhờ cảm ứng điện từ lẫn nhau.
Trong các thiết bị bảo mật và thương mại, module rất phù hợp vì có thể phát
hiện được các trạng thái và thông tin của thẻ RFID.
Có thẻ giao tiếp bằng uart, i2c hoặc spi tuỳ theo mục đích sử dụng
Hình 2.6 Thẻ từ RFID
8
2.2.2 Chi tiết cấu hình chân RC522
Hình 2.7 Sơ đồ chân RC522
- Chân reset có chức năng reset khi về mức 0
- Chân 3.3v chân nguồn của module
- Chân sda, sck, mosi, miso là các chân giao tiếp với module
- GND chân âm nguồn module
2.2.3 Các đặc tính RC522
- RFID RC522 sử dụng cảm ứng điện từ để kích hoạt thẻ và có tần số 13,56MHz
để truyền dữ liệu.
- Thẻ RFID có thể sử dụng được với cả hai mặt của module khoảng cách tối đa
5cm.
- Điện áp 3.3V được yêu cầu để hoạt động.
- Chế độ ngủ tự động giúp module tiêu thụ ít điện năng hơn.
- Module có ba loại giao tiếp (UART, SPI, I2C). Do đó, có thể sử dụng được với
hầu hết mọi vi điều khiển.
- Có thể truyền dữ liệu lên đến 10Mb/s.
Các lựa chọn khác để thay thế:
- PN532
- SM130
- Module RFID RDM630
9
2.2.4 Ứng dụng module RFID RC522
- RFID sử dụng như một thiết bị bảo mật.
- Ở một số công ty, các thiết bị được sử dụng trong các mặt hàng mua sắm.
- Một số sân bay cũng bắt đầu sử dụng RFID để xác định và kiểm tra túi xách và
các vật dụng khác.
- Hệ thống chấm công hoặc bãi đậu xe cũng sử dụng RFID.
2.2.5 Tổ chức vùng nhớ thẻ từ
Thẻ MIFARE Classic là một thiết bị lưu trữ bộ nhớ. Bộ nhớ được chia thành
các cung, cũng được chia thành các khối 16 byte.
Thẻ MIFARE Classic 1K có 16 sector, mỗi sector được chia thành bốn
khối. Nếu chúng ta làm phép toán, chúng ta có thể tìm ra cấu trúc bộ nhớ sẽ như thế
nào: 16 byte (1 khối) * 4 khối * 16 sector = 1024 byte.
Hình 2.8 Tổ chức vùng nhớ thẻ mifare class
Trong đó CSN ở đây là nơi lưu địa chỉ UID ở đây còn tuỳ thuộc vào 1 số loại
thẻ có thể chỉnh sửa UID và có 1 số loại không thể thay dổi. Ở đây chúng ta sử dụng
thẻ có thể thay dổi UID , block số 3 là tổng của các block 0, 1, 2, 3 trên ở đây chúng
ta lưu site key là 0xff, thẻ được chia làm 2 vùng nhớ là vùng a va b. Vùng a từ đầu đến
hết sector số 9, vùng b là vùng còn lại
Dựa vào đây chúng ta có thể lưu data tại các ô nhớ cho phép lưu data và key
của thẻ nhằm tăng tính bảo mật của thẻ
Tại đây chúng ta cũng có thể đọc/ghi thẻ thông qua điên thoại có hỗ trợ nfc và
máy tính thông qua các phần mềm của hãng mifcare class tool
2.2.6 Chuẩn giao tiếp spi
SPI – Serial Peripheral Interface – hay còn gọi là giao diện ngoại vi nối tiếp,
được phát triển bởi hãng Motorola.
Chuẩn đồng bộ nối truyền dữ liệu ở chế độ full - duplex (hay gọi là "song công
toàn phần". Nghĩa là tại 1 thời điểm có thể xảy ra đồng thời quá trình truyền và nhận.
Là giao tiếp đồng bộ, bất cứ quá trình nào cũng đều được đồng bộ với xung
clock sinh ra bởi thiết bị Master không cần phải lo lắng về tốc độ truyền dữ liệu.
10
SPI thường được sử dụng giao tiếp với bộ nhớ EEPROM, RTC (Đồng hồ thời
gian thực), IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ nhớ như MMC
hoặc thẻ SD hoặc thậm chí các bộ vi điều khiển khác.
Hình 2.9 Mô hình giao tiếp spi (stm32 với RC522)
Sử dụng 4 đường giao tiếp nên đôi khi được gọi là chuẩn truyền thông ― 4
dây‖. 4 đường đó là :
SCK (Serial Clock): Thiết bị Master tạo xung tín hiệu SCK và cung cấp cho
Slave. Xung này có chức năng giữ nhịp cho giao tiếp SPI. Mỗi nhịp trên chân SCK
báo 1 bit dữ liệu đến hoặc đi → Quá trình ít bị lỗi và tốc độ truyền cao.
MISO (Master Input Slave Output): Tín hiệu tạo bởi thiết bị Slave và nhận bởi
thiết bị Master. Đường MISO phải được kết nối giữa thiết bị Master và Slave.
MOSI (Master Output Slave Input): Tín hiệu tạo bởi thiết bị Master và nhận
bởi thiết bị Slave. Đường MOSI phải được kết nối giữa thiết bị Master và Slave.
SS (Slave Select): Chọn thiết bị Slave cụ thể để giao tiếp. Để chọn Slave giao
tiếp thiết bị Master chủ động kéo đường SS tương ứng xuống mức 0 (Low). Chân này
đôi khi còn được gọi là CS (Chip Select). Chân SS của vi điều khiển (Master) có thể
được người dùng tạo bằng cách cấu hình 1 chân GPIO bất kỳ chế độ Output (chân này
ở RC522 là chân sda).
Mỗi chip Master hay Slave đều có một thanh ghi dữ liệu 8 bits.
Quá trình truyền nhận giữa Master và Slave xảy ra đồng thời sau 8 chu kỳ đồng
hồ, một byte dữ liệu được truyền theo cả 2 hướng
11
Hình 2.10 Cơ chế truyền và nhận của master slave
Quá trình trao đổi dữ liệu bắt đầu khi Master tạo 1 xung clock từ bộ tạo xung
nhịp (Clock Generator) và kéo đường SS của Slave mà nó truyền dữ liệu xuống mức
Low.
Cứ 1 xung clock, Master sẽ gửi đi 1 bit từ thanh ghi dịch (Shift Register) của
nó đến thanh ghi dịch của Slave thông qua đường MOSI. Đồng thời Slave cũng gửi lại
1 bit đến cho Master qua đường MISO.Như vậy sau 8 chu kỳ clock thì hoàn tất việc
truyền và nhận 1 byte dữ liệu.
Dữ liệu của 2 thanh ghi được trao đổi với nhau nên tốc độ trao đổi diễn ra
nhanh và hiệu quả.
Ưu điểm:
- Dữ liệu được truyền liên tục và không gián đoạn, vì không có bit Start
và bit Stop.
- Hệ thống định địa chỉ đơn giản.
- Dây MOSI và MISO riêng biệt nên có thể đồng thời nhận và truyền dữ
liệu.
- Tốc độ truyền dữ liệu nhanh và tiết kiệm năng lượng.
Nhược điểm:
- Sử dụng nhiều dây để kết nối với ngoại vi.
- Không có dấu hiệu nhận biết dữ liệu đã được truyền thành công.
- Không có hình thức kiểm tra lỗi (như bit chẵn lẻ của UART).
- Khoảng cách các thiết bị truyền nhận bằng SPI rất ngắn.
2.3 Cảm biến vân tay
2.3.1 Tổng quan về cảm biến vân tay
Tính tới thời điểm hiện nay, công nghệ sinh trắc mà được sử dụng lâu đời nhất
và phổ biến nhất đó nhận diện dấu vân tay. Mỗi cá nhân con người khi được sinh ra
thì đểu có cho mình dấu vân tay riêng biệt, không ai giống ai, hơn hết tất cả các loại
sinh trắc khác, vân tay là dấu hiệu đặc trưng nhất trên cơ thể của mỗi con người. Đặc
12
biệt là dấu vân tay không thể nào làm giả được cho nên nó được ưu tiên hàng đầu cho
việc bảo mật.
Hình 2.11 Một số mẫu vân tay
Sử dụng cảm biến vân tay để nhận biết bằng cách đối chiếu hình ảnh vân tay đã
được lưu trữ trước đó trong thư viện, so với các thiết bị nhận biết thế hệ cũ thì cảm
biến vân tay được áp dụng nhiều và phổ biến hơn, giúp ích rất nhiều như trong việc
chấm công, quản lý, kiểm soát dễ dàng, tỉ lệ sai lệch thấp.
Về nguyên lý hoạt động của một cảm biến vân tay, sử dụng ngón tay áp lên bất
kì một thiết bị nhận dạng vân tay nào đó, hình ảnh vân tay sẽ được chụp lại bằng
camera sau đó hình ảnh vân tay sẽ được đối chiếu đặc điểm với các dữ liệu được lưu
trữ từ trước trong hệ thống. Trong quá trình này, dữ liệu hình ảnh sẽ được chuyển
sang dạng dữ liệu số và kết thúc quá trình kết quả sẽ được thông báo rằng vân tay có
hợp lệ hay không để tiếp tục thực hiện các chức năng tiếp theo.
2.3.2 Cảm biến As 608
Cảm biến nhận dạng VÂN TAY AS608 Fingerprint Sensor sử dụng giao tiếp
UART TTL hoặc USB để giao tiếp với Vi điều khiển hoặc kết nối trực tiếp với máy
tính (thông qua mạch chuyển USB-UART hoặc giao tiếp USB).
Cảm biến nhận dạng VÂN TAYAS608 Fingerprint Sensor được tích hợp nhân xử
lý nhận dạng vân tay phía trong, tự động gán vân tay với 1 chuỗi data và truyền qua
giao tiếp UART ra ngoài nên hoàn toàn không cần các thao tác xử lý hình ảnh, đơn
giản chỉ là phát lệnh đọc/ghi và so sánh chuỗi UART nên rất dễ sử dụng và lập trình.
13