Tải bản đầy đủ - 0 (trang)
Chức năng hệ thống:

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

Tải bản đầy đủ - 0trang

Đồ án mơn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



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ì q trình kiểm tra hồn thành.

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

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 17



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



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ì tồn bộ

thư viện vân tay sẽ bị xóa.

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 18



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



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

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

 Lớp ConnectDB:

using System;

using System.Collections.Generic;

using System.Data;

using System.Data.OleDb;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace vantay1

{

class ConnectDB

{

OleDbConnection myConnection = new OleDbConnection();

public void Connect()

{

try

{

myConnection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;

Data Source=D:\Vantay\bin\Debug\CSDL.accdb; Persist Security Info=False;";

myConnection.Open();

}

catch { }

}

public OleDbDataReader SelectSQL(String sql)

{

OleDbCommand cmd = myConnection.CreateCommand();

cmd.CommandText = sql;

OleDbDataReader reader = cmd.ExecuteReader();

cmd.Dispose();

return reader;

}

public int UpdateSQL(String sql)

{

OleDbCommand cmd = myConnection.CreateCommand();

cmd.CommandText = sql;

int result = cmd.ExecuteNonQuery();

cmd.Dispose();

return result;

}

public void Close()

{

try

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 19



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



{

if (myConnection != null && myConnection.State == ConnectionState.Open)

{

myConnection.Close();

}

}

catch { }

}

}

}

 Lớp ConnectDB:

using Emgu.CV;

using Emgu.CV.Structure;

using System;

using System.Timers;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Data.OleDb;

using System.Drawing;

using System.Drawing.Imaging;

using System.Linq;

using System.Text;

using System.Threading;

using System.Windows.Forms;

using System.IO.Ports;

using System.IO;

using System.Drawing.Drawing2D;

using System.Drawing.Text;

namespace vantay1

