TỔNG QU N
Giới thiệu tình hình nghiên cứu hiện nay
Cảm biến vân tay ngày nay đã trở nên quen thuộc và được lắp đặt tại nhiều địa điểm như công ty, trường học, văn phòng, siêu thị và ngân hàng Việc điểm danh bằng cảm biến vân tay không chỉ giúp đảm bảo tính chính xác trong giờ giấc làm việc mà còn hỗ trợ con người trong công tác giám sát một cách nhanh chóng và tiện lợi.
Hiện nay, công nghệ nhận dạng vân tay đang được ứng dụng rộng rãi tại các trường học và doanh nghiệp, với nhiều công cụ có giá thành hợp lý và hiệu quả cao Đề tài này nhấn mạnh sự tiện lợi trong việc triển khai dự án điểm danh tự động thông qua cảm biến vân tay, cho phép truyền dữ liệu trực tiếp lên máy tính So với các phương pháp điểm danh truyền thống, giải pháp này không chỉ tiết kiệm chi phí mà còn mang lại kết quả đáng chú ý.
Tính cấp thiết của đề tài
Mục đích nghiên cứu của đề tài là phát triển hệ thống cảm biến vân tay nhằm kiểm tra và đánh giá sinh viên, tạo điều kiện cho việc giám sát trở nên dễ dàng, nhanh chóng và hiệu quả Bên cạnh đó, nghiên cứu còn nhằm tìm hiểu hoạt động và ứng dụng của cảm biến vân tay, cũng như nâng cao kiến thức về phương thức truyền thông và lập trình giao diện trên máy tính.
Mục tiêu nghiên cứu
- Tìm hiểu căn bản về cách thức hoạt động điểm danh sinh viên
Tìm hiểu về cách hoạt động và sơ đồ kết nối của cảm biến vân tay, cũng như phương thức giao tiếp giữa mô-đun Arduino và cảm biến, là điều cần thiết để nắm rõ các lý thuyết liên quan.
- Thiết kế hệ thống điều khiển
- Thiết kế giao diện, tạo cơ sở dữ liệu cho sinh viên từ thời khóa biểu học tập
- Đánh giá kết quả thực hiện.
Nhiệm vụ nghiên cứu
- Xây dựng mô hình điểm danh sinh trong trường học
- Hệ thống hoạt động trong nhà
- Quản lý thông tin điểm danh trên máy chủ
- Số vân tay lưu được tối đa trong cảm biến vân tay R305 là 162
- Tìm hiểu về cơ sở dữ liệu SQL server
1.5 Đối tƣợng và phạm vi nghiên cứu Đối tượng nghiên cứu:
Mô đun cảm biến vân tay R305: lấy mã vân tay và gửi lên Board Arduino mega 2560
Board Arduino: đọc được mã vân tay từ thiết bị ngoại và gửi lên máy tính
Phần mềm Visual Studio 2012: tạo giao diện bằng ngôn ngữ C#, tạo cầu nối, so sánh dữ liệu nhận từ Board Arduino và cơ sở dữ liệu
Cơ sở dữ liệu SQL server: để lưu trữ dữ liệu sinh viên
Giới hạn mẫu vân tay lưu trong hệ thống điểm danh sinh viên
Trong khuôn khổ tìm hiểu và kế thừa từ các tài liệu có sẵn, do phần cơ sở dữ liệu có sự hạn về kiến thức
1.6 Phương pháp nghiên cứu Để thực hiện đề tài, sinh viên thực hiện đề tài đã sử dụng một số phương pháp nghiên cứu như sau:
Phương pháp nghiên cứu lý thuyết bao gồm việc tham khảo tài liệu từ sách và Internet, tìm hiểu các ví dụ kèm theo bộ phần mềm ứng dụng, cũng như tham khảo thêm các ví dụ hướng dẫn trên mạng.
Phương pháp nghiên cứu thực nghiệm bao gồm việc sinh viên thiết kế phần cứng và phát triển phần mềm trên máy tính Sau đó, họ tiến hành khảo sát và điều chỉnh cả thiết bị lẫn phần mềm để đảm bảo tính chính xác và hiệu quả của nghiên cứu.
Chương này giới thiệu lý do lựa chọn đề tài, mục tiêu nghiên cứu, nội dung chính, các giới hạn về thông số và cấu trúc của đồ án.
Chương 2: Cơ Sở Lý Thuyết
Giới thiệu cảm biến vân tay R305, mô đun Arduino mega 2560 và một số thiết bị liên quan sử dụng trong việc thiết kế, thi công cho đề tài
Chương 3: Thiết Kế và Xây Dựng Hệ Thống
Chương này giới thiệu tổng quan về các yêu cầu của đề tài mà nhóm thiết kế và các tính toán, thiết kế
Chương 4: Kết Quả Thực Hiện
Phần này gồm có 2 phần là kết quả thi công phần cứng và những kết quả hình ảnh trên màn hình
Chương 5: Kết Luận và Hướng Phát Triển
Chương này sẽ phân tích các ưu điểm và nhược điểm của hệ thống, nêu rõ những thành công và hạn chế hiện tại, đồng thời đề xuất hướng phát triển và mở rộng cho đề tài trong tương lai.
Phương pháp nghiên cứu
Để thực hiện đề tài, sinh viên thực hiện đề tài đã sử dụng một số phương pháp nghiên cứu như sau:
Phương pháp nghiên cứu lý thuyết bao gồm việc tham khảo tài liệu từ sách và Internet, tìm hiểu các ví dụ đi kèm với bộ phần mềm ứng dụng, cũng như tham khảo thêm các ví dụ hướng dẫn có sẵn trên mạng.
Phương pháp nghiên cứu thực nghiệm bao gồm việc sinh viên thiết kế phần cứng và phát triển phần mềm trên máy tính Quá trình này cũng bao gồm khảo sát và điều chỉnh thiết bị cũng như phần mềm để đảm bảo hiệu quả hoạt động.
Bố cục đề tài
Chương này giới thiệu lý do chọn đề tài, mục tiêu nghiên cứu, nội dung chính, các giới hạn về thông số và cấu trúc của đồ án.
Chương 2: Cơ Sở Lý Thuyết
Giới thiệu cảm biến vân tay R305, mô đun Arduino mega 2560 và một số thiết bị liên quan sử dụng trong việc thiết kế, thi công cho đề tài
Chương 3: Thiết Kế và Xây Dựng Hệ Thống
Chương này giới thiệu tổng quan về các yêu cầu của đề tài mà nhóm thiết kế và các tính toán, thiết kế
Chương 4: Kết Quả Thực Hiện
Phần này gồm có 2 phần là kết quả thi công phần cứng và những kết quả hình ảnh trên màn hình
Chương 5: Kết Luận và Hướng Phát Triển
Chương này sẽ phân tích các ưu điểm và nhược điểm của hệ thống, nêu rõ những khả năng đã đạt được và những hạn chế còn tồn tại, đồng thời đề xuất hướng phát triển và mở rộng cho đề tài.
CƠ SỞ Ý THUYẾT
Cảm biến vân tay
Trên thị trường hiện nay, có nhiều loại cảm biến để nhận dạng và phát hiện người dùng như cảm biến khuôn mặt, hồng ngoại, giọng nói và RFID Tuy nhiên, cảm biến vân tay nổi bật với tính thực dụng và tiện lợi, rất phù hợp cho việc quản lý sinh viên Do đó, nhóm đã quyết định lựa chọn cảm biến vân tay để nhận dạng sinh viên.
2.1.1 Giới thiệu Đây là mô đun nhận dạng vân tay giao tiếp trực tiếp qua giao thức UART có thể kết nối trực tiếp đến vi điều khiển hoặc qua PC adapter Max232/USB-Serial Người sử dụng có thể lưu trữ dữ liệu vân tay trực tiếp vào mô đun Mô đun có thể dễ dàng giao tiếp với các loại vi điều khiển chuẩn 3.3V hoặc 5V Có một con Led đỏ được bật sáng nằm sẵn trong ống kính trong suốt quá trình chụp vân tay Cảm biến với độ chính xác cao và có thể được nhúng vào các thiết bị như: điều khiển truy cập, két sắt, khóa cửa nhà, khóa cửa xe,… Có thể chứa lên đến 162 dạng vân tay khác nhau trong bộ nhớ flash của board
Hình 2 1: Mô đun nhận dạng vân tay
2.1.2 Các đặc trƣng của cảm biến vân tay
- Tích hợp xử lý hình ảnh và thuật toán xử lý trên cùng một chip
- Khả năng xử lý ảnh chụp tốt với độ phân giải lên đến 500dpi
- Cửa sổ nhận dạng vân tay: 14 x 18mm
- Chuẩn giao tiếp: USB - UART (TTL logical logic)
- Tốc độ Baud rate: 4800 ~ 115200bps
- Tốc độ quét: 0.5s Tốc độ xác nhận: 0.3s
- Bề mặt nhận dạng: 15 ~ 18mm
- Tỷ lệ lỗi chấp nhận được: 0.0001% Tỷ lệ lỗi không chấp nhận: 0.1%
- Tiêu thụ công suất thấp và hiệu suất tuyệt vời:
Điện áp cung cấp: 3.6V ~ 6V DC
Dòng điện tiêu thụ: 100mA, đỉnh 150mA
Nhiệt độ hoạt động được: -20 ~ 45 o C
- Có 2 chân truyền nhận dữ liệu:
Chân số 3 Rx dùng để nhận dữ liệu
Chân số 4 Tx dùng để truyền dữ liệu
2.1.3 Giao tiếp a Sơ đồ định thời đơn byte
- Tốc độ cảm biến lựa chọn từ: 9600~115200 bps Tốc độ mặc định 57600 bps
Chế độ truyền đơn byte bao gồm 1 bit bắt đầu, 8 bit nội dung và 1 bit kết thúc Bit bắt đầu luôn là 0, trong khi bit kết thúc luôn là 1, với LSB được gửi đầu tiên bên phải bit bắt đầu.
Hình 2 2: Sơ đồ định thời đơn byte b Sơ đồ định thời lệnh
- Một lệnh đơn bao gồm 6 byte đơn liên tục được truyền đi
- Sau đây là ví dụ về lệnh SYNC (AA0D00000000h)
Hình 2 3: Sơ đồ định thời lệnh SYNC
2.1.4 Phương thức giao tiếp a Định dạng gói dữ liệu
- Dữ liệu thu và nhận được định dạng theo các gói khi giao tiếp
Định dạng gói dữ liệu:
Bắt đầu Địa chỉ Nhận dạng Độ dài Nội dung(lệnh/dữ liệu) Kiểm tra tổng
Định nghĩa gói dữ liệu:
Tên Độ dài Mô tả
Bắt đầu 2 bytes Giá trị 0xEF01H Địa chỉ 4 bytes Địa chỉ cảm biến mặc định 0xFFFFFFFF
0x08H Kết thúc Độ dài 2 bytes Độ dài gói tính từ byte nhận dạng đến kiểm tra
Nội dung - Có thể là lện, dữ liệu hoặc báo nhận
Kiểm tra tổng 2 bytes Tổng byte tính từ byte nhận dạng đến hết nội dung
Bảng 2 1: Định nghĩa gói dữ liệu
*Các byte cao được gởi trước b iểm tra gói ACK
- ƣu ý: lệnh chỉ được gởi từ VXL đến cảm biến, cảm biến chỉ trả về các gói xác nhận
- Định nghĩa bytes xác nhận:
4 0x03h: thất bại đăng ký vân tay
5 0x06h: không tạo được đặc điểm nhận dạng
6 0x07h: dấu vân quá nhỏ để lấy mẫu
8 0x09h: thất bạ tìm kiếm dấu vân
9 0x0Ah: lỗi kết hợp đặc điểm dấu vân
10 0x0Bh: địa chỉ ID vượt khung
11 0xCh: lỗi đọc từ dữ liệu vân tay Dữ liệu xấu
12 0xDh: lỗi nạp dữ liệu
13 0xEh: không thể nhận dữ liệu
14 0xFh: lỗi gửi hình ảnh
19 0x19h: không xác định được lỗi
20 0x1Ah: số đăng ký không hợp lệ
21 0x1Bh: gói dữ liệu sai
23 0x1Dh: lỗi cổng giao tiếp
2.1.5 Các lệnh điều hiển cảm biến vân tay
Mô đun cảm biến vân tay được điều khiển với lệnh như sau: a ệnh ết nối (bắt tay)
- Mô tả: xác nhận giao tiếp giữa cảm biến và PC hoặc VXL
- Ack hồi đáp = 0x00h: cổng mở
= 0x1Dh: lỗi giao tiếp cổng
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 1 bytes 2 bytes Bắt đầu Địa chỉ Nhận dạng Độ dài Chỉ thị Lệnh Kiểm tra 0xEF01h 0xXXXXh 0x01h 0x0004h 0x17h 0x00h 0x001Ch
Bảng 2 2: Gói lệnh kết nối
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 3: Gói Ack kết nối b ệnh đặt địa chỉ
- Mô tả: đặt lại địa chỉ cho cảm biến
- Ack hồi đáp = 0x00h: đặt địa chỉ hoàn thành
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 4 bytes 2 bytes Bắt đầu Địa chỉ cũ Nhận dạng Độ dài Chỉ thị Đ/c mới Kiểm tra 0xEF01h 0xXXXXh 0x01h 0x0004h 0x15h 0xYYYYh sum
Bảng 2 4: Gói lệnh địa chỉ
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 5: Gói Ack địa chỉ c ệnh lấy ảnh
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes Bắt đầu Địa chỉ Nhận dạng Độ dài Chỉ thị Kiểm tra
Bảng 2 6: Gói lệnh lấy ảnh
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 7: Gói ACK lấy ảnh d Tạo điểm đặc biệt cho ảnh
- Mô tả: tạo đặc điểm nhận dạng cho vân tay lưu vào buffer1 hay buffer 2
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 1 bytes 2 bytes Bắt đầu Địa chỉ Nhận dạng Độ dài Chỉ thị buffer Kiểm tra
Bảng 2 8: Gói lệnh đặc biệt cho ảnh
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 9: Gói Ack đặc biệt cho ảnh e Tạo mẫu
- Mô tả: tạo thông tin từ dữ liệu buffer1 và buffer2
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes Bắt đầu Địa chỉ Nhận dạng Độ dài Chỉ thị Kiểm tra
Bảng 2 10: Gói lệnh tạo mẫu
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 11: Gói ACK tạo mẫu f ƣu mẫu
- Mô tả: lưu mẫu đã tạo vào bộ nhớ flash
Bắt đầu Địa chỉ dạng Độ dài Chỉ thị buffe r
ID Kiểm tra 0xEF01h 0xXXXXh 0x01h 0x0006h 0x06h 1/2 ID sum
Bảng 2 12: Gói lệnh lưa mẫu
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận Kiểm tra
Bảng 2 13: Gói ACK lưu mẫu g Xoá mẫu
- Mô tả: xoá mẫu số lượng mẫu (N) đã lưu trong bộ nhớ flash từ vị trí ID
Bắt đầu Địa chỉ dạng Độ dài Chỉ thị ID Số lượng
Bảng 2 14: Gói lệnh xóa mẫu
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận
Bảng 2 15: Gói Ack xóa mẫu h Xoá toàn bộ mẫu
- Mô tả: xoá toàn bộ bộ nhớ flash
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ dạng Độ dài Chỉ thị Kiểm tra
Bảng 2 16: Gói lệnh xóa toàn bộ mẫu
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes
Bắt đầu Địa chỉ Nhận dạng Độ dài Code xác nhận
Bảng 2 17: Gói ACK xóa toàn bộ mẫu i Tìm iếm
- Mô tả: tìm kiếm mẫu phù hợp với vân tay cần tìm
- ACK hồi đáp = 0x00h, 0x01h, 0x09h.(nếu tiềm kiếm không thành công
ID và độ chính xác( ĐCX) được gán bằng không)
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes 2 bytes 2 bytes 2 bytes Bắt đầu Địa chỉ Dạng Độ dài Chỉ thị Buffer Đầu Cuối Kiểm tra 0xEF01h 0xXXh 0x01h 0x0008h 0x04h 1/2 NumA numB sum
Bảng 2 18: Gói lệnh tìm kiếm
2 bytes 4 bytes 1 bytes 2 bytes 1 bytes 2 bytes 1 bytes 2 bytes Bắt đầu Địa chỉ Nhận dạng Độ dài xác nhận ID ĐCX Kiểm tra 0xEF01h 0xXXXX h
Bảng 2 19: Gói ACK tìm kiếm
Bài viết này chỉ đề cập đến một số lệnh điều khiển cơ bản dùng để cấu hình và lập trình cho thiết bị Để biết thêm chi tiết về các lệnh đầy đủ điều khiển cảm biến vân tay, vui lòng tham khảo phần phụ lục.
Tổng quan về Board Arduino Mega 2560
Arduino Mega 2560 là một board mạch mạnh mẽ với vi điều khiển AVR ATmega 2560, cung cấp 54 chân ngõ vào/ra số, trong đó 15 chân hỗ trợ ngõ ra PWM Board này còn có 16 ngõ vào analog, 4 chân UART, bộ dao động thạch anh 16MHz, cổng kết nối USB, jack nguồn và nút nhấn reset, tạo nên một nền tảng lý tưởng cho các dự án điện tử phức tạp.
Cổng USB là giao tiếp quan trọng dùng để tải mã từ máy tính lên vi điều khiển, đồng thời cũng hỗ trợ truyền dữ liệu giữa vi điều khiển và máy tính qua kết nối serial.
Để cung cấp nguồn cho Arduino, bạn có thể sử dụng cổng USB, nhưng không phải lúc nào cũng có sẵn kết nối với máy tính Trong trường hợp này, bạn cần một nguồn điện từ 9V đến 12V.
Có 54 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF)
Vi điều khiển AVR là bộ xử lý trung tâm của bo mạch Arduino, với mỗi mẫu Arduino sử dụng một loại chip khác nhau Cụ thể, Arduino Mega2560 sử dụng chip ATMega2560.
2.2.1 Sơ đồ khối, sơ đồ chân
Hình 2 5: Sơ đồ khối Arduino Mega 2560
Hình 2 6: Sơ đồ chân Mega 2560
2.2.2 Các thông số chi tiết
- Điện áp ngõ vào (đề nghị): 7-12V
- Điện áp ngõ vào (giới hạn): 6-20V
- Chân ngõ vào/ra số: 54 chân (15 chân ngõ ra PWM)
- Chân ngõ vào analog 10 bit: 16 chân
- Dòng DC trên mỗi chân I/O: 40mA
- Dòng DC trên chân 3.3V: 50mA
Arduino Mega có thể được cấp nguồn qua cổng USB hoặc từ nguồn bên ngoài với điện áp từ 6 đến 20V, tối ưu nhất trong khoảng 7-12V Nguồn bên ngoài có thể sử dụng bộ chuyển đổi AC sang DC hoặc pin.
V_in: khi sử dụng nguồn bên ngoài thì cấp vào chân này
5V: Ngõ ra chân này là 5V lấy ra từ board
3.3V: Ngõ ra chân này là 3.3V lấy ra từ board, dòng lớn nhất 50mA
- IOREF: Chân này cung cấp điện áp tham chiếu cho vi xử lý hoạt động
- Bộ nhớ: ATmega 2560 có 256 KB bộ nhớ flash để lưu trữ code (trong đó có
8 KB được sử dụng cho bootloader), 8 KB SRAM và 4 KB EEPROM (có thể đọc và ghi với thư viện EEPROM)
Mỗi chân trong 54 chân số của board có thể hoạt động như ngõ vào hoặc ngõ ra, với khả năng cung cấp hoặc nhận tối đa 40 mA và điện trở kéo lên bên trong từ 20-50 KOhms Ngoài ra, một số chân còn có chức năng đặc biệt.
Serial: để truyền và nhận dữ liệu nối tiếp
External Interrupt: các chân này có thể được cấu hình để kích hoạt sự kiện ngắt mức thấp, ngắt cạnh lên hoặc xuống…
- PWM: cung cấp ngõ ra PWM 8 bit
- SPI: các chân này hỗ trợ giao tiếp SPI bằng cách sử dụng thư viện SPI
- LED (chân 13): được kết nối sẵn với một con LED, khi ngõ ra chân này mức cao thì LED sáng, mức thấp LED tắt
- TWI: hỗ trợ giao tiếp PWI bằng việc sử dụng thư viện PWI
Mega 2560 sở hữu 16 ngõ vào tương tự với độ phân giải 10 bit, cho phép 1024 giá trị đo từ 0 đến 5V Người dùng có thể điều chỉnh giá trị này bằng cách thay đổi chân AREF và sử dụng hàm AnalogReferency() để thực hiện chuyển đổi.
Màn hình LCD 20x4
Ngày nay, màn hình LCD (Liquid Crystal Display) được ứng dụng rộng rãi trong các hệ thống vi điều khiển (VĐK) Với khả năng hiển thị đa dạng các ký tự như chữ, số và biểu tượng đồ họa, LCD mang lại trải nghiệm trực quan cho người dùng Thiết bị này dễ dàng tích hợp vào mạch ứng dụng thông qua nhiều giao thức giao tiếp khác nhau, đồng thời tiêu tốn ít tài nguyên hệ thống và có giá thành phải chăng.
LCD có nhiều loại với số chân khác nhau, phổ biến nhất là loại 14 chân và 16 chân Sự khác biệt giữa chúng nằm ở các chân nguồn cung cấp, trong khi các chân điều khiển vẫn giữ nguyên Khi sử dụng bất kỳ loại LCD nào, cần tham khảo datasheet (tài liệu thông số kỹ thuật của nhà sản xuất) để nắm rõ thông tin về các chân.
Màn hình LCD 20x4 xanh dương sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến
Chữ trắng, nền xanh dương
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard
Tên các chân được ghi ở mặt sau của màn hình LCD hỗ trợ việc kết nối, đi dây
Hình ảnh thực tế Sơ đồ chân LCD
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chỉnh độ sáng
Chức năng các chân CD:
Chân số Ký hiệu Chức năng
3 V Điện áp để điều chỉnh độ tương phản
0(mức thấp) : Chọn thanh ghi lệnh 1(mức cao ) : Chọn thanh ghi dữ liệu
5 R/W Lựa chọn thanh ghi đọc/ viết dữ liệu
7 DB1 Data Bus Line 0 (LSB)
14 DB8 Data Bus Line 7(MSB)
15 A Cực dương Led nền từ 0V đến 5V
Bảng 2 20: Chức năng chân của LCD 20x4
Trong 14 chân của LCD được chia ra làm 3 dạng tín hiệu như sau:
Các chân cấp nguồn: Chân số 1 là chân nối mass (0V), chân thứ 2 là Vdd nối với nguồn +5V Chân thứ 3 dùng để chỉnh contrast thường nối với biến trở
Các chân điều khiển của mạch bao gồm chân số 4, được gọi là chân RS, dùng để lựa chọn thanh ghi Chân R/W có chức năng điều khiển quá trình đọc và ghi dữ liệu, trong khi chân E là chân cho phép dạng xung chốt hoạt động.
Các chân dữ liệu D7÷D0: Chân số 7 đến chân số 14 là 8 chân dùng để trao đổi dữ liệu giữa thiết bị điều khiển và LCD
Bảng 2 21: Mã lệnh của LCD
2.3.3 Các mã lệnh cơ bản
- Lệnh xoá màn hình “Clear Display”: khi thực hiện lệnh này thì LCD sẽ bị xoá và bộ đếm địa chỉ được xoá về 0
Lệnh "Cursor Home" di chuyển con trỏ về đầu màn hình, thiết lập bộ đếm địa chỉ về 0 và đưa phần hiển thị trở về vị trí gốc đã bị dịch Tuy nhiên, nội dung trong bộ nhớ RAM hiển thị DDRAM vẫn không bị thay đổi.
Lệnh "Entry mode set" được sử dụng để thiết lập lối vào cho các ký tự hiển thị Khi bit ID = 1, con trỏ sẽ tự động tăng lên 1 mỗi khi có 1 byte dữ liệu được ghi vào bộ hiển thị Ngược lại, khi ID = 0, con trỏ sẽ không tăng, và dữ liệu mới sẽ ghi đè lên dữ liệu cũ Nếu bit S = 1, dữ liệu sẽ được dịch chuyển mỗi khi nhận 1 byte hiển thị.
Lệnh điều khiển con trỏ hiển thị “Display Control” cho phép quản lý con trỏ trên màn hình, với các chức năng như bật/tắt hiển thị (bit D = 1 để hiển thị, bit D = 0 để tắt), bật/tắt con trỏ (bit C = 1 để mở, bit C = 0 để tắt) và điều chỉnh chế độ nhấp nháy của con trỏ (bit B = 1 để nhấp nháy, bit B = 0 để tắt nhấp nháy).
- Lệnh di chuyển con trỏ “Cursor /Display Shift”: lệnh này dùng để điều khiển di chuyển con trỏ hiển thị dịch chuyển (SC = 1 cho phép dịch chuyển,
SC = 0 thì không cho phép), hướng dịch chuyển (RL = 1 thì dịch phải, RL 0 thì dịch trái) Nội dung bộ nhớ DDRAM vẫn không đổi
The "Function set" command is utilized to configure communication settings When the data length (DL) bit is set to 1, it allows communication over 8 data lines (D7 to D0); if set to 0, it restricts communication to 4 lines (D7 to D4) The number of lines (N) bit determines the display capability, where a value of 1 enables a 2-line display, and a value of 0 permits a single line Additionally, the font (F) bit controls the display matrix, with a setting of 1 allowing for a 5×10 matrix and a setting of 0 enabling a 5×7 matrix.
Lệnh "Set CGRAM Addr" được sử dụng để thiết lập địa chỉ cho bộ nhớ RAM phát ký tự.
Lệnh "Set DDRAM Addr" được sử dụng để thiết lập địa chỉ cho bộ nhớ RAM, nơi lưu trữ các dữ liệu hiển thị.
Màn hình LCD 20x4 bao gồm 4 hàng, mỗi hàng có khả năng hiển thị 20 ký tự Cụ thể, hàng 1 bắt đầu từ địa chỉ 0x80, với ký tự tiếp theo là 0x81 và ký tự cuối cùng là 0x93 Hàng 2 bắt đầu từ địa chỉ 0xC0, với ký tự kế tiếp là 0xC1 và ký tự cuối cùng là 0xD3 Hàng 3 có địa chỉ bắt đầu là 0x94, với ký tự tiếp theo 0x95 và ký tự cuối cùng là 0xA7 Cuối cùng, hàng 4 bắt đầu từ địa chỉ 0xD4, với ký tự kế tiếp là 0xD5 và ký tự cuối cùng là 0xE7.
Giới thiệu về ngôn ngữ lập trình cho Arduino
Để lập trình cho Arduino, người dùng chỉ cần định nghĩa hai hàm nhằm thực hiện một chương trình điều hành theo chu kỳ.
Setup(): hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập
Loop(): hàm được gọi lặp lại liên tục cho đến khi bo mạch được tắt đi
Khi bật điện cho Board mạch Arduino hoặc thực hiện reset hay nạp chương trình mới, hàm setup() sẽ được gọi đầu tiên Sau khi hoàn thành hàm setup(), Arduino sẽ chuyển sang hàm loop() và tiếp tục lặp lại hàm này vô hạn cho đến khi nguồn điện được tắt.
Hình 2 9: Chu trình hoạt động của một chương trình trên Arduino
Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, đồng thời áp dụng Avrdude để tải chương trình lên board mạch chủ Với việc nền tảng Arduino dựa trên vi điều khiển Atmel, người dùng cũng có thể phát triển phần mềm cho Arduino bằng cách sử dụng môi trường phát triển Atmel Studio hoặc AVR Studio.
Phần mềm quản lý cơ sở dữ liệu - Microsoft SQL Server 2014
Cơ sở dữ liệu là một hệ thống thông tin có cấu trúc, được lưu trữ trên thiết bị nhằm đáp ứng nhu cầu truy xuất thông tin của nhiều người dùng hoặc ứng dụng khác nhau cùng lúc.
Việc sử dụng hệ thống cơ sở dữ liệu này sẽ khắc phục được những khuyết điểm của cách lưu trữ dưới dạng hệ thống tập tin, đó là:
Giảm trùng lặp thông tin ở mức thấp nhất, đảm bảo tính nhất quán và toàn vẹn dữ liệu
Đảm bảo dữ liệu được truy xuất theo nhiều cách khác nhau, từ nhiều người khác nhau và nhiều ứng dụng khác nhau
Tăng khả năng chia sẽ thông tin
Tuy nhiên việc sử dụng hệ quản trị cơ sở dữ liệu lại có những hạn chế không hề nhỏ sau đây:
Phải đảm bảo tính chủ quyền của dữ liệu, vì khi sử dụng có tính chất chia sẻ cao
Bảo mật quyền khai thác thông tin
Bảo đảm vấn đề tranh chấp dữ liệu khi xảy ra
Khi gặp các trục trặc sự cố thì phải bảo đảm vấn đề an toàn dữ liệu, không bị mất dữ liệu
SQL (Structured Query Language – Ngôn ngữ Truy vấn có Cấu trúc), là một ngôn ngữ theo chuẩn ANSI để truy xuất các cơ sở dữ liệu
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, được các nhà phát triển ưa chuộng trong phát triển ứng dụng SQL Server nổi bật với tốc độ cao, tính ổn định và dễ sử dụng, khả năng tương thích trên nhiều hệ điều hành, cùng với một hệ thống hàm tiện ích mạnh mẽ Nó cũng đảm bảo tốc độ và tính bảo mật cao, đáp ứng nhu cầu của người dùng.
SQL Server có 1 số đặc điểm cơ bản sau:
SQL Server quản lý dữ liệu thông qua các cơ sở dữ liệu, mỗi cơ sở dữ liệu có thể có nhiều bảng quan hệ chứa dữ liệu
SQL Server cung cấp cơ chế phân quyền người dùng độc lập, cho phép quản lý nhiều cơ sở dữ liệu khác nhau cho mỗi người dùng Mỗi người dùng được cấp một tên truy cập và mật khẩu riêng để truy cập vào cơ sở dữ liệu.
Khi truy vấn cơ sở dữ liệu SQL Server, việc cung cấp tên truy cập và mật khẩu cho tài khoản có quyền truy cập là điều bắt buộc Nếu không có thông tin này, bạn sẽ không thể thực hiện bất kỳ thao tác nào trên cơ sở dữ liệu.
2.5.2 Các lệnh cơ bản của SQL Server
- Lệnh Select chọn các cột dữ liệu từ một cơ sở dữ liệu
Select tên cột From tên bảng
Để chọn nhiều cột trong cơ sở dữ liệu, bạn cần ngăn cách tên các cột bằng dấu phẩy “,” Nếu bạn muốn chọn tất cả các cột trong bảng, hãy sử dụng ký hiệu * thay cho tên các cột.
- Lệnh Insert Into: chèn các dòng mới vào trong một bảng
Values (‘giá trị 1’, ‘giá trị 2’, )
Ta có thể chỉ định các cột muốn chèn dữ liệu vào:
Insert Into tên bảng (cột 1, cột 2,…)
Values (‘giá trị 1’, ‘giá trị 2’, )
- Lệnh Update: cập nhật hoặc thay đổi các dòng
Update tên bảng Set tên cột = ‘giá trị mới’
Where tên cột = ‘giá trị’
- Lệnh Delete: dùng xóa một hay nhiều dòng trong một bảng
Delete From tên bảng Where tên cột = ‘giá trị’
- Lệnh Create Database: tạo một cơ sở dữ liệu
Create Database tên cơ sở dữ liệu
- Lệnh Create Table: tạo một bảng trong cơ sở dữ liệu
Tên cột 1 kiểu dữ liệu,
Tên cột 2 kiểu dữ liệu,
2.5.3 Các kiểu dữ liệu thường gặp
- Integer (size), int (size) – chứa số nguyên
- Decimal (size, d), numeric (size, d) – chứa phân số, “d” là phần phân số
- Char (size) – chứa chuỗi có kích thước cố định
- Varchar (size) – chứa chuỗi có chiều dài thay đổi
- Date (yyyymmdd) – chứa một ngày
2.5.4 Ƣu điểm của Microsoft SQL Server
SQL Server 2014 cung cấp nền tảng an toàn, tin cậy và có khả năng mở rộng cho các ứng dụng phức tạp, đồng thời giảm bớt sự phức tạp trong quản lý cơ sở hạ tầng dữ liệu Điều này giúp bảo vệ thông tin quý giá trong các ứng dụng hiện tại và nâng cao khả năng sẵn có của dữ liệu.
SQL Server 2014 cung cấp cơ sở hạ tầng mở rộng, cho phép quản lý báo cáo và phân tích với mọi kích thước và độ phức tạp Nó cũng cải thiện khả năng truy cập thông tin cho người dùng thông qua tích hợp sâu với Microsoft Office Hệ thống này tạo ra những bước tiến quan trọng trong lưu trữ dữ liệu, cho phép người dùng hợp nhất các trung tâm dữ liệu vào một kho lưu trữ dữ liệu tập trung.
- SQL Server 2014 cho phép mã hóa toàn bộ cơ sở dữ liệu, các file dữ liệu và file bản ghi mà không cần thay đổi ứng dụng
SQL Server 2014 hỗ trợ phát triển và quản lý hiệu quả mọi loại dữ liệu, từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa lý hiện đại.
SQL Server 2014 hỗ trợ giao dịch liên tục giữa quản lý dữ liệu không quan hệ và quan hệ, giúp người dùng dễ dàng truy cập vào tài liệu, dữ liệu và các kiến trúc mã hóa phức tạp trong XML, đồng thời cho phép truy vấn cả dữ liệu quan hệ và văn bản.
Phần mềm Visual Studio 2012 và ngôn ngữ C#
Visual Studio 2012 là bộ công cụ phát triển phần mềm mạnh mẽ của Microsoft, cung cấp môi trường phát triển phong phú giúp xây dựng các ứng dụng hiện đại và hấp dẫn Công cụ này đáp ứng nhu cầu ngày càng đa dạng và phức tạp của khách hàng, cho phép truy cập mọi nơi và xử lý dữ liệu một cách hiệu quả.
Ngôn ngữ C# nổi bật với sự đơn giản, chỉ với hơn 80 từ khóa và hơn mười kiểu dữ liệu được tích hợp sẵn Tuy nhiên, C# mang lại giá trị lớn khi áp dụng các khái niệm lập trình hiện đại, bao gồm hỗ trợ cho lập trình cấu trúc và lập trình hướng đối tượng Những đặc điểm này làm cho C# trở thành một ngôn ngữ lập trình hiện đại Đặc biệt, C# được phát triển dựa trên nền tảng của hai ngôn ngữ mạnh mẽ, là C++ và Java.
Ngôn ngữ C# được phát triển bởi đội ngũ kỹ sư của Microsoft, trong đó người dẫn đầu là Anders Hejlsberg và Scott Wiltamuth Cả hai người này điều là
Anders Hejlsberg, một trong 25 người nổi tiếng, được biết đến là tác giả của Turbo Pascal, ngôn ngữ lập trình PC nổi tiếng Ông cũng là người đứng đầu nhóm thiết kế Borland Delphi, đánh dấu một trong những thành công đầu tiên trong việc phát triển môi trường phát triển tích hợp (IDE) cho lập trình client/server.
Trái tim của ngôn ngữ lập trình hướng đối tượng là khả năng định nghĩa và làm việc với các lớp, cho phép tạo ra những kiểu dữ liệu mới Điều này giúp các nhà phát triển mở rộng ngôn ngữ để xây dựng mô hình tốt hơn nhằm giải quyết vấn đề Ngôn ngữ C# cung cấp các từ khóa cần thiết để khai báo lớp, phương thức và thuộc tính, hỗ trợ thực hiện các đặc tính cơ bản như đóng gói, kế thừa và đa hình.
Trong ngôn ngữ C#, tất cả các khai báo liên quan đến lớp đều nằm trong phần định nghĩa của nó, không cần tách biệt giữa tập tin header và tập tin nguồn như trong C++ C# hỗ trợ kiểu XML, cho phép chèn tag XML để tự động tạo tài liệu cho lớp Ngôn ngữ này cũng cung cấp giao diện, xem như một cam kết giữa lớp và các dịch vụ mà giao diện quy định Mỗi lớp trong C# chỉ có thể kế thừa từ một lớp cha duy nhất, không cho phép đa kế thừa như C++, nhưng có thể thực thi nhiều giao diện, đảm bảo cung cấp đầy đủ chức năng của giao diện đó.
Trong ngôn ngữ C#, cấu trúc là một kiểu dữ liệu nhỏ gọn và có giới hạn, yêu cầu ít tài nguyên hệ điều hành và bộ nhớ hơn so với lớp Khác với C++, cấu trúc trong C# không hỗ trợ kế thừa từ lớp và cũng không thể được kế thừa, nhưng chúng có khả năng thực thi giao diện.
Tóm lại, ngôn ngữ C# có các đặc trƣng sau đây:
Ngôn ngữ hướng đối tượng
Ngôn ngữ mạnh mẽ và mềm dẻo
Sẽ trở nên phổ biến
C# là ngôn ngữ lập trình đơn giản, giúp loại bỏ sự phức tạp và rối rắm thường gặp ở C++ và Java Ngôn ngữ này có cú pháp, biểu thức và toán tử khá giống với C/C++, mang lại sự quen thuộc cho lập trình viên.
26 o Các chức năng của C# được lấy trực tiếp từ ngôn ngữ C/C++ nhưng được cải tiến để làm cho ngôn ngữ đơn giản hơn
C# là ngôn ngữ hiện đại : o Xử lý ngoại lệ o Thu gom bộ nhớ tự động o Có những kiểu dữ liệu mở rộng o Bảo mật mã nguồn
C# là ngôn ngữ hướng đối tượng: o Sự đóng gói (encapsulation) o Sự kế thừa (inheritance) o Đa hình (polymorphism)
C# là một ngôn ngữ lập trình mạnh mẽ và linh hoạt, cho phép người dùng thoải mái sáng tạo mà không bị ràng buộc Với C#, bạn có thể phát triển nhiều loại ứng dụng, từ xử lý văn bản, ứng dụng đồ họa, đến các công cụ xử lý bảng tính và thậm chí là trình biên dịch cho các ngôn ngữ khác Mặc dù C# sử dụng một số từ khóa giới hạn để mô tả thông tin, nhưng điều này không làm giảm sức mạnh của ngôn ngữ Thực tế, C# có thể được áp dụng cho hầu hết mọi nhiệm vụ lập trình.
C# là ngôn ngữ lập trình hướng đối tượng, trong đó mã nguồn được tổ chức thành các lớp (Class) Mỗi lớp chứa các phương thức (Method) thành viên, cho phép tái sử dụng trong nhiều ứng dụng và chương trình khác nhau.
C# là một ngôn ngữ lập trình ngày càng phổ biến, kết hợp sức mạnh của C++ với sự dễ dàng sử dụng của Visual Basic Được phát triển bởi Microsoft, C# mang lại nhiều lợi ích cho lập trình viên.
C# là ngôn ngữ ít từ hóa: o C# là ngôn ngữ sử dụng giới hạn những từ khóa Phần lớn các từ khóa được sử dụng để mô tả thông tin
27 o Bảng 2 22: Từ khóa của ngôn ngữ C#.
THIẾT KẾ
Sơ đồ khối hệ thống
3.1.1.Yêu cầu của hệ thống điểm danh sinh viên
Hệ thống điểm danh sinh viên sử dụng cảm biến vân tay được lắp đặt tại các phòng học, cho phép ghi nhận thời gian bắt đầu và kết thúc tiết học Dữ liệu điểm danh sẽ được truyền về máy tính của người giám sát, đồng thời thiết bị cũng nhận dữ liệu từ máy tính để xử lý các thông tin cần thiết theo yêu cầu của hệ thống.
3.1.2 Sơ đồ khối và chức năng mỗi khối hệ thống điểm danh sinh viên
Hình 3 1: Sơ đồ khối thiết bị
Khối nguồn: chuyển đổi điện áp 220V AC sang điện áp 5V DC cung cấp cho các khối khác
Khối xử lý trung tâm có nhiệm vụ nhận tín hiệu từ cảm biến vân tay, thực hiện các phép toán xử lý và hiển thị thông tin lên màn hình LCD và máy tính.
Khối cảm biến: thực hiện lấy thông tin từ vân tay đưa về khối xử lý trung tâm
Khối hiển thị: để hiển thị các thông tin cần thiết
Khối máy tính: điều khiển khối xử lý trung tâm thực hiện các thao tác và hiển thị các thông tin quản lý điểm danh sinh viên
Khối nút nhấn: để yêu cầu hệ thống lấy và đọc mẫu vân tay
Bộ xử lý trung tâm (kit Arduino) Hiển thị Khối nguồn
Phương án thiết kế, tính toán
Để tối ưu hóa thiết kế và điều khiển, chúng tôi đã chọn phương pháp thiết kế từng mô đun riêng biệt, đảm bảo các chân cắm và đường dây tương thích giữa các mô đun với nhau.
Các giá trị trong mô đun được lấy từ datasheet của nhà sản xuất và kinh nghiệm thực tế trong thiết kế mạch, với các phép tính mang tính chất gần đúng Để thực hiện truyền thông giữa máy tính và mô đun Arduino, đề tài áp dụng giải pháp kết nối qua cáp USB.
Cụ thể là hệ thống sẽ hoạt động như sau:
Hệ thống lưu trữ dấu vân tay và thông tin sinh viên sẽ thay đổi theo từng học kỳ, với mỗi phòng học có sinh viên khác nhau Vào đầu mỗi học kỳ, máy tính sẽ gửi dữ liệu vân tay đến mô đun cảm biến vân tay, cập nhật mẫu vân tay của sinh viên trong phòng học đó.
Hệ thống điểm danh được thực hiện vào đầu và cuối giờ học, yêu cầu sinh viên điểm danh đúng giờ theo thời khóa biểu Sau khi điểm danh, thông tin sinh viên, bao gồm họ tên và mã số, sẽ được hiển thị trên màn hình LCD Dữ liệu này sau đó sẽ được truyền về máy chủ và lưu trữ trong cơ sở dữ liệu.
3.2.1 Khối điều khiển trung tâm
Khối xử lý trung tâm là cơ quan điều khiển chính của hệ thống, nhận tín hiệu từ các thiết bị ngoại vi như cảm biến và lệnh từ máy tính Sau khi xử lý tín hiệu, khối này sẽ phát ra tín hiệu điều khiển đến các thiết bị chấp hành như màn hình LCD và máy tính.
Hiện nay, có nhiều loại vi điều khiển như PIC, ARM, và AVR đáp ứng nhu cầu của hệ thống với các tùy chọn về tốc độ xử lý 8 bit, 16 bit và 32 bit Thêm vào đó, các bộ kit phát triển như Arduino, Firebull và Raspberry cũng rất phổ biến, giúp tiết kiệm thời gian và nâng cao độ ổn định cho khối xử lý trung tâm.
Do các bộ kit đã được thi công sẵn với độ ổn định tốt, giá thành cũng có nhiều mức độ để lựa chọn
Hệ thống lựa chọn board Arduino Mega 2560 làm khối điều khiển trung tâm nhờ kích thước gọn nhẹ và tính phổ biến trên thị trường Board này có độ ổn định tốt và đáp ứng yêu cầu điều khiển của hệ thống mà không cần tốc độ xử lý nhanh Thêm vào đó, với 4 bộ UART được trang bị, Arduino Mega 2560 có khả năng giao tiếp với nhiều module ngoại vi hơn.
Chọn chân 4, 5, 6, 7, 8, 9 làm chân tín hiệu cho màn hình LCD 20x4 Sử dụng chân 10 và 11 để truyền nhận dữ liệu từ cảm biến vân tay, trong khi chân 2 và 3 được kết nối với nút nhấn.
Hình 3 2: Sơ đồ và chức năng các chân Arduino Mega 2560
3.2.2 Khối cảm biến vân tay
Để đảm bảo quét vân tay người dùng với độ chính xác và tin cậy cao, thiết bị cần có kích thước nhỏ gọn, phù hợp với mô hình sử dụng Đồng thời, số mẫu vân tay lưu trữ phải đáp ứng nhu cầu của số lượng sinh viên trong một lớp học.
Nhóm thiết kế đã quyết định chọn mô đun nhận dạng vân tay R305 do khả năng giao tiếp trực tiếp qua UART, phù hợp với khối điều khiển trung tâm Mô đun này cho phép lưu trữ vân tay trực tiếp trên bộ nhớ Flash, với số lượng vân tay có thể lưu trữ lớn.
31 lưu trữ lên đến 162 mẫu vân tay Cảm biến nhận dạng vân tay có độ chính xác và độ tin cậy cao
Nguồn cung cấp 3.6 – 6 VDC Giao diện UART hoặc USB
Dòng làm việc Thông thường:
Chế độ so sánh 1:1 và 1:N
Tốc độ Baud 57600 bit/s Kích cỡ file kí tự
Thời gian thu thập ảnh
Khả năng lưu trữ 256 Mức bảo vệ 5(1,2,3,4,5)
Thời gian tìm kiếm trung bình
Bảng 3 1: Thông số kĩ thuật module nhận dạng vân tay
Sơ đồ chân giao tiếp của module nhận dạng vân tay R305:
Chân Tên Chuẩn Mô tả
1 Vin IN Nguồn cung cấp (màu đỏ)
2 TD OUT Ngõ ra dữ liệu (màu xanh hoặc màu vàng)
3 RD IN Ngõ ra dữ liệu (màu trắng)
Bảng 3 2: Sơ đồ chân giao tiếp của module nhận dạng vân tay R305
Sơ đồ kết nối với hệ thống:
Hình 3 3: Sơ đồ kết nối của Module vân tay R305
Cấp nguồn và GND cho cảm biến Kết nối chân TX, RX của cảm biến với chân 10, 11 của khối xử lý trung tâm
Hình 3 4: Sơ đồ kết nối Arduino với Module vân tay R305
Yêu cầu: Hiển thị được các thông tin và các thông số, tạo giao diện thân thiện với người sử dụng hơn
Phương án: Có thể dùng LED 7 đoạn, LED ma trận, , LCD16x2, LCD
Lựa chọn: Sử dụng LCD 20x4 vì sản phẩm này phổ biến, dễ tìm kiếm thông tin và giá thành rẻ và phù hợp với yêu cầu đặt ra
Khối hiển thị LCD 20x4 được kết nối với khối điều khiển thông qua các chân RS, E và D4 đến D7 Cụ thể, chân RS nối với chân số 6 để lựa chọn thanh ghi, chân E nối với chân số 7 để cấp trạng thái hoạt động, và các chân D4 đến D7 được kết nối với chân 5, 6, 7, 8 của khối xử lý trung tâm để truyền tín hiệu.
Hình 3 5: Sơ đồ kết nối LCD 20x4
Hình 3 6: Sơ đồ kết nối Arduino với LCD 20x4
Kết nối chân RS với chân số 6 của khối điều khiển để chọn thanh ghi, và chân E với chân số 7 để cung cấp trạng thái hoạt động Đồng thời, nối chân D4 đến D7 với chân 5, 6, 7, 8 của khối xử lý trung tâm để tạo thành chân tín hiệu.
Khối nguồn có nhiệm vụ tạo ra điện áp và dòng điện ổn định cho toàn bộ hệ thống điện tử Arduino có thể được cấp nguồn 5V qua cổng USB hoặc từ nguồn ngoài qua Adaptor, với điện áp khuyên dùng là 7-12V DC và giới hạn từ 6-20V, thường nên sử dụng 9V Hệ thống có hai mức điện áp đầu ra: 5V với dòng tối đa 500mA và 3.3V với dòng tối đa 50mA, cùng với các chân in/out có dòng ra tối đa 30mA Các ngõ ra này có thể cung cấp nguồn cho cảm biến vân tay và màn hình LCD 20x4 Để đảm bảo cung cấp đủ nguồn cho tất cả các mô đun, nhóm đã chọn Adaptor 9V 1A làm nguồn cấp cho hệ thống.
Thông số Mô tả Điện áp ngõ vào 100-240V AC (50Hz)
Dòng điện ngõ vào 0.7A (max) Điện áp ngõ ra 9V
Dòng điện ngõ ra 1A Đầu kết nối 2.1x5.5mm
Bảng 3 3: Thông số kĩ thuật của apdapter 12V
3.2.5 Chương trình trên máy tính
Dưới đây là sơ đồ cơ bản thể hiện quá trình hoặt động của chương trình hệ thống trên máy tính
Hình 3 8: Lưu đồ chương trình trên máy tính
Kiểm tra khung truyền và cổng Com Quét cổng Com
Truyền kí tự “4” về chip
Truyền kí tự “5” về chip
Lưu vào bảng dữ liệu
Chương trình máy tính hoạt động trực tuyến, giám sát và điều khiển hệ thống Đầu tiên, nó quét các cổng COM và kiểm tra khung truyền Sau khi hoàn tất kiểm tra, chương trình tiến hành kết nối và kiểm tra các nút chức năng Nếu có nút được nhấn, mã lệnh tương ứng sẽ được truyền về vi điều khiển để kết thúc quá trình.
Lưu đồ from “đăng nhập”
Trong một hệ thống, việc phân quyền người dùng là cần thiết để quản lý hiệu quả và bảo đảm tính bảo mật cũng như toàn vẹn thông tin Dưới đây là lưu đồ hướng dẫn đăng nhập.
Hình 3 9: Lưu đồ From đăng nhập
Nhập tên và mật khẩu từ bàn phím
Thông báo sai tên hoặc mật khẩu mời nhập lại
So sánh với tên và mật khẩu đã được thiết lập Bắt đầu
Hình 3 10: Lưu đồ chương trình trên Board Arduino
ẾT QUẢ THỰC HIỆN
Phần cứng
- Khung mô hình máy điểm danh sinh viên bằng vân tay được làm từ vật liệu bìa
Nhấn lấy vân tay Nhấn đọc vân tay
Gửi ID vân tay lên máy tính, lưu thông tin sinh viên nhập từ máy tính
Hiển thị thông tin sinh viên điểm danh lên màn hình
Hình 4 1: Mô hình máy điểm danh sinh viên bằng vân tay
Hình 4 2: Máy điểm danh sinh viên chờ quét vân tay
Hệ thống điểm danh sinh viên sẽ ở trạng thái chờ quét vân tay khi đèn cảm biến sáng lên, yêu cầu sinh viên đưa mẫu vân tay vào quét Lúc này, màn hình LCD sẽ hiển thị dòng chữ “DO AN TOT NGHIEP”.
Hệ thống điểm danh sinh viên sẽ hiển thị thông tin của sinh viên, bao gồm họ tên và mã số sinh viên, khi quét mã vân tay hợp lệ.
Hình 4 3: Máy điểm danh sinh viên hiển thị thông tin người điểm danh.
Phần mềm
- Phần mềm được viết bằng C# và thực hiện chức năng:
Sinh viên sẽ được điểm danh thông qua việc kiểm tra mã vân tay gửi từ Board, sau đó so sánh với cơ sở dữ liệu trong SQL Server Nếu thông tin trùng khớp, kết quả sẽ được hiển thị trên màn hình.
Tìm kiếm thông tin sinh viên thông qua tên, mã số sinh viên
Thêm, sửa, xóa dữ liệu sinh viên ngay trên phần mềm mà không cần phải thao tác trên SQL Server
Bảo vệ được dữ diệu thông qua phương thức đăng nhập
- Với những tính năng trên sau đây sẽ là sản phẩm thực tế thi công phần mềm trên máy tính:
Trang đăng nhập cho phép người quản lý hệ thống dễ dàng kiểm soát người dùng, đồng thời xác định quyền hạn thao tác của từng tài khoản khi sử dụng hệ thống.
Hình 4.4: Trang đăng nhập khi chưa có tài khoản đăng nhập
Hình 4.5: Khi đăng nhập sai tài khoản hoặc mật khẩu, chọn “OK” hoặc dấu
X để thoát thông báo và tiến hành nhập thông tin đăng nhập lại
Hình 4 4: Khi chưa đăng nhập
Hình 4 5: Đăng nhập sai tài khoản
Giao diện chính của hệ thống, như được thể hiện trong Hình 4.6, bao gồm các thông tin về đề tài cùng với các nút chức năng như lấy và lưu mẫu vân tay, lưu thông tin sinh viên, cũng như khả năng kết nối và ngắt kết nối hệ thống.
Hình 4.7: là giao diện khi hệ thống điểm danh lấy mẫu vân tay và lưu thông tin sinh viên vào hệ thống quản lý
Hình 4 7: Lấy mẫu vân tay và nhập thông tin cho sinh viên
Trang quản lý dữ liệu điểm danh (Hình 4.8) cho phép quản lý cơ sở dữ liệu sinh viên khi chưa có dữ liệu Người dùng có thể thực hiện các thao tác như thêm, sửa, xóa, tìm kiếm và thoát, đồng thời hiển thị thông tin điểm danh của sinh viên một cách rõ ràng.
Hình 4 8: Trang quản lý dữ liệu điểm danh
Hình 4.9: trang quản lý dữ liệu sinh viên khi hệ thống hoạt động
Hình 4 9: Quản lý dữ liệu sinh viên
Hình 4.10: Bảng dữ liệu của sinh viên được lưu gồm: họ tên, mã số sinh viên và ID vân tay tương ứng
Hình 4 10: Dữ liệu sinh viên
Khi bắt đầu vào chương trình chính, hệ thống sẽ cập nhật giờ học của tiết bắt đầu, giờ của 1 tiết học
- Chương trình sẽ kiểm tra dữ liệu trên máy chủ gửi xuống
- Hiển thị màn hình chờ khi chưa nhấn nút điểm danh
- Kiểm tra nút nhấn điểm danh: hiển thị màn hình chờ đặt vân tay vào cảm biến và kiểm tra thời gian thao tác của quá trình
Màn hình chờ sẽ hiển thị thông tin xác nhận và kiểm tra thời gian thao tác trong quá trình xác minh dữ liệu vân tay có trong hệ thống.
Các thao tác vận hành hệ thống điểm danh vân tay:
Hệ thống vận hành với tất cả thông tin và thiết lập được hiển thị trên màn hình máy tính
Cấp nguồn cho hệ thống
Kết nối hệ thống điểm danh vân tay với máy tính bằng cáp USB
Nút “kết nối” trên giao diện máy tính để kết nối khối xử lý trung tâm và máy tính
Nút “ngắt kết nối” để ngắt kết nối giữa khối xử lý trung tâm và cơ sở dữ liệu máy tính
Nút “lấy mẫu” để lưu dữ liệu vân tay mới vào cơ sở dữ liệu
Nút “đọc vân tay” để tiến hành điểm danh sinh viên vào/ra
Nút “lưu vân tay” cho phép lưu trữ mã vân tay cùng với thông tin của sinh viên, bao gồm tên, mã số sinh viên, mã môn học và tiết học tương ứng.
Nút “điểm danh” để kiểm tra và hiển thị toàn bộ thông tin điểm danh của sinh viên
Nút “tìm kiếm” để tìm thông tin từng sinh viên theo mã số sinh viên.Nút
“xóa” để xóa sinh viên tương ứng
ẾT LUẬN V HƯỚNG PHÁT TRIỂN Error! Bookmark not defined 5.1 Kết luận Error! Bookmark not defined 5.2 Hướng phát triển Error! Bookmark not defined
Sau khoảng thời gian thực hiện đề tài nhóm thực hiện rút ra được một số kết luận sau:
Việc thực hiện truyền thông tin bằng giao tiếp USB là giải pháp đơn giản, kinh tế và hiệu quả
Có thể thực hiện được giải pháp dùng cảm biến vân tay để thực hiện giám sát phòng học
Việc giám sát phòng học bằng máy tính giúp nâng cao hiệu quả công việc, mang lại sự nhanh chóng và chính xác, nhờ vào việc thực hiện theo cơ sở dữ liệu đã được thiết lập.
p dụng được khoa học kỹ thuật vào yêu cầu thực tế
Thay đổi cảm biến vân tay có độ phân giải cao hơn, chính xác hơn, dung lượng lớn hơn
Phát triển hệ thống theo hướng có thể kết nối với mạng Internet để việc giám sát thực hiện được linh động hơn
Phát triển phần mểm có thể sử dụng cho Smartphone
Mở rộng hệ thống để giám sát nhiều thiết bị khác thông qua GSM
Thiết kế giao diện người dùng tối ưu hơn