1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐỒ ÁN KỸ THUẬT Vi ĐIỀU KHIỂN CẢM BIẾN VÂN TAY FULL CODE

53 597 12

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 2,38 MB
File đính kèm [123doc] - FULLCODE_SODOKHOI1.rar (23 MB)

Nội dung

Do mỗi người có một dấu vân tay đặc trưng và tỉ lệ trùng nhau là vô cùng nhỏ nên khả năng ứng dụng của cảm biến vân tay vào trong đời sống thực tế là rất khả quan.. 2.Tầm quan trọng của

Trang 1

SVTH: Trang 1

Trang 2

Đà Nẵng ,Tháng 12 năm 2018

MỤC LỤC

Trang 3

Lời nói đầu

Ngày nay xã hội ngày càng phát triển với tiến bộ vượt bậc, nó mang lại cho

chúng ta thuận lợi và dễ dàng trong mọi lĩnh vực Sự đa dạng về phát triển khoa học kĩ thuật làm cho chúng ta có nhiều sự lựa chọn để giải quyết các vấn đề khác nhau Việc ứng dụng các thành tựu khoa học kỹ thuật hiện đại trong tất cả các lĩnh vực đã và đang rất phổ biến trên toàn thế giới, thay thế dần những phương thức thủ công, lạc hậu và ngày càng được cải tiến hiện đại hơn Cảm biến vân tay chính là một trong số đó

Như chúng ta đã biết, vấn đề an ninh trong cộng đồng và xã hội luôn là một vấn đề nhức nhối Các

vụ trộm cắp xảy ra khắp mọi nơi và các đối tượng thì ngày càng tinh vi và trình độ ngày một cao, đặt ra những yêu cầu về khả năng bảo mật, chống trộm Cảm biến vân tay ra đời cũng nhằm phục

vụ mục đích đó Hoạt động với nguyên lý xử lý hình ảnh dấu vân tay rồi mã hoá thành 1 chuỗi mã, bằng cách giao tiếp với cảm biến thông qua hoạt động gửi và nhận liên tục các chuỗi mã, ta có thể điều khiển các thiết bị ngoại vi như ý muốn (Khoá điện tử, còi chống trộm,…) Hơn nữa đề tài có khả năng ứng dụng vào trong đời sống thực tế là rất khả quan nên chúng em quyết định chọn và thực hiện đề tài này

Sau vài tháng thiết kế và thi công mô hình, đề tài cũng đã hoàn thành và hoạt động tương đối ổn định Tuy nhiên do tầm hiểu biết còn hạn chế và thời gian thực hiện không nhiều nên chúng em khó tránh khỏi những sai sót Em rất cảm ơn sự hướng dẫn của thầy Đặng Phước Vinh và các bạn để đồ

án được hoàn chỉnh hơn

SVTH: Trang 3

Trang 4

PHẦN I: TỔNG QUAN ĐỀ TÀI

1.Đặt vấn đề:

