BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH HỆ THỐNG NHÚNG HỆ THỐNG KHÓA CỬA ĐIỆN TỬ

34 18 0
BÁO CÁO BÀI TẬP LỚN MÔN LẬP TRÌNH HỆ THỐNG NHÚNG HỆ THỐNG KHÓA CỬA ĐIỆN TỬ

Đ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

TRƯỜNG ĐẠI HỌC TIỀN GIANG KHOA KỸ THUẬT CÔNG NGHỆ BỘ MÔN ĐIỆN - ĐIỆN TỬ  BÁO CÁO BÀI TẬP LỚN MƠN: LẬP TRÌNH HỆ THỐNG NHÚNG HỆ THỐNG KHÓA CỬA ĐIỆN TỬ NGÀNH: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA SINH VIÊN THỰC HIỆN: NGUYỄN THỊ MỸ ANH TRẦN THẾ NHÂN NGUYỄN PHÚC THỊNH MAI TRÍ TÍN GIẢNG VIÊN GIẢNG DẠY: ThS NGUYỄN VĂN THANH Tiền Giang, 12/2022 TRƯỜNG ĐẠI HỌC TIỀN GIANG KHOA KỸ THUẬT CÔNG NGHỆ BỘ MÔN ĐIỆN - ĐIỆN TỬ  BÁO CÁO BÀI TẬP LỚN MƠN: LẬP TRÌNH HỆ THỐNG NHÚNG HỆ THỐNG KHÓA CỬA ĐIỆN TỬ NGÀNH: CNKT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA Sinh viên tham gia thực hiện: Nguyễn Thị Mỹ Anh Trần Thế Nhân Nguyễn Phúc Thịnh Mai Trí Tín Giảng viên giảng dạy: ThS Nguyễn Văn Thanh Tiền Giang, tháng12/năm2022 i 020147011 020147018 020147010 020147022 LỜI CẢM ƠN Trong suốt q trình hồn thiện mơn học Lập Trình Hệ Thống Nhúng, nhóm chúng em nhận dẫn nhiệt tình Thầy ThS Nguyễn Văn Thanh – Giảng viên Trường Đại học Tiền Giang Với giúp đỡ nhiệt tình Thầy mà nhóm chúng em hồn thành tốt mục tiêu mà đề tài đặt nói riêng học phần Lập Trình Hệ Thống Nhúng nói chung Thơng qua học phần nhóm chúng em tích lũy nhiều kinh nghiệm quý báu kiến thức lý thuyết lẫn thực tế cách hoàn thiện báo cáo đồ án Một lần nhóm xin gửi lời cảm ơn đến Thầy giúp nhóm hồn thành học phần Trong q trình viết báo cáo nhóm cố gắng thể tránh khỏi lỗi sai xót nhỏ Mong quý Thầy Cô thông cảm bỏ qua Trân trọng cảm ơn! i MỤC LỤC Trang LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC ĐỒ THỊ VÀ HÌNH VẼ v DANH MỤC BẢNG BIỂU vi CHƯƠNG TỔNG QUAN 1.1 Hệ thống khóa cửa điện tử 1.2 Linh kiện sử dụng 1.2.1 Màn hình LCD 16x2 1.2.2 Động Servo SG90 1.2.3 Module bàn phím ma trận 4x3 1.2.4 Vi xử lý 1.2.5 Một số linh kiện khác: CHƯƠNG THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 2.1 Thiết kế phần cứng 2.1.1 Lưu đồ giải thuật 2.1.1.1 Giải thuật chương trình 2.1.1.2 Giải thuật chương trình 2.1.1.3 Giải thuật chương trình 2.1.1.4 Giải thuật chương trình 2.1.1.5 Giải thuật chương trình 2.1.2 Sơ đồ khối 10 2.1.3 Nguyên lý hoạt động hệ thống 10 2.2 Thi công phần mềm 10 2.2.1 Phần mềm Arduino IDE 10 2.2.1.1 Thêm thư viện cần sử dụng Arduino IDE 10 2.2.1.2 Chương trình Arduino IDE 13 2.2.2 Phần mềm Proteus 13 CHƯƠNG THỰC NGHIỆM VÀ KẾT LUẬN 15 ii 3.1 Kết 15 3.2 Kết luận 18 DANH MỤC TÀI LIỆU THAM KHẢO 19 PHỤ LỤC 20 iii DANH MỤC ĐỒ THỊ VÀ HÌNH VẼ STT TÊN ĐỒ THỊ VÀ HÌNH VẼ TRANG Hình 1.1: LCD 1602 kèm moule I2C màu xanh Hình 1.2: Động Servo SG90 Hình 1.3: Module bàn phím ma trận 4x3 Hình 1.4: Kit Arduino UNO Hình 2.1: Giải thuật chương trình Hình 2.2: Giải thuật thay đổi mật Hình 2.3: Giải thuật nhập mật mặt định Hình 2.4: Giải thuật mở cửa Hình 2.5: Giải thuật đóng cửa Hình 2.6: Sơ đồ khối hệ thống 10 Hình 2.7: Hướng dẫn thêm thư viện Keypad.h Arduino 11 Hình 2.8: Hướng dẫn thêm thư viện LiquidCrystal.h Arduino 11 Hình 2.9: Hướng dẫn thêm thư viện LiquidCrystal.h Arduino 12 Hình 2.10: Hướng dẫn xuất file hex 12 Hình 2.11: Sơ đồ mơ hệ thống phần mềm Proteus 13 Hình 2.12: Hướng dẫn thêm file hex (1) 14 Hình 2.13: Hướng dẫn thêm file hex (2) 14 Hình 3.1: Kết mơ (1) 15 Hình 3.2: Kết mô (2) 15 Hình 3.3: Kết mơ (3) 16 Hình 3.4: Kết mơ (4) 16 Hình 3.5: Kết mô (5) 17 Hình 3.6: Kết mô (6) 17 v DANH MỤC BẢNG BIỂU Bảng 1.1: Thông số kỹ thuật kit Arduino UNO R3 vi CHƯƠNG TỔNG QUAN 1.1 Hệ thống khóa cửa điện tử Ngày với phát triển xã hội đại số cần bảo thiết bị bảo vệ tài sản nhà khoá cửa, thiết bị cảnh báo chống trộm hay camera có lẽ thiết bị sử dụng nhiều khố cửa Hiện thị trường có nhiều loại khố cửa hầu hết khố khí, khố khí gặp vấn đề lớn tính bảo mật loại khố khơng cao, nên dễ dàng bị phá chìa khố đa Đa số khố kỹ thuật số có bán thị trường có giá bán cao chủ yếu loại khoá tay nắm ta thường thấy khách sạn hộ chung cư Vì để nâng cao u cầu tính bảo mật để bảo vệ tài sản giao diện trực quan dễ sử dụng Nhóm chúng em định thực đề tài thiết kế thiết bị khoá cửa điện tử Khoá sử dụng phương pháp cài đặt mã số để khố mở người sử dụng cài đặt số Hệ thống số khố thiết kế phím bấm số nên tiện lợi sử dụng 1.2 Linh kiện sử dụng 1.2.1 Màn hình LCD 16x2 Màn hình text LCD 1602 kèm module I2C sử dụng driver HD44780, có khả hiển thị dòng với dòng 16 ký tự, hình có độ bền cao, phổ biến Module I2C có khả kết nối tất đầu hình LCD cho đầu dây nên tiện sử dụng tiết kiệm dây cắm Hình 1.1: LCD 1602 kèm moule I2C màu xanh 1.2.2 Động Servo SG90 Động servo SG90 có kích thước nhỏ, loại sử dụng nhiều để làm mơ hình nhỏ cấu kéo không cần đến lực nặng Động servo SG90 180 độ có tốc độ phản ứng nhanh, bánh làm nhựa nên cần lưu ý nâng tải nặng làm hư bánh răng, động RC Servo 9G có tích hợp sẵn Driver điều khiển động bên nên dễ dàng điều khiển góc quay phương pháp điều độ rộng xung PWM Hình 1.2: Động Servo SG90 Thông số kỹ thuật: - Tên: Servo MSG90 - Điện áp hoạt động: 4.8V ~ 6V DC - Tốc độ quay: 0.12 giây/60° (4.8V) , 0.1 giây/60° (6V) - Mơmen xoắn: 1.8kg/cm (4.8V) , 2.5kg/cm (6V) - Góc quay: 180° - Bánh răng: nhựa - Kích thước: 22.5 * 11.8 * 30 mm - Chiều dài dây điện: 175mm - Trọng lượng: 9g - Nhiệt độ hoạt động: 0°C ~ 55°C + Dây cam: Xung + Dây đỏ: Vcc (4.8V ~ 6V) + Dây đen: GND / 0V Hình 2.9: Hướng dẫn thêm thư viện LiquidCrystal.h Arduino Để mơ chương trình chạy phần mềm Proteus cần phải xuất file hex phần mềm Arduino IDE Cũng IDE bạn Click vào File Preferences, xuất hộp thoại Preferences, tick vào vng compilation, sau ấn OK Hình 2.10: Hướng dẫn xuất file hex 12 2.2.1.2 Chương trình Arduino IDE Chương trình code Arduino Phụ Lục 2.2.2 Phần mềm Proteus Proteus phần mềm cho phép mô hoạt động mạch điện tử bao gồm phần thiết kế mạch viết chương trình điều khiển cho họ vi điều khiển MCS-51, PIC, AVR, Arduino IDE … Proteus phần mềm mô mạch điện tử Lancenter Electronics, mô cho hầu hết linh kiện điện tử thông dụng, đặc biệt hỗ trợ cho MCU PIC, 8051, AVR, Motorola Hình 2.11: Sơ đồ mô hệ thống phần mềm Proteus Proteus công cụ mô cho loại vi điều khiển tốt, hỗ trợ dịng vi điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430, ARM7/LPC2000 giao tiếp I2C, SPI, CAN, USB, Ethenet cịn mơ mạch số, mạch tương tự cách hiệu Nếu muốn học lập trình Arduino vi điều khiển khác mà khơng có điều kiện kinh nghiệm để làm mạch phát triển muốn kiểm tra chương trình trước nạp vào mạch phát triển Proteus lựa chọn bỏ qua 13 Để hệ thống vận hành phần mềm Proteus cần phải thêm file hex vào vi điều khiển Arduino Uno Bước 1: Sau biên dịch phần mềm IDE xong bên xuất số dòng lệnh tìm copy dịng lệnh dẫn đến địa có chứa file hex Ví dụ đoạn lệnh Hình 2.12: Hướng dẫn thêm file hex (1) Bước 2: Nhấp đúp vào vi điều khiển Proteus sau dán vào hình nhấn OK Hình 2.13: Hướng dẫn thêm file hex (2) 14 CHƯƠNG THỰC NGHIỆM VÀ KẾT LUẬN 3.1 Kết Sau mở hệ thống thơng tin hình 3.1 Hình 3.1: Kết mơ (1) Nhập mật mặt định 1234 Hình 3.2: Kết mơ (2) Servo quay góc -90 độ đèn xanh sáng: 15 Hình 3.3: Kết mơ (3) Để đổi mật nhấn phím “#”, sau nhập mật sử dung: Hình 3.4: Kết mơ (4) 16 Nhập mật mới: Hình 3.5: Kết mơ (5) Nhập mật thành cơng: Hình 3.6: Kết mô (6) 17 3.2 Kết luận Qua mô phần mềm Proteus cho thấy hệ thống hoạt động ổn định vài điểm hệ thống chưa hợp lý Hệ thống ứng dụng việc khóa cửa tự động mà khơng cần chìa khóa hay khóa thơng thường 18 DANH MỤC TÀI LIỆU THAM KHẢO Website: - http://arduino.vn/bai-viet/5893-khoa-dien-tu-bam-so-su-dung-keypad4x3 - https://circuitdigest.com/microcontroller-projects/digital-keypadsecurity-door-lock-using-arduino - https://www.youtube.com/watch?v=v56KrlD7f90 19 PHỤ LỤC Chương trình Arduino Uno: #include // khai bao thu vien Keypad #include//khai bao thu vien #include /// khai báo hình LCD #include /// khai báo hình LCD int pos = 0; // bien luu giu vi tri servo #include // khai bao thu vien servo Servo myservo; LiquidCrystal lcd(A0, A1, A2, A3, A4, A5); char password[4]; char initial_password[4],new_password[4]; int vcc=11; int i=0; int ledred = 13; int ledgreen = 12; char key_pressed=0; const byte rows = 4; const byte columns = 4; char hexaKeys[rows][columns] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte row_pins[rows]={0,1,2,3}; 20 byte column_pins[columns]={4,5,6,7}; Keypad keypad_key=Keypad( makeKeymap(hexaKeys),row_pins,column_pins,rows,columns); void setup(){ myservo.attach(9); // Thiết lập chân số để điều khiển đông sevo ServoClose(); lcd.begin(16,2); pinMode(ledred, OUTPUT); pinMode(ledgreen, OUTPUT); pinMode(vcc, OUTPUT); lcd.print("LAP_TRINH_NHUNG"); lcd.setCursor(0,1); lcd.print("KHOA_DIEN_TU"); delay(1000); lcd.clear(); lcd.print("Enter Password"); lcd.setCursor(0,1); initialpassword(); } void loop(){ key_pressed = keypad_key.getKey(); if(key_pressed=='#') // nhan phim # de doi mat khau change(); // doi mat khau if (key_pressed) 21 { password[i++]=key_pressed; lcd.print(key_pressed); } if(i==4) { delay(200); for(int j=0;j

Ngày đăng: 19/01/2023, 16:32

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

Tài liệu liên quan