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

cửa AN NINH DÙNG cảm BIẾN vân TAY dùng microsoft visual studio (có code và sơ đồ mạch)

36 1,4K 21

Đ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 36
Dung lượng 1,61 MB

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

Nội dung

cửa AN NINH DÙNG cảm BIẾN vân TAY dùng microsoft visual studio (có code và sơ đồ mạch) cửa AN NINH DÙNG cảm BIẾN vân TAY dùng microsoft visual studio (có code và sơ đồ mạch) cửa AN NINH DÙNG cảm BIẾN vân TAY dùng microsoft visual studio (có code và sơ đồ mạch) cửa AN NINH DÙNG cảm BIẾN vân TAY dùng microsoft visual studio (có code và sơ đồ mạch)

Trang 1

CẢM BIẾN VÂN TAY

Trang 2

DANH MỤC CÁC HÌNH VẼ VIII DANH MỤC CÁC BẢNG BIỂU IX DANH MỤC CÁC TỪ VIẾT TẮT X

CHƯƠNG 1 TÌM HIỂU LINH KIỆN 1

1.1 CẢM BIẾN VÂN TAY R305 1

1.1.1 Giới thiệu: 1

1.1.2 Một vài thông số của cảm biến R305 2

1.1.3 Nguyên lý hoạt động 3

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

1.1.5 Giao thức truyền gói dữ liệu 4

1.2 PIC16F877A 4

1.2.1 Giới thiệu 4

1.2.2 Chức năng 6

1.2.3 Các cổng xuất nhập của PIC16F877A 7

CHƯƠNG 2 THIÊT KẾ MẠCH 8

2.1 SƠ ĐỒ KHỐI 8

2.2 MÔ PHỎNG TRÊN PROTEUS 9

2.3 LƯU ĐỒ GIẢI THUẬT 10

CHƯƠNG 3 THI CÔNG 11

3.1 GIAO TIẾP UART GIỮA PIC VÀ MÁY TÍNH 11

3.1.1 Giới thiệu 11

3.1.2 Các thông số cơ bản trong truyền nhận UART 12

3.2 PHẦN MỀN MICROSOFT VISUAL STUDIO 12

3.3 THIẾT KẾ PHẦN MỀM 14

3.4 NGUYÊN LÝ HOẠT ĐỘNG 15

3.5 THI CÔNG PHẦN CỨNG 16

Trang 3

3.5.2 Mạch thực tế 17

CHƯƠNG 4 KẾT LUẬN, ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN 19

4.1 KẾT LUẬN 19

4.2 ỨNG DỤNG 19

4.3 HƯỚNG PHÁT TRIỂN 19

TÀI LIỆU THAM KHẢO 20

PHỤ LỤC A 21

Trang 4

HÌNH 1-1: HÌNH ẢNH CẢM BIẾN VÂN TAY R305 1

HÌNH 1-2: KHUNG TRUYỀN ĐỊNH DẠNG 10BIT 3

HÌNH 1-3: ĐỊNH DẠNG GÓI DỮ LIỆU 4

HÌNH 1-3: SƠ ĐỒ CHÂN CỦA CHIP 40 CHÂN 5

HÌNH 1-4: CÁC CHỨC NĂNG CƠ BẢN 6

HÌNH 2-1: SƠ ĐỒ KHỐI CỦA MẠCH 8

HÌNH 2-2: HÌNH MÔ PHỎNG 9

HÌNH 3-1: GIAO TIẾP UART 11

HÌNH 3-2: GIAO DIỆN CHÍNH CỦA PHẦN MỀM 13

HÌNH 3-3: CỬA SỔ LÀM VIỆC 13

HÌNH 3-4: GIAO DIỆN SO SÁNH VÂN TAY 14

HÌNH 3-5: GIAO DIỆN ĐĂNG NHẬP 14

HÌNH 3-6: GIAO DIỆN ĐIỀU KHIỂN 15

HÌNH 3-7: LAYOUT MẠCH IN 16

HÌNH 3-8: SƠ ĐỒ MẠCH IN 17

HÌNH 3-9: MẠCH THỰC TẾ 17

HÌNH 3-10: MẠCH IN THỰC TẾ 18

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

Trang 5

CCP Capture / Compare/ PWM

Trang 6

ICSP In-Circuit Serial Programming