Vấn đề an ninh trong cộng đồng và xã hội là một vấn đề luôn nhận được sự quan tâm Các vụtrộm cắp xảy ra khắp mọi nơi và các đối tượng thì ngày càng tinh vi và trình độ ngày một cao, đặt ra những yêu cầu về khả năng bảo mật, chống trộm Trên thị trường xuất hiện rất nhiều loại khoá với các cơ cấu cơ khí và động lực với kết cấu cứng vững và ngày càng chắc chắn Nhưng cùng với đó cũng là sự tinh vi và kinh nghiệm của các đối tượng trộm cắp với kỹ năng bẻ khoá cũng ngày một nâng cao Chỉ từ khi có sự xuất hiện của các loại khoá với các vi mạch điện tử cóđiều khiển thì mọi chuyện mới thật sự thay đổi( Cảm biến quang, cảm biến hồng ngoại, cảm biến chuyển động, cảm biến siêu âm,… Các loại khoá hoạt động tốt hơn, an toàn hơn và độ bảomật cao hơn

Cảm biến vân tay ra đời cũng nhằm phục vụ mục đích đó Hoạt động với nguyên lý xử lý hình ảnh dấu vân tay rồi mã hoá thành 1 chuỗi mã, bằng cách giao tiếp với cảm biến thông qua hoạt động gửi và nhận liên tục các chuỗi mã, ta có thể điều khiển các thiết bị ngoại vi như ý muốn (Khoá điện tử, còi chống trộm,…) Do mỗi người có một dấu vân tay đặc trưng và tỉ lệ trùng nhau là vô cùng nhỏ nên khả năng ứng dụng của cảm biến vân tay vào trong đời sống thực

tế là rất khả quan

2.Tầm quan trọng của đề tài:

Cảm biến vân tay thuộc loại cảm biến sinh trắc học, dựa vào đặc điểm riêng biệt của mỗi người là vân tay để mở khoá, dẫn đến một lợi thế là không xảy ra tình trạng là để quên hay bị đãng trí như sử dụng ổ khoá chìa Hơn nữa, tỉ lệ có 2 người trùng nhau dấu vân tay là 1/64 tỉ nênviệc sử dụng cảm biến vân tay để làm khoá điện tử phục vụ vào cuộc sống là hoàn toàn có thể thực hiện Bảo mật vân tay trong tương lai hứa hẹn sẽ thay thế hầu hết các loại khoá điện tử hiệnnay vì ưu điểm nhỏ gọn, dễ sử dụng và tiện lợi cho người dung mà vẫn đảm bảo khả năng bảo mật cao

3.Nội dung:

- Kiểm tra vận hành và khắc phục các sai sót

4.Mục đích của đề tài:

Trang 5

- Thực hiện nhận dữ liệu và điều khiển thiết bị ngoại vi

5.Đối tượng nghiên cứu:

- LCD 16x02

SVTH: Trang 5

Trang 6

PHẦN II: THIẾT KẾ HỆ THỐNG

A CƠ SỞ DỮ LIỆU THIẾT KẾ:

1 Module nhận dạng vân tay R305:

1.1 giới thiệu module nhận dạng vân tay R305:

Module nhận diện vân tay R305 là module có chức năng thu thập ảnh vân tay từ đó tạo nên một khuôn mẫu vân tay hoặc so sánh sự trùng khớp giữa hai dấu vân tay.Ngoài ra R305 còn có khả năng lưu trữ khuôn mẫu vân tay vào bộ nhớ.Nó có thể giao tiếp với máy tính hoặc vi điều khiển trực tiếp thông qua giao thức UART hoặc MAX232/USB-Serial

1.2.Thông số kỹ thuật module R305:

•Chế độ nhận dạng: 1:1 hoặc 1:N (1 ID nhiều vân tay)

•Thời gian thu thập hình ảnh : <0.5s

•Kích thước mẫu : 512 bytes

•Nhiệt độ và độ ẩm bảo quản: -40oC – 85oC, RH: <85%

1.3.Nguyên tắc hoạt động của module R305:

Qúa trình xử lý dấu vân tay gồm hai phần: quét vân tay và so sánh sự trùng khớp của hai dấu vân tay.khi quá trình quét vân tay diễn ra,một đèn Led đỏ phát sang ,sau đó cảm biến hình ảnh sẽ thu lưulại hình ảnh dấu vân tay.Người dung khi tạo mẫu vân tay cần quét ngón tay hai lần,hệ thống sẽ xử

lý hai hình ảnh vân tay để tạo ra một mẫu và lưu mẫu đó vào thư vện của module.Khi tìm kiếm hệ

Trang 7

thống sẽ so sánh dấu vân tay cần tìm với toàn bộ thư vện của module,sau đó sẽ trả về kết quả tìm thấy hoặc không tìm thấy mẫu vân tay đó.

1.4.Cấu trúc lệnh điều khiển module R305:

1.4.1:Lệnh quét vân tay:

o Dữ liệu gửi đi:

Header Module

address

Package identifier

Package length Instruction

Package length Confirmation

code

Checksum

 Confirmation code=03H: thu thập vân tay thất bại;

1.4.2.Lệnh đưa ảnh vào biến tạm:

o Dữ liệu gửi đi:

Header Module

address

Package identifier

Package length

Instruction code

Buffer number

Checksum

 Ghi chú: BufferID của bộ đệm 1 và bộ đệm 2 lần lượt là 01h,02h.Nếu khác 2 giá trị trên thì xem như bộ đệm 2

o Dữ liệu trả về:

SVTH: Trang 7

Trang 8

Header Module

address

Package identifier

Package length Confirmation

code

Checksum

quá nhỏ;

1.4.3.Lệnh tổng hợp thông tin 2 dấu vân tay:

o Dữ liệu gửi đi:

Header Module

address

Package identifier

Package length

Instruction code

Package length

Confirmation code

Checksum

1.4.4.Lệnh so sánh 2 dấu vân tay:

o Dữ liệu gửi đi:

Trang 9

Header Module

address

Package identifier

Package length Instruction code Checksum

Package length

Confirmation code

Matching score

Checksum

1.4.5.Lệnh lưu vân tay:

o Dữ liệu gửi đi:

2 bytes 4bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes 2 bytes

Header Module

address

Package identifier

Package length

Instruction code

buffer number

Location number

Package length

Confirmation code

Checksum

SVTH: Trang 9

Trang 10

1.4.6.Lệnh tìm dấu vân tay:

o Dữ liệu gửi đi:

2 bytes 4bytes 1 byte 2 bytes 1 byte 1 byte 2 bytes 2 bytes 2 bytes

Header Module

address

Package identifie r

Packag

e length

Instructio

n code

buffer number

Parameter Parameter Checks

Package length

Confirmation code

1.4.7.Lệnh xóa từng vân tay:

o Dữ liệu gửi đi:

2 bytes 4bytes 1 byte 2 bytes 1 byte 2 bytes 2bytes 2 bytes

Header Module

address

Package identifier

Package length

Instruction code

Page number

number of templates to

Checksum

Trang 11

 Ghi chú:

1.4.8.Lệnh xóa toàn bộ vân tay:

o Dữ liệu gửi đi:

Header Module

address

Package identifier

Package length

Instruction code

Package length

Confirmation code

Checksum

 Confirmation code=11H: lỗi khi xóa vân tay trong thư viện;

1.5.Kết nối với module R305:

Chân số Tên Loại Chức năng

Có thể thiết lập tốc độ baud trong khoảng 9600 – 115200 bps.Định dạng khung truyền là 10 bit,bit khởi đầu là bit thấp,theo sau là 8 bit dữ liệu,cuối cùng là bit kết thúc

SVTH: Trang 11

Trang 12

2.Tổng quan arduino:

2.1.Giới thiệu arduino :

án đa lĩnh vực theo cách tiếp cận dễ dàng đối với người sử dụng Phần cứng bao gồm một bảng mạch điện tử phần cứng dạng nguồn mở được thiết từ bộ vi xử lý 8-bit Atmel AVR , hoặc 32-bit Atmel ARM Phần mềm cho phần cứng này bao gồm một trình biên dịch ngôn ngữ lập trình chuẩn và một bộ nạp khởi động, để có thể thực hiện các lệnh trên bộ vi điều khiển

tác Ivrea tại Ivrea, Italia Tại thời điểm của chương trình đó sinh viên thường sử dụng bo mạch "BASIC Stamp" có chi phí tới 100$, xem ra là đắt đôi với sinh viên Một trong những người sáng lập, Massimo Banzi, hiện đang là giảng viên tại Ivrea

viên người Colombia tên là Hernando Barragan Sau khi các nền tảng hệ thống điện dẫn đã được hoàn tất, các nhà nghiên cứu làm việc để làm cho hệ thống đó gọn nhẹ hơn, rẻ hơn, và

có sẵn cho cộng đồng nguồn mở Trường này cuối cùng đã đóng cửa, do đó, các nhà nghiên cứu, trong số họ là David Cuartielles, đã thúc đẩy ý tưởng phát triển về Arduino

2.2.Kit arduino nano:

2.2.1.Giới thiệu arduino nano:

Arduino Nano là phiên bản nhỏ gọn của Arduino Uno R3 sử dụng MCU ATmega328P-AU dán, vì cùng MCU nên mọi tính năng hay chương trình chạy trên Arduino Uno đều có thể sử dụng trên Arduino Nano, một ưu điểm của Arduino Nano là vì sử dụng phiên bản IC dán nên sẽ có thêm 2 chân Analog A6, A7 so với Arduino Uno

Trang 13

Hình a.1: Arduino nano

2.2.2Thông số kỹ thuật:

3.1.Giới thiệu phần mềm visual studio :

Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) từ Microsoft Nó được sử dụng

