Đây là đồ án của mình khi tốt nghiệp cho ngành tự động hóa điều khiển.Đồ án về bãi đỗ xe tự động sử dụng RFID để quản lý xe thông qua màn hình giám sát sử dụng C và mysql để lưu dữ liệu.Đồ án sử dụng chip Pic16f877aPhần phụ lục có đầy đủ code liên quan
MỤC LỤC DANH MỤC BẢNG BIỂU iv DANH MỤC HÌNH ẢNH iv LỜI MỞ ĐẦU CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG 1.1 Tình trạng bãi đỗ xe thực tế 1.2 Bãi đỗ xe dạng xếp hình 1.3 Bãi đỗ xe xoay vòng đứng 1.4 Bãi đỗ xe xoay vòng ngang .7 1.5 Hệ thống đỗ xe kiểu thang máy .8 1.6 Hệ thống đỗ xe dạng tháp 1.7 Hệ thống đỗ xe kiểu thang nâng di chuyển 11 1.8 Hệ thống đỗ xe kiểu tầng nâng di chuyển 12 1.9 Hệ thống đỗ xe kiểu xoay vòng trục đứng 13 1.10 Phân tích ưu, nhược điểm hệ thống bãi đỗ xe tự động .14 1.10.1 Ưu điểm hệ thống đỗ xe tự động 14 1.10.2 Nhược điểm bãi đỗ xe tự động 15 1.11 Khảo sát bãi đỗ xe xoay vòng đứng 16 1.11.1 Mơ hình bãi đỗ xe xoay vòng đứng 16 1.11.2 Những ưu điểm hệ thống đỗ xe quay vòng đứng 16 1.11.3 Nhược điểm hệ thống bãi đỗ xe xoay vòng đứng 17 1.11.4 Nguyên lý hoạt động 17 1.11.5 Lựa chọn phương án thiết kế cho mơ hình đồ án 18 1.12 Kết luận chương I 22 CHƯƠNG II: PHÂN TÍCH LỰA CHỌN THIẾT BỊ CHO HỆ THỐNG 23 2.1 Quy trình hoạt động bãi đỗ .23 2.2 Lựa chọn thiết bị 26 2.2.1 Vi điều khiển: PIC16F877A 26 a Phương thức truyền thông UART PIC16F877A 30 b Phương thức truyền thông SPI PIC16F877A 36 2.2.2 Công nghệ RFID module RFID RC522 40 2.2.3 LCD 16x2 .45 2.2.4 Module relay kênh 5V10A RL2-0510 48 2.2.5 USB to COM PL2303 49 2.2.6 Cảm biến quang E18-D80NK 80CM NPN 5V 51 2.2.7 Động giảm tốc 24VDC 52 2.2.8 Đèn còi báo 53 2.2.9 Nút nhấn 53 2.3 Các công cụ phần mềm sử dụng 54 2.3.1 Phần mềm MPLAB – XC8 .54 2.3.2 Giới thiệu ngôn ngữ C# .61 2.3.3 Cơ sở liệu SQL Server .62 2.4 Kết luận chương II 65 CHƯƠNG III: THIẾT KẾ MƠ HÌNH CHO HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG 67 3.1 Thuật toán điều khiển 67 3.2 Thiết kế thi cơng mơ hình 70 3.3 Thiết kế giao diện quản lý, giám sát .83 3.3.1 Giao diện đăng nhập .83 3.3.2 Giao diện giám sát bãi đỗ .83 3.3.3 Giao diện quản lý thông tin cá nhân .84 3.3.4 Giao diện quản lý nhân viên 85 3.3.5 Giao diện quản lý thẻ xe 86 3.3.6 Giao diện quản lý lịch sử vào .87 3.4 Kết luận chương III .88 CHƯƠNG IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .89 4.1 Kết đạt 89 4.2 Kết luận 89 4.3 Những hạn chế đề tài 89 TÀI LIỆU THAM KHẢO 91 PHỤ LỤC .92 CODE C CHO PHẦN ĐIỀU KHIỂN HỆ THỐNG 92 CODE SQL KHỞI TẠO SERVER 113 CODE C# CHO GIAO DIỆN QUẢN LÝ, GIÁM SÁT 116 DANH MỤC BẢNG BIỂU Bảng 2.1 Các loại thẻ tag phân loại theo tần số 43 Bảng 2.2 Bảng mô tả chân LCD 47 DANH MỤC HÌNH ẢN Hình 1.1 Tình trạng dừng đỗ xe vỉa hè lịng đường Hình 1.2 Bãi đỗ xe thực tế Hình 1.3 Hệ thống bãi đỗ xe dạng xếp hình Hình 1.4 Mơ hình hệ thống đỗ xe tự động dạng xếp hình Hình 1.5 Hệ thống bãi đỗ xe xoay vòng đứng .7 Hình 1.6 Hệ thống bãi đỗ xe xoay vịng ngang Hình 1.7 Mơ hình hệ thống đỗ xe tự động kiểu thang máy Hình 1.8 Hệ thống bãi đỗ xe dạng tháp .10 Hình 1.9 Đỗ xe tự động hệ thống thang nâng di chuyển 11 Hình 1.10 Đỗ xe tự động hệ thống tầng nâng di chuyển 12 Hình 1.11 Hệ thống đỗ xe tự động - dạng xoay vòng trục đứng 13 Hình 1.12 Cấu trúc bãi đỗ xe thực tế 18 Hình 1.13 Tồn cảnh bãi đỗ xe ô tô 32 Nguyễn Công Trứ 19 Hình 1.14 Cửa vào dành cho loại xe chỗ ngồi ( SUV) .19 Hình 1.15 Cửa cịn lại dành cho xe tơ chỗ ngồi (Sedan) .20 Hình 1.16 Bảng điều khiển bên cạnh cửa xe vào 20 Hình 1.17 Hệ thống rèm che mưa nắng xung quanh bãi đỗ xe 21 Hình 1.18 Bánh khí làm nhiệm vụ cuộn, đưa ô tô lên tầng cao 21 Hình 1.19 Động hệ thống .22 Hình 2.1 Lưu đồ thuật toán điều khiển chung hệ thống 25 Hình 2.2 Sơ đồ khối hệ thống 26 Hình 2.3 Sơ đồ chân PIC16F877A 28 Hình 2.4 Sơ đồ khối làm việc PIC 28 Hình 2.5 Sơ đồ thiết bị ngoại vi PIC .29 Hình 2.6 Sơ đồ khối truyền liệu 30 Hình 2.7 Sơ đồ khối nhận liệu 33 Hình 2.8 Sơ đồ kết nối chuẩn giao tiếp SPI 38 Hình 2.9 Giản đồ xung SPI chế độ Master mode 39 Hình 2.10 Giản đồ xung chuẩn giao tiếp SPI (Slave mode) 40 Hình 2.11 Cấu tạo thẻ RFID 42 Hình 2.12 Nguyên lý hoạt động RFID 43 Hình 2.13 Module RFID – RC522 .44 Hình 2.14 Thẻ RFID 13.56Mhz 45 Hình 2.15 Sơ đồ chân LCD 46 Hình 2.16 Hình ảnh thực tế LCD 16x2 .46 Hình 2.17 Module Relay Kênh 5V10A RL2-0510 48 Hình 2.18 USB To COM PL2303 50 Hình 2.19 Nguyên lý hoạt động cảm biến 51 Hình 2.20 Động giảm tốc 24VDC 53 Hình 2.21 Đèn kết hợp cịi báo 53 Hình 2.22 Nút nhấn đề .54 Hình 2.23 Phần mềm MPLAB X IDE .54 Hình 2.24 Cửa sổ hiển thị việc bắt đầu cài đặt 56 Hình 2.25 Cửa sổ điều khoản thỏa thuận 56 Hình 2.26 Cửa sổ chọn thư mục cài đặt .57 Hình 2.27 Cửa sổ chọn phần mềm cài đặt tích hợp 57 Hình 2.28 Cửa sổ hiển thị trình cài đặt sẵn sàng 58 Hình 2.29 Cửa sổ hiển thị trình cài đặt .58 Hình 2.30 Cửa sổ hiển thị cấp phép cài đặt thiết bị USB 59 Hình 2.31 Cửa sổ thơng báo việc cài đặt hồn thành 59 Hình 2.32 Ngơn ngữ C# .61 Hình 2.33 Phần mềm SQL Server 63 Hình 3.1 Thuật tốn điều khiển chương trình 67 Hình 3.2 Lưu đồ thuật tốn chi tiết hệ thống phần 69 Hình 3.3 Lưu đồ thuật toán chi tiết hệ thống phần 70 Hình 3.4 Sơ đồ nguyên lý khối nguồn 5V 3.3V 71 Hình 3.5 Mạch khối xử lý trung tâm 72 Hình 3.6 Mạch nguyên lý khối tín hiệu vào liệu vào(RFID) 73 Hình 3.7 Mạch nguyên lý phần chuyển chế độ điều khiển phần điều khiển tay .73 Hình 3.8 Mạch nguyên lý điều khiển động 74 Hình 3.9 Mạch nguyên lý khối điều khiển đèn báo, còi báo 74 Hình 3.10 Khối hiển thị LCD 16x2 75 Hình 3.11 Mạch xử lý trung tâm 76 Hình 3.12 Module relay điều khiển động .77 Hình 3.13 Mơ kết cấu mơ hình .77 Hình 3.14 Thiết kế tổng thể mơ hình nhìn từ xuống 78 Hình 3.15 Hình ảnh mơ hình nhìn từ mặt bên trái .79 Hình 3.16 Hệ thống nhơng xích truyền động chứa xe 80 Hình 3.17 Mặt trước phía mơ hình 81 Hình 3.18 Mặt trước phịng điều khiển 82 Hình 3.19 Thẻ gửi xe hệ thống 82 Hình 3.20 Màn hình đăng nhập 83 Hình 3.21 Màn hình quản lý & giám sát 84 Hình 3.22 Màn hình quản lý tài khoản cá nhân 85 Hình 3.23 Màn hình quản lý nhân viên 86 Hình 3.24 Màn hình quản lý thẻ xe 87 Hình 3.25 Màn hình quản lý lịch sử xe vào bãi quản lý phí .88 LỜI MỞ ĐẦU Kinh tế ngày lớn mạnh, xã hội ngày phát triển kèm theo nhu cầu nâng cao chất lượng đời sống ngày cao Phương tiện lại ngày nhiều, xe ô tô nước phát triển, diện tích xây dựng bãi đỗ xe lại Trước tình hình đó, hệ thống bãi đỗ xe dùng thang máy đưa xe lên cao người lái tự lái xe bãi đỗ phương án kết hợp đỗ xe nhiều tầng với hệ thống khí đơn giản xuất từ Mỹ năm 1918 sau lan truyền nhanh chóng sang châu Âu Mãi đến năm 1982, hệ thống bãi đỗ xe tơ tự động hồn tồn không người lái xe phát minh Đức, sau Nhật Bản phát triển cơng nghệ ứng dụng rộng rãi từ năm 1985 Hiện nhiều nước giới bắt đầu ứng dụng cơng nghệ này, có Việt Nam, nhiên Nhật Bản Hàn Quốc hai quốc gia có số lượng bãi đỗ xe tơ tự động nhiều giới.[1] Với lợi ích mà bãi đỗ xe ô tô tự động mang lại giải vấn đề tiếng ồn ô nhiễm bãi đỗ xe, tiết kiệm không gian, khắc phục tình trạng cắp phụ tùng hay đồ đạc xe, tiết kiệm thời gian gửi xe… nhờ hệ thống hoàn toàn tự động từ khâu gửi xe đến lấy xe, bãi đỗ xe ô tô tự động phương án giải tối ưu cho tình trạng thiếu bãi đỗ xe giới Ở Việt Nam, nhiều nước giới, với phát triển mạnh kinh tế, thị hóa, đời sống nhân dân nâng cao nên cơng trình, tịa nhà văn phịng, trung tâm mua sắm, khu vui chơi giải trí, siêu thị… ngày nhiều nên nhu cầu gửi xe ô tô không nhỏ Tuy nhiên, quỹ đất thành phố Việt Nam dành cho việc xây dựng bãi đỗ xe có hạn Nhiều chủ phương tiện khơng có nơi đỗ xe đành đỗ xe đường gây tình trạng tắc nghẽn giao thơng.Vì vậy, cần có cơng trình vừa đáp ứng nhu cầu sinh hoạt người vừa giải nơi đỗ xe cho họ Trước tình hình nhà lãnh đạo cố gắng tìm nhiều phương án giải Và bãi đỗ xe ô tô tự động phương án khả thi giải vấn đề Hiện nay, địa bàn Thành Phố Hồ Chí Minh Thành phố Hà Nội có vài công ty nghiên cứu chuyển giao công nghệ bãi đỗ xe tự động Trong có Cơng ty TNHH SX Cơ Khí & Cầu Trục NMC đảm nhiệm vai trị nghiên cứu chuyển giao cơng nghệ bãi đỗ xe ô tô tự động Hàn Quốc Tại Hà Nội vừa diễn kiện Công ty IUK (Nhật Bản) Công ty CFTD (một công ty chuyên khoa học, kỹ thuật công nghệ cao Việt Nam) ký kết hợp đồng chuyển giao cơng nghệ "Hệ thống đỗ xe tự động" Đó dấu hiệu chứng tỏ phát triển hệ thống Việt Nam phát triển mạnh mẽ năm tới đây.[2] Với toán này, có nhiều phương án đưa ra, tùy theo diện tích đất, lối vào, mục đích sử dụng mà nhà cung cấp tư vấn hệ thống thích hợp Mỗi nhà cung cấp đặt tên khác cho hệ thống, nhiên xếp loại bãi đỗ xe theo nguyên lý vận hành sau: - Loại hệ thống vừa lắp mặt đất, vừa lắp mặt đất, phần mặt đất, phần mặt đất: hệ thống tháp nâng dùng thang máy, hệ thống thang nâng di chuyển, hệ thống xếp hình Trong đó, hệ thống tầng di chuyển lắp đặt phổ biến Nhật Bản Hàn Quốc - Loại hệ thống lắp ngầm: hệ thống xoay vòng ngang, hệ thống xoay vòng tầng - Loại hệ thống lắp nổi: hệ thống xoay vòng đứng Trong đồ án này, tác giả nghiên cứu hệ thống bãi đỗ xe tự động, chọn để tài “Nghiên cứu thiết kế hệ thống bãi đỗ xe tự động, quản lý xe sở công nghệ RFID” Hy vọng đồ án đưa hướng giải phù hợp, giải tình trạng bãi đỗ xe Để xây dựng thiết kế mơ hình bãi đỗ xe tự động, quản lý xe dựa sở cơng nghệ RFID, đồ án trình bày trình thực qua chương sau: Chương I: TỔNG QUAN VỀ HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG Chương II: PHÂN TÍCH LỰA CHỌN THIẾT BỊ CHO HỆ THỐNG Chương III: THIẾT KẾ MƠ HÌNH CHO HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG Chương IV: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CHƯƠNG I: TỔNG QUAN VỀ HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG 1.1 Tình trạng bãi đỗ xe thực tế Trong năm gần với phát triển kinh tế xã hội Việt Nam, lượng phương tiện giao thông tăng cách nhanh chóng Phương tiện cá nhân tăng lên, địi hỏi diện tích đất dành cho bãi đỗ xe phải tăng theo Tuy nhiên, thành phố lớn Hà Nội, Hồ Chí Minh, Đà Nẵng, Cần Thơ việc đáp ứng yêu cầu quỹ đất ngày tỏ không khả thi giá trị đất tăng nhanh, nhu cầu đất cho mục đích quan trọng khác thiếu Hiện khu vực trung tâm thành phố lớn, số ô tô phần lớn dừng đỗ vỉa hè, lịng đường gây cản trở giao thơng (Hình 1.1) Hình 1.1 Tình trạng dừng đỗ xe vỉa hè lòng đường Để giải vấn đề chỗ đỗ xe đô thị, nhiều nước giới sử dụng hệ thống nhà đỗ xe nhiều tầng tự động, phổ biến Nhật Bản, Hàn Quốc, Ấn Độ, Singapore, Trung Quốc, Mỹ nước Châu Âu Tại nước có nhiều cơng ty chủ yếu kinh doanh bãi đỗ tơ nhiều loại, hệ thống đỗ nhiều tầng tự động sử dụng phổ biến Các công ty sản xuất hệ thống đỗ xe tự động nhà chế tạo, không trực tiếp kinh doanh bãi đỗ xe mà cung cấp lắp đặt thiết bị cho nhà đầu tư Ngoài ra, cịn hệ thống cơng ty sản xuất thiết bị phụ trợ như: hệ thống lấy vé tự động đọc thẻ, trả tiền tự động So với bãi đỗ xe kiểu truyền thống, lợi ích bãi đỗ xe tự động không nhanh chóng tiện lợi Bạn khơng cịn phải lo lắng xe bị xơ xát, va đụng, trầy xước nơi đỗ xe cách ly hoàn toàn với bên DataGlobal.trangthai = "Entry"; foreach (DataRow row in DataGlobal.table.Rows) { if (Convert.ToString(row[0]) == DataGlobal.mathe) { DataGlobal.trangthai = "Leave"; } } if (DataGlobal.trangthai == "Entry") { SetData(); DataGlobal.temp2 = "i"; serialPort1.Write(DataGlobal.temp2 + new string(DataGlobal.position)); } else if (DataGlobal.trangthai == "Leave") { DataGlobal.phi = TraPhi(DataGlobal.mathe); DataGlobal.temp2 = "o"; ConnectData.query = "select vitri from TRANGTHAI where id = '" + DataGlobal.mathe + "'"; ThaoTac1(); DataGlobal.position[Convert.ToInt16(DataGlobal.table.Rows[0][0])] = '*'; serialPort1.Write(DataGlobal.temp2 + new string(DataGlobal.position)); } break; } 132 case "r": { this.pictureBox2.Visible = true; this.pictureBox1.Visible = false; this.pictureBox3.Visible = false; this.btncancel.Visible = true; break; } case "l": { this.pictureBox2.Visible = false; this.pictureBox1.Visible = true; this.pictureBox3.Visible = false; this.btncancel.Visible = true; break; } case "d": { this.pictureBox2.Visible = false; this.pictureBox1.Visible = false; this.pictureBox3.Visible = false; this.btncancel.Visible = true; break; } case "t": { int count = 0; string bientam; bientam = DataGlobal.pos[7]; DataGlobal.pos[7] = DataGlobal.pos[6]; 133 DataGlobal.pos[6] = DataGlobal.pos[5]; DataGlobal.pos[5] = DataGlobal.pos[4]; DataGlobal.pos[4] = DataGlobal.pos[3]; DataGlobal.pos[3] = DataGlobal.pos[2]; DataGlobal.pos[2] = DataGlobal.pos[1]; DataGlobal.pos[1] = DataGlobal.pos[0]; DataGlobal.pos[0] = bientam; foreach (string str in DataGlobal.pos) { ConnectData.query = "update TRANGTHAI set id = '" + str + "' where vitri = " + count + ""; ThaoTac2(); count++; } DataGlobal.xacnhan = true; break; } case "n": { int count = 0; string bientam; bientam = DataGlobal.pos[0]; DataGlobal.pos[0] = DataGlobal.pos[1]; DataGlobal.pos[1] = DataGlobal.pos[2]; DataGlobal.pos[2] = DataGlobal.pos[3]; DataGlobal.pos[3] = DataGlobal.pos[4]; DataGlobal.pos[4] = DataGlobal.pos[5]; DataGlobal.pos[5] = DataGlobal.pos[6]; DataGlobal.pos[6] = DataGlobal.pos[7]; 134 DataGlobal.pos[7] = bientam; foreach (string str in DataGlobal.pos) { ConnectData.query = "update TRANGTHAI set id = '" + str + "' where vitri = " + count + ""; ThaoTac2(); count++; } DataGlobal.xacnhan = true; break; } case "x": { this.btncancel.Visible = false; this.pictureBox2.Visible = false; this.pictureBox1.Visible = false; this.pictureBox3.Visible = true; int count = 0; if(DataGlobal.trangthai == "Leave") { DataGlobal.pos[0] = ""; } else { DataGlobal.pos[0] = DataGlobal.mathe; } foreach (string str in DataGlobal.pos) { 135 ConnectData.query = "update TRANGTHAI set id = '" + str + "' where vitri = " + count + ""; ThaoTac2(); count++; } DataGlobal.xacnhan = true; ConnectData.query = "select *from QUANLYVE where id = '" + DataGlobal.mathe + "'"; ThaoTac1(); DataGlobal.time = DateTime.Now; ConnectData.query = "insert into lichsu values('" + DataGlobal.mathe + "','" + DataGlobal.table.Rows[0][1].ToString() + "','" + DataGlobal.table.Rows[0][4] + "','" + DataGlobal.trangthai + "','" + DataGlobal.time.ToString() + "','"+ DataGlobal.phi + "')"; ThaoTac2(); DataGlobal.phi = 0; break; } } } else { serialPort1.Write("Errorcard"); MessageBox.Show("Card is not exist! ", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Error); serialPort1.Write("Connected"); } } else { 136 DataGlobal.trangthai = "themve"; } } private bool SetData() { ConnectData.query = "select *from QUANLYVE"; ThaoTac1(); foreach(DataRow row in DataGlobal.table.Rows) { if(Convert.ToString(row[0]) == DataGlobal.mathe) { if(Convert.ToString(row[4]) == "Vé Tháng") { MessageBox.Show("Gửi Xe!!!\n\nMã thẻ : \t" + row[0] + "\nLoại vé : \tVé Tháng\nBiển Số : \t" + row[1], "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return true; } else { MessageBox.Show("Gửi Xe!!!\n\nMã thẻ : \t" + row[0] + "\nLoại vé : \tVé Ngày", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); return true; } } } return false; } 137 private void QuanLy_FormClosed(object sender, FormClosedEventArgs e) { if(serialPort1.IsOpen) { serialPort1.Write("diconnect"); serialPort1.Close(); } Application.Exit(); } private Int64 TraPhi(string id) { DateTime temp; DateTime thoigianvao; DateTime thoigianra; TimeSpan hieuso; int count = 0; ConnectData.query = "select *from QUANLYVE where id = '" + id+ "'"; ThaoTac1(); if(DataGlobal.table.Rows[0][4].ToString() == "Vé Ngày") { ConnectData.query = "select *from lichsu where id = '" + DataGlobal.mathe + "' and trangthai = 'Entry'"; ThaoTac1(); foreach(DataRow row in DataGlobal.table.Rows) { count++; } thoigianvao = (DateTime)DataGlobal.table.Rows[count-1][4]; 138 thoigianra = DateTime.Now; hieuso = thoigianra - thoigianvao; if ((hieuso.Days*24*60 + hieuso.Hours*60 + hieuso.Minutes) temp) { ConnectData.query = "update QUANLYVE set loaive = 'Vé Ngày' where id = '" + id +"'" ; 139 ThaoTac1(); MessageBox.Show("Overdue card Please pay monthly fee!", "Card has expired", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { MessageBox.Show("Get the car out Monthy Card!\nNumber plates: " + DataGlobal.table.Rows[0][1] + "\n\nPlease come over!", "Get the car out", MessageBoxButtons.OK, MessageBoxIcon.Information); } return 0; } } private void btncancel_Click(object sender, EventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("cancellll"); this.btncancel.Visible = false; this.pictureBox2.Visible = false; this.pictureBox1.Visible = false; SetupSodoTrangthai(); } } private void btncancel_MouseEnter(object sender, EventArgs e) { this.btncancel.BackColor = Color.IndianRed; this.btncancel.ForeColor = Color.Black; 140 } private void btncancel_MouseLeave(object sender, EventArgs e) { this.btncancel.BackColor = Color.Ivory; this.btncancel.ForeColor = Color.Gray; } private void btnconnect_MouseEnter(object sender, EventArgs e) { btnconnect.BackColor = Color.SkyBlue; } private void btnconnect_MouseLeave(object sender, EventArgs e) { btnconnect.BackColor = Color.AliceBlue; } private void btndisconnect_MouseEnter(object sender, EventArgs e) { btndisconnect.BackColor = Color.IndianRed; } private void btndisconnect_MouseLeave(object sender, EventArgs e) { btndisconnect.BackColor = Color.AliceBlue; } private void lblreset_MouseEnter(object sender, EventArgs e) 141 { lblreset.Text = "Reset will not be able to recover!"; lblreset.BackColor = Color.IndianRed; lblreset.ForeColor = Color.Black; } private void lblreset_MouseLeave(object sender, EventArgs e) { lblreset.Text = "RESET"; lblreset.BackColor = Color.AliceBlue; lblreset.ForeColor = Color.Gray; } private void lblreset_Click(object sender, EventArgs e) { DialogResult f = MessageBox.Show("RESET all System ?!", "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (f == DialogResult.OK) { try { serialPort1.Write("reset.sys"); } catch { MessageBox.Show("RESET has been on the database !! \n\nNo RESET parking !!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Warning); } ConnectData.query = "delete from TRANGTHAI insert into TRANGTHAI values(null, 0) insert into TRANGTHAI values('', 1) insert 142 into TRANGTHAI values('', 2) insert into TRANGTHAI values('', 3) insert into TRANGTHAI values('', 4) insert into TRANGTHAI values('', 5) insert into TRANGTHAI values('', 6) insert into TRANGTHAI values('', 7)"; btncancel.Visible = false; ThaoTac2(); QuanLy_Load(sender, e); } } private void QuanLy_Resize(object sender, EventArgs e) { if(WindowState == FormWindowState.Minimized) { notifyIcon1.Visible = true; // this.Hide(); notifyIcon1.ShowBalloonTip(1, "Parking Info!", "The program is hidden.\nClick to continue monitoring! ", ToolTipIcon.Warning); } if (WindowState == FormWindowState.Normal) { notifyIcon1.Visible = false; } } private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e) { notifyIcon1.Visible = false; //this.Show(); 143 WindowState = FormWindowState.Normal; } private void mởChươngTrìnhToolStripMenuItem_Click(object sender, EventArgs e) { notifyIcon1.Visible = false; // this.Show(); WindowState = FormWindowState.Normal; } private void thoátToolStripMenuItem_Click(object sender, EventArgs e) { if (serialPort1.IsOpen) { serialPort1.Write("diconnect"); serialPort1.Close(); } Application.Exit(); } private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e) { notifyIcon1.Visible = false; //this.Show(); WindowState = FormWindowState.Normal; } private void QuanLy_KeyDown(object sender, KeyEventArgs e) 144 { if (e.KeyCode == Keys.Escape && btncancel.Visible == false) { WindowState = FormWindowState.Minimized; QuanLy_Resize(sender, e); } if (btncancel.Visible == true && e.KeyCode == Keys.Escape) { btncancel_Click(sender, e); } if (e.KeyCode == Keys.F1) { UseManager f = new UseManager(); f.ShowDialog(); } if (e.KeyCode == Keys.F2) { Employee f = new Employee(); f.ShowDialog(); } if (e.KeyCode == Keys.F3) { Card_Managemen f = new Card_Managemen(); f.ShowDialog(); } if (e.KeyCode == Keys.F4) { History f = new History(); f.ShowDialog(); } 145 if (e.Control) { if (e.KeyCode == Keys.R) { lblreset_Click(sender, e); } if (btnconnect.Visible == true && e.KeyCode == Keys.C) { btnconnect_Click(sender, e); } if (btndisconnect.Visible == true && e.KeyCode == Keys.D) { btndisconnect_Click(sender, e); } } } } } 146 ... trạng bãi đỗ xe Để xây dựng thiết kế mơ hình bãi đỗ xe tự động, quản lý xe dựa sở công nghệ RFID, đồ án trình bày trình thực qua chương sau: Chương I: TỔNG QUAN VỀ HỆ THỐNG BÃI ĐỖ XE TỰ ĐỘNG... vòng đứng Trong đồ án này, tác giả nghiên cứu hệ thống bãi đỗ xe tự động, chọn để tài “Nghiên cứu thiết kế hệ thống bãi đỗ xe tự động, quản lý xe sở công nghệ RFID? ?? Hy vọng đồ án đưa hướng giải... khu vực để xe Dưới hình ảnh thực tế bãi đỗ xe: Hình 1.2 Bãi đỗ xe thực tế Trong thực tế, nước đại, có nhiều loại bãi đỗ xe tự động áp dụng vào thực tiễn, giải vấn đề bất cập 1.2 Bãi đỗ xe dạng xếp