RISC Reduced Instruction Set Computer

UART Universal Asynchronous Receiver/Transmitte

Trang 7

CHƯƠNG 1 TÌM HIỂU LINH KIỆN

1.1 Cảm biến vân tay R305

Bảo mật thông tin

Tham gia kiểm soát truy cập, an toàn (tủ), máy POS, quầy đạn, các sản phẩm ô tôvân tay

Đặc tính sản phẩm:

Trang 8

Chức năng hoàn hảo, các mô-đun vân tay có thể hoàn thành việc thu thập dấu vântay, đăng ký dấu vân tay, vân tay tương phản và chức năng tìm kiếm dấu vân tay một cáchđộc lập.

Khả năng thích ứng mạnh và các thuật toán hiệu suất cao, nó có khả năng mạnh mẽ

để loại khác nhau, chẳng hạn như những ngón tay khô, ướt ngón tay, ngón tay và kết cấuánh sáng đều có tỷ lệ biết chữ cao và điều chỉnh tốt, biểu diễn chịu lỗi

Mạnh mẽ khả năng kháng tĩnh điện, đó là tốt áp dụng cho các khu vực nơi mà môitrường khô và dễ dàng tĩnh điện

Phát triển ứng dụng đơn giản, các nhà phát triển không cần phải có chuyên mônvân tay, họ có thể phù hợp với từ lệnh cung cấp, phát triển các sản phẩm ứng dụng vântay của mình

1.1.2 Một vài thông số của cảm biến R305

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

Loại cảm biến vân tay: Quang học

Cảm biến Cuộc sống: 100 triệu lần

Chỉ số tĩnh: 15KVBacklight: sáng màu xanh lá cây

Giao diện: USB1.1 / UART (mức logic logic TTL)

Tốc độ truyền thông RS232: 4800BPS ~ 115200BPS có thể thay đổi

Kích thước khuôn mẫu: 512 byte

Dung lượng lưu trữ: 250

Mức độ an ninh: 5 (1,2,3,4,5 (cao nhất))

Tỷ lệ chấp nhận sai (FAR): 0.0001%

Tỷ lệ từ chối sai (FRR): 0.1%

Nghị quyết 500 DPI

Trang 9

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

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

Kết hợp các dữ liệu để tạo ra mẫu vân tay: Quá trình này sảy ra sau khi đã có hình ảnhvân tay Đây là quá trình kết hợp 2 mẫu hình ảnh vân tay để tạo ra một mẫu Hệ thống sẽ

xử lí để lưu chữ vào thư viện vân tay của module

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

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

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

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

Trang 10

0x07 : Gói xác nhận

0x08 : Gói kết thúc dữ liệu

Package length(2 byte): chiều dài gói dữ liệu tính từ Package content đến ChecksumĐơn vị chiều dài là byte

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

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

1.2 PIC16F877A

1.2.1 Giới thiệu

Là loại vi điều khiển 8bit tầm trung của hãng microchip

Có kiến trúc Havard, sử dụng tập lệnh kiểu RISC với chỉ 35 lệnh cơ bản

Tất cả các lệnh được thực hiện trong một chu kì lệnh ngoại trừ các lệnh rẽ nhánh

Hình 1-3: Sơ đồ chân của chip 40 chân.

Trang 11

 Cấu trúc tổng quát:

8 K Flash ROM

368 Bytes RAM

256 Bytes EEPROM

5 ports (A, B, C, D, E) vào ra với tín hiệu điều khiển độc lập

2 bộ định thời 8 bits (Timer 0 và Timer 2)

Một bộ định thời 16 bits (Timer 1) có thể hoạt động trong chế độ tiết kiệm nănglượng (SLEEP MODE) với nguồn xung Clock ngoài

2 bô CCP

1 bộ biến đổi AD 10 bits, 8 ngõ vào

2 bộ so sánh tương tự (Compartor)

1 bộ định thời giám sát (WatchDog Timer)

Một cổng song song 8 bits với các tín hiệu điều khiển

Một cổng nối tiếp

15 nguồn ngắt

Có chế độ tiết kiệm năng lượng

Nạp chương trình bằng cổng nối tiếp ICSP

Được chế tạo bằng công nghệ CMOS

35 tập lệnh có độ dài 14 bits

Tần số hoạt động tối đa 20MHz