để phát triển chương trình máy tính cho Microsoft Windows, cũng như các trang web, các ứng dụngweb và các dịch vụ web Visual Studio sử dụng nền tảng phát triển phần mềm của Microsoft

SVTH: Trang 13

Trang 14

như Windows API, Windows Forms, Windows Presentation Fundation, Windows

store và Microsoft Silverlight Nó có thể sản xuất cả hai ngôn ngữ máy và mã số quản lý

Visual Studio bao gồm một trình soạn thảo mã hỗ trợ IntelliSense cũng như cải tiến mã nguồn Trình gỡ lỗi tích hợp hoạt động cả về trình gỡ lỗi mức độ mã nguồn và gỡ lỗi mức độ máy Công cụ tích hợp khác bao gồm một mẫu thiết kế các hình thức xây dựng giao diện ứng dụng, thiết kế web, thiết kế lớp và thiết kế giản đồ cơ sở dữ liệu Nó chấp nhận các plug-in nâng cao các chức năng ở hầu hết các cấp bao gồm thêm hỗ trợ cho các hệ thống quản lý phiên bản (như Subversion) và bổ sung thêm bộ công cụ mới như biên tập và thiết kế trực quan cho các miền ngôn ngữ cụ thể hoặc bộcông cụ dành cho các khía cạnh khác trong quy trình phát triển phần mềm

Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác nhau và cho phép trình biên tập mã và gỡ lỗi để