{

public partial class Form1 : Form

{

Capture _capture;

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);

public Form1()

{

InitializeComponent();

string[] ports = SerialPort.GetPortNames();

try

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 20



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



{

P.PortName = ports[0];

P.ReadTimeout = 1000;

P.BaudRate = 57600;

P.DataBits = 8;

P.Parity = Parity.None;

P.StopBits = StopBits.One;

P.Open();

P.DataReceived += new SerialDataReceivedEventHandler(DataReceive);

}

catch (Exception ex)

{

MessageBox.Show("Lỗi kết nối vân tay", "thông báo", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

try

{

Q.PortName = ports[1];

Q.ReadTimeout = 1000;

Q.BaudRate = 9600;

Q.DataBits = 8;

Q.Parity = Parity.None;

Q.StopBits = StopBits.One;

Q.Open();

}

catch(Exception ex)

{

MessageBox.Show("Lỗi kết nối arduino", "thông báo", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

status2.ForeColor = Color.Red;

status.ForeColor = Color.Red;

if(P.IsOpen||Q.IsOpen)

{

status.Text = " Đã kết nối với ";

}

if (P.IsOpen)

{

status.Text = status.Text + ports[0];

}

if (Q.IsOpen)

{

status.Text = status.Text +" "+ ports[1];

}

}

public byte stringtobyte(string str)

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 21



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



{

int c = int.Parse(hextoint(str));

byte byte1 = (byte)c;

return byte1;

}

public string sinttohex(string a)

{

Int16 b = Convert.ToInt16(int.Parse(a));

string hex = b.ToString("X4");

return hex;

}

public string inttohex(int a)

{

Int16 b = Convert.ToInt16(a);

string hex = b.ToString("X4");

return hex;

}

public string ToHex(string input)

{

StringBuilder sb = new StringBuilder();

foreach (char c in input)

{ sb.AppendFormat("{0:X2} ", (int)c); }

return sb.ToString().Trim();

}

private void DataReceive(object obj, SerialDataReceivedEventArgs e)

{

InputData = P.ReadExisting();

InputData = ToHex(InputData);

if (

InputData != String.Empty

)

{

SetText(string.Concat(InputData, "\r\n"));

}

}

private void SetText(string text)

{

if (this.tbdulieu.InvokeRequired)

{

SetTextCallback d = new SetTextCallback(SetText);

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

}

else this.tbdulieu.Text += text;

}

private void btnLuu_Click(object sender, EventArgs e)

{

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 22



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



int i=0,a,b;

if (Int32.TryParse(cboID.Text,out a)==false)

{

MessageBox.Show("Sai định dạng ID", "Thử lại", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

if (Int32.TryParse(cboNgaySinh.Text.Replace("/", ""), out b) == false && cboNgaySinh.Text!

="")

{

MessageBox.Show("Sai định dạng ngày sinh", "Thử lại", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

else

{

if (P.IsOpen)

{

btnLuu.Enabled = false;

for (i = 0; i < dataGridView1.RowCount; i++)

{

if (dataGridView1.Rows[i].Cells["ID"].FormattedValue.ToString() == cboID.Text)

{

btnLuu.Enabled = true;

MessageBox.Show("Trùng ID", "Thông Báo", MessageBoxButtons.OK,

MessageBoxIcon.Error);

i = i + 1;

break;

}

}

if (dataGridView1.Rows[i - 1].Cells["ID"].FormattedValue.ToString() != cboID.Text)

{

if (find)

{

btntimkiem.Text = "Tìm kiếm";

find = !find;

}

timer1.Enabled = false;

timer3.Enabled = false;

timer2.Enabled = true;

}

}

else

{

MessageBox.Show("COM chưa mở.", "Thông báo", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

}

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 23



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



}

private void btnThoat_Click(object sender, EventArgs e)

{

DialogResult dlr = MessageBox.Show("Bạn muốn xóa tất cả", "thơng báo",

MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

if (dlr == DialogResult.Yes)

{

empty();

Thread.Sleep(200);

if (InputData.Substring(InputData.Length - 8, 2) == "00")

{

for (int i = dataGridView1.RowCount-1; i >=0; i=i-1)

{

string a = dataGridView1.Rows[i].Cells["ID"].FormattedValue.ToString();

String sql = "Delete from NhanVien where (ID = '" + a + "')";

Program.Database.UpdateSQL(sql);

loadData();

}

status2.Text = "Tất cả dữ liệu đã được xóa";

}

else

{

MessageBox.Show("q trình xóa thất bại", "thơng báo");

}

}

}

private void btnCapNhat_Click(object sender, EventArgs e)

{

if (cboTen.Text != "")

{

String sql = "update NhanVien Set Ten = '" + cboTen.Text + "' where (ID = '" + cboID.Text +

"')";

Program.Database.UpdateSQL(sql);

loadData();

}

if (cboNgaySinh.Text != "")

{

String sql1 = "update NhanVien Set NgaySinh = '" + cboNgaySinh.Text + "' where (ID = '" +

cboID.Text + "')";

Program.Database.UpdateSQL(sql1);

loadData();

}

if (cboBoPhan.Text != "")

{

String sql2 = "update NhanVien Set BoPhan = '" + cboBoPhan.Text + "' where (ID = '" +

cboID.Text + "')";

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 24



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



Program.Database.UpdateSQL(sql2);

loadData();

}

if (cboDiaChi.Text != "")

{

String sql3 = "update NhanVien Set DiaChi = '" + cboDiaChi.Text + "' where (ID = '" +

cboID.Text + "')";

Program.Database.UpdateSQL(sql3);

loadData();

}

if (pbchonanh.Image!=null)

{

MemoryStream str = new MemoryStream();

pbchonanh.Image.Save(str, ImageFormat.Jpeg);

byte[] pic1 = str.ToArray();

if (Convert.ToBase64String(pic1).Length < 500000)

{

String sql4 = "update NhanVien Set Anh = '" + Convert.ToBase64String(pic1) + "' where (ID

= '" + cboID.Text + "')";

Program.Database.UpdateSQL(sql4);

loadData();

}

else { MessageBox.Show("Kích thước ảnh q lớn", "thơng báo", MessageBoxButtons.OK,

MessageBoxIcon.Error); }

}

}

private void btnXoa_Click(object sender, EventArgs e)

{

if (cboID.Text != "")

{

DialogResult dlr1 = MessageBox.Show("Bạn muốn xóa ID " + cboID.Text, "Thơng báo",

MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

if (dlr1 == DialogResult.Yes)

{

deletechar(Convert.ToByte(cboID.Text));

Thread.Sleep(200);

if (InputData.Substring(InputData.Length - 8, 2) == "00")

{

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

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

Program.Database.UpdateSQL(sql);

loadData();

}

else

{



SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 25



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



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

MessageBoxIcon.Error);

}

}

}

else

{

MessageBox.Show("chưa nhập ID", "thông báo", MessageBoxButtons.OK,

MessageBoxIcon.Error);

}

}

private void Form1_Load(object sender, EventArgs e)

{

try

{

P.Encoding = Encoding.GetEncoding(28591);

Q.Encoding = Encoding.GetEncoding(28591);

notifyIcon2.BalloonTipIcon = ToolTipIcon.Info;

initView();

loadData();

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++)

{

I_D[j] = dataGridView1.Rows[j].Cells["ID"].FormattedValue.ToString();

TEN[j] = dataGridView1.Rows[j].Cells["Ten"].FormattedValue.ToString();

NSINH[j] = dataGridView1.Rows[j].Cells["NgaySinh"].FormattedValue.ToString();

DCHI[j] = dataGridView1.Rows[j].Cells["DiaChi"].FormattedValue.ToString();

NLVIEC[j] = dataGridView1.Rows[j].Cells["BoPhan"].FormattedValue.ToString();

}

cboTen.Items.AddRange(TEN);

cboID.Items.AddRange(I_D);

cboNgaySinh.Items.AddRange(NSINH);

cboDiaChi.Items.AddRange(DCHI);

cboBoPhan.Items.AddRange(NLVIEC);

}

catch (Exception ex)

{

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

MessageBoxIcon.Error);

Close();

}

}

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 26



Đồ án môn học Vi Điều Khiển



GVHD :TS.Đặng Phước Vinh



private void loadData()

{

DataTable myDataTable = new DataTable();

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

dataGridView1.DataSource = myDataTable;

}

private void initView()

{

dataGridView1.AutoGenerateColumns = false;

const int NumberColumn = 8;

dataGridView1.ColumnCount = NumberColumn;

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++)

{

dataGridView1.Columns[i].Name = list[i];

dataGridView1.Columns[i].DataPropertyName = list[i];

dataGridView1.Columns[i].HeaderText = header_name[i];

dataGridView1.Columns[i].Width = width_col[i];

dataGridView1.Columns[i].ValueType = typeof(String);

dataGridView1.Columns[i].Visible = true;

}

}

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs

e)

{

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

{

dataGridView1.Rows[i].Cells[0].Value = Convert.ToString(i + 1);

}

}

private void dataGridView1_DoubleClick(object sender, EventArgs e)

{

int row = dataGridView1.CurrentCell.RowIndex;

cboID.Text = dataGridView1.Rows[row].Cells["ID"].FormattedValue.ToString();

cboNgaySinh.Text =

dataGridView1.Rows[row].Cells["NgaySinh"].FormattedValue.ToString();

cboTen.Text = dataGridView1.Rows[row].Cells["Ten"].FormattedValue.ToString();

cboBoPhan.Text = dataGridView1.Rows[row].Cells["BoPhan"].FormattedValue.ToString();

cboDiaChi.Text = dataGridView1.Rows[row].Cells["DiaChi"].FormattedValue.ToString();

}

private void btnchonanh_Click(object sender, EventArgs e)

SVTH: Lê Tấn Vinh_Nguyễn Viết Long – Lớp 15CDT1



Trang 27



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

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

Tải bản đầy đủ ngay(0 tr)

×