1.2.2 Chức năng

Trang 12

Hình 1-4: Các chức năng cơ bản.

1.2.3 Các cổng xuất nhập của PIC16F877A

Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng để tương tácvới thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quá trình tương tác đó,chức năng của vi điều khiển được thể hiện một cách rõ ràng

Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân ( I/O pin), tùy theo cách bốtrí và chức năng của vi điều khiển mà số lượng cổng xuất nhập thông thường, một số chânxuất nhập còn có thêm chức năng khác để thể hiện sự tác động của các đặc tính nêu trênđối với thế giới bên ngoài

Chức năng của từng chân xuất nhập trong mỗi cổng hoàn toàn có thể được xác lập vàđiều khiển được thông qua các thanh ghi SFR liên quan đến chân xuất nhập đó

Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB, PORTC,PORTD và PORTE

Trang 13

CHƯƠNG 2 THIÊT KẾ MẠCH

2.1 Sơ đồ khối

Trang 14

Hình 2-1: Sơ đồ khối của mạch.

 Trong đó:

Khối máy tính (laptop): điều khiển thiết bị dùng lệnh on/ off thiết bị, hiển thị và sosánh dấu vân tay

Khối vi xử lý (Pic16F877A): Xử lý lệnh từ máy tính để điều khiển thiết bị

Khối cảm biến vân tay: đọc dấu vân tay

Khối relay board: thực hiện lệnh on/ off từ máy tính bằng cách đóng ngắt công tắc.Các khối thiết bị: biểu thị lênh từ máy tinh bằng cách bật/ tắt

Khối nguồn: cung cấp nguồn cho thiết bị

 Ghi chú: có thể thay thế khối relay board, khối thiết bị, khối nguồn thành 1 đènLED để dễ dàng kiểm tra kết quả

Trang 15

2.2 Mô phỏng trên Proteus.

Hình 2-2: Hình mô phỏng.

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

Bắt đầuKhởi tạo hệ thống

Nhập dấu vân

So sánh vân tay

Trang 16

CHƯƠNG 3 THI CÔNG

3.1 Giao tiếp UART giữa Pic và máy tính

3.1.1 Giới thiệu

UART là viết tắt của Universal Asynchronous Receiver – Transmitter Thường làmột mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính vàcác thiết bị ngoại vi Rất nhiều vi điều khiển hiện nay đã được tích hợp UART, vì vấn đềtốc độ và độ điện dụng của UART không thể so sánh với các giao tiếp mới hiện nay nêncác dòng PC & Laptop đời mới không còn tích hợp cổng UART Như các bạn đã biết giaotiếp SPI và I2C có 1 dây truyền dữ liệu và 1 dây được sử dụng để truyền xung clock(SCL) để đồng bộ trong giao tiếp Với UART thì không có dây SCL, vấn đề được giải

Nhập username và pass

Điều khiển

Chọn cổng COM

Thiết bị 1, ,4 ON/OFFGiá trị =

Ngắt cổng COM

Kết thúc

Trang 17

quyết khi mà việc truyền UART được dùng giữa 2 vi xử lý với nhau, đồng nghĩa với việcmỗi vi xử lý có thể tự tạo ra xung clock cho chính nó xử dụng.

Để bắt đầu cho việc truyền dữ liệu bằng UART, một START bit được gửi đi, sau đó làcác bit dữ liệu và kết thúc quá trình truyền là STOP bit

Hình 3-1: Giao tiếp UART.

Như hình các bạn có thể thấy Khi ở trạng thái chờ mức điện thế ở mức 1 (high) Khibắt đầu truyền START bit sẻ chuyển từ 1 xuống 0 để báo hiệu cho bộ nhận là quá trìnhtruyền dữ liệu sắp xảy ra Sau START bit là đến các bit dữ liệu D0-D7 (Theo hình vẽ cácbit này có thể ở mức High or Low tùy theo dữ liệu) Sau khi truyền hết dữ liệu thì đến BitParity để bộ nhận kiểm tra tính đúng đắn của dữ liệu truyền (vấn đề này mình sẽ giải thích

rõ hơn trong tài liệu CRC trong thời gian tới) Cuối cùng là STOP bit là 1 báo cho thiết bịrằng các bit đã được gửi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằmđảm báo tính đúng đắn của dữ liệu