hỗ trợ (mức độ khác nhau) hầu như mọi ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C, C++ và C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C# (thông

qua Visual C#) và F# (như của Visual Studio 2010) Hỗ trợ cho các ngôn ngữ khác như J+

+/J#, Python và Ruby thông qua dịch vụ cài đặt riêng rẽ Nó cũng hỗ

trợ XML/XSLT, HTML/XHTML, JavaScript và CSS

Microsoft cung cấp phiên bản "Express" (đối với phiên bản Visual Studio 2013 trở về trước) và

"Community" (đối với bản Visual Studio 2015) là phiên bản miễn phí của Visual Studio

3.2 Giơí thiệu ngôn ngữ C#:

C# là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho

kế hoạch NET của họ Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng

theo ECMA là C#, chỉ bao gồm dấu số thường Microsoft phát triển C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản

phẩm Turbo Pascal, Delphi, J++, WFC

Mục tiêu của việc phát triển C#:

đích sử dụng, và là một ngôn ngữ lập trình hướng đối tượng

tra chặt chẽ kiểu dữ liệu, kiểm tra giới hạn mảng, phát hiện các trường hợp sử dụng các biến chưa có dữ liệu, và tự động thu gom rác Tính mạnh mẽ, sự bền bỉ, và năng suất của việc lập trình là rất quan trọng đối với ngôn ngữ này

Trang 15

• Ngôn ngữ sẽ được sử dụng để phát triển các thành phần của phần mềm theo hướng thích hợpcho việc triển khai trong các môi trường phân tán.

• Khả năng di chuyển (portability) là rất quan trọng, đặc biệt là đối với những lập trình viên đãquen với C và C++

và nhúng, từ các phần mềm quy mô lớn, đến các phần mềm chỉ có các chức năng đơn giản

ngữ này không cạnh tranh trực tiếp về hiệu năng và kích thước đối với ngôn

ngữ Choặc assembly

Đặc điểm ngôn ngữ C#:

C# là ngôn ngữ lập trình phản ánh trực tiếp nhất đến NET Framework mà tất cả các chương

trình.NET chạy, và nó phụ thuộc mạnh mẽ vào framework này Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception phản ánh rõ ràng những đặc trưng của NET runtime

So sánh với C và C++, ngôn ngữ này bị giới hạn và được nâng cao ở một vài đặc điểm nào đó, nhưng không bao gồm các giới hạn sau đây:

