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

Đ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

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)

TÊN ĐỀ TÀI: CỬA AN NINH DÙNG CẢM BIẾN VÂN TAY MỤC LỤC 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 TÌM HIỂU LINH KIỆN .1 1.1 CẢM BIẾN VÂN TAY R305 1.1.1 Giới thiệu: 1.1.2 Một vài thông số cảm biến R305 1.1.3 Nguyên lý hoạt động 1.1.4 Giao tiếp với vi điều khiển thông qua UART 1.1.5 Giao thức truyền gói liệu .4 1.2 PIC16F877A 1.2.1 Giới thiệu 1.2.2 Chức 1.2.3 Các cổng xuất nhập PIC16F877A .7 CHƯƠNG THIÊT KẾ MẠCH 2.1 ĐỒ KHỐI 2.2 MÔ PHỎNG TRÊN PROTEUS .9 2.3 LƯU ĐỒ GIẢI THUẬT .10 CHƯƠNG THI CÔNG 11 3.1 GIAO TIẾP UART GIỮA PIC MÁY TÍNH .11 3.1.1 Giới thiệu 11 3.1.2 Các thông số 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 3.5.1 đồ mạch in 16 3.5.2 Mạch thực tế 17 CHƯƠNG KẾT LUẬN, ỨNG DỤNG 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 DANH MỤC CÁC HÌNH VẼ 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 HÌNH 1-3: ĐỒ CHÂN CỦA CHIP 40 CHÂN HÌNH 1-4: CÁC CHỨC NĂNG CƠ BẢN HÌNH 2-1: ĐỒ KHỐI CỦA MẠCH HÌNH 2-2: HÌNH MƠ PHỎNG 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: ĐỒ 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 DANH MỤC CÁC TỪ VIẾT TẮT CCP Capture / Compare/ PWM EPPROM Electrically Erasable Programmable Read-Only Memor ICSP In-Circuit Serial Programming ROM Read-Only Memory RAM Random Access Memory RISC Reduced Instruction Set Computer UART Universal Asynchronous Receiver/Transmitte Trang 1/30 CHƯƠNG TÌM HIỂU LINH KIỆN 1.1 Cảm biến vân tay R305 1.1.1 Giới thiệu: Module cấu tạo phần mềm phần cứng, chẳng hạn cảm biến dấu vân tay quang học, xử lý DSP tốc độ cao, vân tay hiệu suất cao thuật toán tương phản, vậy, có sưu tập dấu vân tay, đăng ký dấu vân tay, vân tay so sánh tính tìm kiếm Hình 1-1: Hình ảnh cảm biến vân tay R305 Ứng dụng: Bảo mật thơng tin Tham gia kiểm sốt truy cập, an tồn (tủ), máy POS, quầy đạn, sản phẩm ô tô vân tay Đặc tính sản phẩm: Cửa an ninh dùng cảm biến vân tay Trang 2/30 Chức hoàn hảo, mơ-đun vân tay hồn thành việc thu thập dấu vân tay, đăng ký dấu vân tay, vân tay tương phản chức tìm kiếm dấu vân tay cách độc lập Khả thích ứng mạnh thuật tốn hiệu suất cao, có khả mạnh mẽ để loại khác nhau, chẳng hạn ngón tay khơ, ướt ngón tay, ngón tay kết cấu ánh sáng có tỷ lệ biết chữ cao điều chỉnh tốt, biểu diễn chịu lỗi Mạnh mẽ khả kháng tĩnh điện, tốt áp dụng cho khu vực nơi mà môi trường khô dễ dàng tĩnh điện Phát triển ứng dụng đơn giản, nhà phát triển khơng cần phải có chun mơn vân tay, họ phù hợp với từ lệnh cung cấp, phát triển sản phẩm ứng dụng vân tay 1.1.2 Một vài thơng số 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 Giao diện: USB1.1 / UART (mức logic logic TTL) Tốc độ truyền thơng RS232: 4800BPS ~ 115200BPS thay đổi Kích thước: 55 * 32 * 21.5mm Hình ảnh Chụp bề mặt 15-18 (mm) Tốc độ xác minh: 0.3 giây Tốc độ quét: 0.5 giây Kích thước tệp ký tự: 256 byte Kích thước khn mẫu: 512 byte Dung lượng lưu trữ: 250 Mức độ an ninh: (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ị 500 DPI Cửa an ninh dùng cảm biến vân tay Trang 3/30 Điện áp: 3,6-6,0 VDC Dòng hoạt động: Tiêu biểu 90 mA, Peak 150mA Cách so khớp: 1: N Môi trường hoạt động Nhiệt độ: -20 đến 45 ° C 1.1.3 Nguyên lý hoạt động Nguyên lí hoạt động module cảm biến vân tay gồm phần Lấy liệu hình ảnh vân tay: Khi lấy liệu ,modul lấy liệu hình ảnh vân tay lần thông qua cảm biến quang học xử lí hình ảnh để tạo mẫu Kết hợp liệu để tạo mẫu vân tay: Quá trình sảy sau có hình ảnh vân tay Đây q trình kết hợp mẫu hình ảnh vân tay để tạo mẫu Hệ thống xử lí để lưu chữ vào thư viện vân tay 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 57600 cài đặt tốc độ 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 liệu Hình 1-3: Định dạng gói liệu Header (2byte): byte truyền gói liệu Được mặc định giá trị 0xEF01 Adder (4byte): byte địa module Giá trị mặc định ban đầu 0xFFFFFFFF Package identifier(1 byte) : Định dạng loại gói liệu 0x01 : Gói lệnh 0x02 : Gói liệu Cửa an ninh dùng cảm biến vân tay Trang 4/30 0x07 : Gói xác nhận 0x08 : Gói kết thúc liệu Package length(2 byte): chiều dài gói liệu tính từ Package content đến Checksum Đơn vị chiều dài byte Package content : Dữ liệu Có thể lệnh,dữ liệu,xác nhận Checksum(2 byte) : Là tổng số học Package identifier ,Package length ,Package conten 1.2 PIC16F877A 1.2.1 Giới thiệu Là loại vi điều khiển 8bit tầm trung hãng microchip Có kiến trúc Havard, sử dụng tập lệnh kiểu RISC với 35 lệnh Tất lệnh thực chu kì lệnh ngoại trừ lệnh rẽ nhánh Hình 1-3: đồ chân chip 40 chân Cửa an ninh dùng cảm biến vân tay Trang 16/30 Hình 3-7: Layout mạch in Cuối ta vào Output -> Print Layout -> Printer -> Name: Foxit Reader PDF Printer -> OK, ta mạch sau: Cửa an ninh dùng cảm biến vân tay Trang 17/30 Hình 3-8: đồ mạch in 3.5.2 Mạch thực tế Hình 3-9: Mạch thực tế Cửa an ninh dùng cảm biến vân tay Trang 18/30 Hình 3-10: Mạch in thực tế CHƯƠNG KẾT LUẬN, ỨNG DỤNG HƯỚNG PHÁT TRIỂN 4.1 Kết luận Cửa an ninh dùng cảm biến vân tay Trang 19/30 Mach hoạt động theo yêu cầu: Hiển thị đươc dấu vân tay so sánh Có thê điều khiển thiết bị Sử dụng mật để đăng nhập Điều khiển thiết bị có thời gian trễ So sánh dấu vân tay xác 4.2 Ứng dụng Mạch sử dụng nhiều nơi khác cửa nhà, cửa phòng, cửa loại dùng để bảo hiểm 4.3 Hướng phát triển Có thể thay sử dụng kết hợp mạng Internet để thơng báo Có thể thêm chức lưu thời gian biểu người sử dụng Kết hợp nhiều thiết bị vơ tuyến để đ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 Cửa an ninh dùng cảm biến vân tay Trang 20/30 [3] http://www.mycircuits9.com/ [4] http://doan.edu.vn/ Cửa an ninh dùng cảm biến vân tay Trang 21/30 PHỤ LỤC A Code nạp cho Pic: #include #fuses HS,NOWDT,NOPROTECT,BROWNOUT,PUT,NOLVP #use delay(clock=20000000) #use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) void main() { char c; Set_tris_D(0x00); Output_D(0xFF); while(1) { c = getc(); if(c=='0') { Output_D(0b11111110);} if(c=='1') { Output_D(0b11111111);} if(c=='2') { Output_D(0b11111101);} if(c=='3') { Output_D(0b11111111);} if(c=='4') { Output_D(0b11111011);} if(c=='5') { Output_D(0b11111111);} if(c=='6') { Output_D(0b11110111);} if(c=='7') {Output_D(0b11111111);}}} Code Form so sánh vân tay: using [ ] namespace FingerprintRegnition { public class FingerCompare : System.Windows.Forms.Form { [Window controls] [Options info] private [ ] public static int widthSquare = 4; Cửa an ninh dùng cảm biến vân tay Trang 22/30 private [ ] public FingerCompare() { InitializeComponent(); UpdateMaskGaborCollection(); menuItem6.Enabled = false; menuItem7.Enabled = false; menuItem8.Enabled = false; btCompare.Enabled = false; btViewCpDetail.Enabled = false; btViewMinu.Enabled = false; button1.Enabled = false;} [STAThread] static void Main() { Application.Run(new FingerCompare())} protected override void Dispose( bool disposing ) { if( disposing ) { if(components != null) { components.Dispose();}} base.Dispose( disposing );} #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(); this.SuspendLayout(); this.label2.Location = new System.Drawing.Point(372, 33); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(128, 23); Cửa an ninh dùng cảm biến vân tay Trang 23/30 this.label2.TabIndex = 7; this.label2.Text = "Vân tay 2"; this.label1.Location = new System.Drawing.Point(82, 33); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(128, 23); this.label1.TabIndex = 6; this.label1.Text = "Vân tay 1"; this.pic2.BackColor = System.Drawing.SystemColors.ActiveCaptionText; this.pic2.Location = new System.Drawing.Point(288, 59); this.pic2.Name = "pic2"; this.pic2.Size = new System.Drawing.Size(256, 255); this.pic2.TabIndex = 5; this.pic2.TabStop = false; this.pic2.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pic2_MouseMove); this.pic1.BackColor = System.Drawing.SystemColors.ActiveCaptionText; this.pic1.Location = new System.Drawing.Point(12, 59); this.pic1.Name = "pic1"; this.pic1.Size = new System.Drawing.Size(256, 255); this.pic1.TabIndex = 4; this.pic1.TabStop = false; this.pic1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.pic1_MouseMove); this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[][ ] this.toolBar1.ButtonSize = new System.Drawing.Size(50, 20); this.toolBar1.DropDownArrows = true; this.toolBar1.ImageList = this.imageList1; this.toolBar1.Location = new System.Drawing.Point(0, 0); Cửa an ninh dùng cảm biến vân tay Trang 24/30 this.toolBar1.Name = "toolBar1"; this.toolBar1.ShowToolTips = true; this.toolBar1.Size = new System.Drawing.Size(544, 30); this.toolBar1.TabIndex = 9; this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_Butto nClick);[ ] this.button1.Location = new System.Drawing.Point(235, 320); this.button1.Name = "button1"; this.button1.Size = new System.Drawing.Size(88, 34); this.button1.TabIndex = 10; this.button1.Text = "Login"; this.button1.UseVisualStyleBackColor = true; this.button1.Click += new System.EventHandler(this.button1_Click); this.button2.Location = new System.Drawing.Point(375, 320); this.button2.Name = "button2"; this.button2.Size = new System.Drawing.Size(99, 34); this.button2.TabIndex = 11; this.button2.Text = "Lấy dấu vân tay"; this.button2.UseVisualStyleBackColor = true; 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); this.Controls.Add(this.button2); this.Controls.Add(this.button1); this.Controls.Add(this.toolBar1); this.Controls.Add(this.statusBar1); this.Controls.Add(this.label2); this.Controls.Add(this.label1); Cửa an ninh dùng cảm biến vân tay Trang 25/30 this.Controls.Add(this.pic2); this.Controls.Add(this.pic1); this.MaximumSize = new System.Drawing.Size(560, 436); this.Menu = this.mainMenu1; this.Name = "FingerCompare"; 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 OK, ta mạch sau: Cửa an ninh dùng cảm biến vân tay Trang 17/30 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ế Cửa an ninh dùng cảm biến vân tay Trang 18/30 Hình 3-10:... JavaScript CSS Hình 3-2: Giao diện phần mềm Cửa an ninh dùng cảm biến vân tay Trang 13/30 Hình 3-3: Cửa sổ làm việc Cửa an ninh dùng cảm biến vân tay Trang 14/30 3.3 Thiết kế phần mềm Giao diện

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

Từ khóa liên quan

Mục lục

  • DANH MỤC CÁC HÌNH VẼ

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

  • DANH MỤC CÁC TỪ VIẾT TẮT

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

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

      • 1.1.1 Giới thiệu:

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

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

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

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

      • 1.2 PIC16F877A.

        • 1.2.1 Giới thiệu.

        • 1.2.2 Chức năng.

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

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

          • 2.1 Sơ đồ khối.

          • 2.2 Mô phỏng trên Proteus.

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

          • 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.

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

              • 3.2 Phần mền Microsoft Visual Studio.

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

              • 3.4 Nguyên lý hoạt động.

              • 3.5 Thi công phần cứng.

                • 3.5.1 Sơ đồ mạch in.

Tài liệu cùng người dùng

Tài liệu liên quan