3.1.2 Các thông số cơ bản trong truyền nhận UART

Baund rate (tốc độ baund ): Khoảng thời gian dành cho 1 bit được truyền Phải đượccài đặt giống nhau ở gửi và nhận

Frame (khung truyền ): Khung truyền quy định về số bit trong mỗi lần truyền

Start bit : là bit đầu tiên được truyền trong 1 Frame Báo hiệu cho thiết bị nhận có mộtgói dữ liệu sắp đc truyền đến Bit bắt buộc

Data : dữ liệu cần truyền Bit có trọng số nhỏ nhất LSB được truyền trước sau đó đếnbit MSB

Parity bit : kiểm tra dữ liệu truyền có đúng không

Trang 18

Stop bit : là 1 hoặc các bit báo cho thiết bị rằng các bit đã được gửi xong Thiết bịnhận sẽ tiến hành kiểm tra khung truyền nhằm đảm bảo tính đúng đắn của dữ liệu Bit bắtbuộc.

3.2 Phần mền Microsoft Visual Studio

Là một môi trường phát triển tích hợp (IDE) từ Microsoft

Sử dụng để phát triển chương trình máy tính cho Microsoft Windows, cũng như cáctrang web, các ứng dụng web và các dịch vụ web

Sử dụng nền tảng phát triển phần mềm của Microsoft như Windows API, WindowsForms, Windows Presentation Foundation, Windows Store và Microsoft Silverlight

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

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,[4] C++ và C++/CLI (Visual C++), VB.NET (Visual Basic.NET), C#(Visual C#) và F# Hỗ trợ cho các ngôn ngữ khác như J++/J#, Python và Ruby thông quadịch vụ cài đặt riêng rẽ Ngoài ra cũng hỗ trợ XML/XSLT, HTML/XHTML, JavaScript

và CSS

Hình 3-2: Giao diện chính của phần mềm.

Trang 19

Hình 3-3: Cửa sổ làm việc.

Trang 20

3.3 Thiết kế phần mềm.

Giao diện điều khiển:

Hình 3-4: Giao diện so sánh vân tay.

Hình 3-5: Giao diện đăng nhập.

Trang 21

Hình 3-6: Giao diện điều khiển.

Ở Form điều khiển này ta có thể chọn cổng COM của phòng cần điều khiển sau

đó điều khiển các thiết bị theo ý muốn

Nếu muốn kết thúc ta nhấn nút “Thoát”

3.5 Thi công phần cứng

3.5.1 Sơ đồ mạch in

Để tạo mach in chúng ta có thê sử dụng nhiều phần mềm khác nhau Ở đâychúng ta sử dụng Proteus 8

Trang 22

Hình 3-7: Layout mạch in

Cuối cùng ta vào Output -> Print Layout -> Printer -> Name: Foxit Reader PDFPrinter -> OK, ta được mạch như sau:

Trang 23

Hình 3-8: Sơ đồ mạch in.

3.5.2 Mạch thực tế

Hình 3-9: Mạch thực tế.

Trang 24

Hình 3-10: Mạch in thực tế.

CHƯƠNG 4 KẾT LUẬN, ỨNG DỤNG VÀ HƯỚNG PHÁT TRIỂN

4.1 Kết luận

Trang 25

Mach hoạt động đúng theo yêu cầu:

Hiển thị được đươc dấu vân tay và so sánh được

Có thê điều khiển được thiết bị

Sử dụng được mật khẩu để đăng nhập

Điều khiển thiết bị có thời gian trễ

So sánh dấu vân tay khá chính xác

4.2 Ứng dụng

Mạch có thể được sử dụng ở nhiều nơi khác nhau như cửa nhà, cửa phòng, cửacác loại dùng để bảo hiểm

4.3 Hướng phát triển

Có thể thay thế sử dụng kết hợp mạng Internet để thông báo

Có thể thêm chức năng lưu thời gian biểu của người sử dụng

Kết hợp nhiều thiết bị vô tuyến để có thể điều khiển từ xa

TÀI LIỆU THAM KHẢO

Trang web:

[1] https://www.youtube.com

[2] https://docs.microsoft.com/en-us/windows/uwp/security

Trang 26

[3] http://www.mycircuits9.com/

[4] http://doan.edu.vn/

Trang 28

#region Windows Form Designer generated code