tham chiếu an toàn, và các phép tính đều được kiểm tra tràn bộ đệm Các con trỏ chỉ được sửdụng để gọi các loại kiểu giá trị; còn những đối tượng thuộc bộ gom rác (garbage-collector) thì chỉ được gọi bằng cách tham chiếu

• Chỉ có đơn kế thừa, nhưng có thể cài đặt nhiều interface trừu tượng (abstract interfaces) Chức năng này làm đơn giản hóa sự thực thi của thời gian thực thi

• Cú pháp khai báo mảng khác nhau("int[] a = new int[5]" thay vì "int a[5]")

KHỐI CHẤP HÀNH KHỐI CẢM BIẾN (Module R305)

KHỐI XỬ LÝ (Máy tính) KHỐI ĐIỀU KHIỂN (Vi điều khiển)

Trang 16

1.Chức năng hệ thống:

1.1.Lưu dấu vân tay:

Để thực hiện lưu dấu vân tay cần quét vân tay 2 lần và lưu vào bộ nhớ tạm sau đó so sánh 2 dấu vân tay,nếu 2 dấu vân tay trùng nhau thì tiến hành tổng hợp 2 dấu vân tay.Cuối cùng là lưu dấu vân tay vào bộ nhớ flash của module R305

 Lưu đồ thuật toán:

Trang 17

1.2.Tìm kiếm vân tay:

Để kiểm tra dấu vân tay,tiến hành quét vân tay và lưu vào bộ nhớ tạm,sau đó tìm kiếm dấu vân tay trong thư viện bộ nhớ Module R305.Nếu trùng khớp thì quá trình kiểm tra hoàn thành

 Lưu đồ thuật toán:

SVTH: Trang 17

Trang 18

1.3.Xóa dấu vân tay:

Có thể xóa từng dấu vân tay hoặc tất cả dấu vân tay trong bộ nhớ thư viện module R305.Để xóa từng dâu vân tay cần gửi một lệnh với ID cần xóa,với tất cả dấu vân tay chỉ cần gửi lệnh thì toàn bộ thư viện vân tay sẽ bị xóa

Trang 19

2.Chương trình điều khiển:

2.1.Chương trình trên VISUAL STUDIO:

OleDbConnection myConnection = new OleDbConnection();

public void Connect()

Trang 20

private bool _captureInProgress;

private bool find;

private bool notif;

SerialPort P = new SerialPort();

SerialPort Q = new SerialPort();

string InputData = String.Empty; // Khai báo string buff dùng cho hiển thị dữ liệu sau này.delegate void SetTextCallback(string text);

Trang 22

StringBuilder sb = new StringBuilder();

foreach (char c in input)

SetTextCallback d = new SetTextCallback(SetText);

this.Invoke(d, new object[] { text });

Trang 25

status2.Text = "Đã xóa ID" + cboID.Text;

String sql = "Delete from NhanVien where (ID = '" + cboID.Text + "')";

Trang 26

MessageBox.Show("không xóa được", "thông báo", MessageBoxButtons.OK,

string[] I_D = new string[dataGridView1.RowCount];

string[] TEN = new string[dataGridView1.RowCount];

string[] NSINH = new string[dataGridView1.RowCount];

string[] DCHI = new string[dataGridView1.RowCount];

string[] NLVIEC = new string[dataGridView1.RowCount];

for (int j = 0; j < dataGridView1.RowCount; j++)

Trang 27

private void loadData()

{

DataTable myDataTable = new DataTable();

myDataTable.Load(Program.Database.SelectSQL("SELECT * FROM NhanVien"));

string[] list = new string[NumberColumn] { "STT", "ID", "Ten", "NgaySinh", "BoPhan",

"DiaChi", "Thoigianvao", "Anh" };

string[] header_name = new string[NumberColumn] { "TT", "Số thẻ SV", "Họ và tên", "Ngày sinh", "Nơi làm việc", "Địa chỉ", "Thời gian vào", "ảnh" };

int[] width_col = new int[NumberColumn] { 40, 80, 120, 120, 150, 140, 150, 10 };

for (int i = 0; i < NumberColumn; i++)

private void btnchonanh_Click(object sender, EventArgs e)

SVTH: Trang 27

Ngày đăng: 07/10/2019, 20:43

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w