private void InitializeComponent()[ ]{

((System.ComponentModel.ISupportInitialize)(this.pic2)).BeginInit();

((System.ComponentModel.ISupportInitialize)(this.pic1)).BeginInit();

((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.statueP2)).BeginInit();

Trang 29

this.label2.TabIndex = 7;

this.label2.Text = "Vân tay 2";

this.label1.Location = new System.Drawing.Point(82, 33);

Trang 30

this.button1.Location = new System.Drawing.Point(235, 320);

this.button1.Click += new System.EventHandler(this.button1_Click);

this.button2.Location = new System.Drawing.Point(375, 320);

this.button2.Click += new System.EventHandler(this.button2_Click);

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(544, 376);

Trang 31

this.Text = "Đối sánh vân tay";

this.Load += new System.EventHandler(this.FingerCompare_Load);

((System.ComponentModel.ISupportInitialize)(this.pic2)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.pic1)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.statusBarPanel1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.statueP2)).EndInit();

this.ResumeLayout(false);}

#endregion

private void menuItem10_Click(object sender, System.EventArgs e)[ ]private void menuItem4_Click(object sender, System.EventArgs e)[ ]private void menuItem2_Click(object sender, System.EventArgs e)[ ]private void menuItem3_Click(object sender, System.EventArgs e)[ ]private void toolBar1_ButtonClick(object sender,

System.Windows.Forms.ToolBarButtonClickEventArgs e)[ ]

private void menuItem6_Click(object sender, System.EventArgs e)

{try{ int i,j;

if(!isFirst1){ int[,] input1 = new int[width1,height1];

for(i=0;i<width1;i++)for(j=0;j<height1;j++)input1[i,j] = image1Data[i,j];

image1.SetImage(input1,width1,height1,widthSquare);}

if(!isFirst2){ int[,] input2 = new int[width2,height2];

Trang 32

for(i=0;i<width2;i++)for(j=0;j<height2;j++)input2[i,j] = image2Data[i,j];

image2.SetImage(input2,width2,height2,widthSquare);}this.Cursor = Cursors.WaitCursor;

int deltaXStart = -image1.Width;

int deltaXFinish = image1.Width;

Trang 33

deltaX += deltaXUnit;}

int deltaYStart = -image1.Height;

int deltaYFinish = image1.Height;

i++;

deltaY += deltaYUnit;}

double[] scaleSet = {0.8,0.9,1.0,1.1,1.2};

minuResult = Functions.GetMinutiaeChanging_UseHoughTransform(minus1,minus2,angleSet,deltaXSet,deltaYSet,angleLimit*Math.PI/180,image1.Width/2,image1.Height/2);

int count = Functions.CountMinuMatching(minus1,minus2,minuResult,distanceLimit,angleLimit*Math.PI/180);

Trang 34

private void menuItem7_Click(object sender, System.EventArgs e)

{CompareInfo ciDialog = new CompareInfo(sResult);

ciDialog.ShowDialog();}

private void menuItem13_Click(object sender, System.EventArgs e)[ ]private void menuItem14_Click(object sender, System.EventArgs e){RegionSelectPadding regionDialog = new

RegionSelectPadding(left1,top1,right1,bottom1,left2,top2,right2,bottom2);regionDialog.ShowDialog();

Trang 35

private void menuItem16_Click(object sender, System.EventArgs e)

{CompareOption comOptionDialog = new

private void UpdateMaskGaborCollection()[ ]

private void ViewMinus()

{ Pen pen = new Pen(Color.Red,1);

Pen pen1 = new Pen(Color.Blue,2);

}pic2.Refresh();

g1.Dispose();}

private int[] BuildHoughInput(int start,int finish,int unit)

Trang 36

{ int count = Convert.ToInt32((finish - start)/unit) + 1;

int[] valueSet = new int[count];

int valueMember = start;

System.Windows.Forms.MouseEventArgs e)

{try{ statusBarPanel1.Text = " Vân tay 2:X:" + e.X.ToString() + " Y:" + e.Y.ToString() + " Hướng cục bộ:" +

Convert.ToString(image2.Direct[e.X,e.Y]*180/Math.PI);} catch{}} private void button1_Click(object sender, EventArgs e)

Ngày đăng: 21/01/2018, 20:24

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

TÀI LIỆU LIÊN QUAN

w