Đồ án Hệ thống nhúng: Mô hình cửa tự động sử dụng RFID và KEYPAD

33 464 7
Đồ án Hệ thống nhúng: Mô hình cửa tự động sử dụng RFID và KEYPAD

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA: KỸ THUẬT ĐIỆN TỬ I MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I: MỞ ĐẦU Tổng quan Cơ sở khoa học thực tiễn Mục đích BÁO CÁO BÀI TẬP LỚN ĐỒ ÁN THIẾT KẾ HỆ THỐNG CHƯƠNG II:NHÚNG TỔNG QUAN VỀ LINH KIỆN SỬ DỤNG ĐỀ TÀI: Board Arduino Uno R3 5 “MƠ HÌNH CỬA TỰ ĐỘNG SỬ DỤNG RFID VÀ KEYPAD” Module RFID RC522 Keypad 3*4 Giảng hướng Màn hìnhviên LCD 16*2.dẫn: Ts.Nguyễn Ngọc Minh viên kiện thực khác hiện: dùng Đỗ Hoàng Vũ MộtSinh số linh đề tài B17DCDT214 Đỗ Anh Tuấn CHƯƠNG III: THIẾT KẾ HỆ THỐNG B17DCDT201 Bùi Đình Huy B17DCDT093 Nguyễn Văn Vinh B17DCDT213 Sơ Đồ Khối Của Hệ Thống Nguyên lý hoạt động 9 10 10 11 Mô tả hoạt động hệ thống 11 Sơ đồ nguyên lý hệ thống Hà Nội, năm 2021 12 Các giao thức, ngơn ngữ trình biên dịch sử dụng 12 Lưu đồ thuật toán hệ thống 13 Hình ảnh thực tế hệ thống 16 Đóng góp thành viên 17 TÀI LIỆU THAM KHẢO 17 PHỤ LỤC 18 Hà Nội, Tháng 12/2016 LỜI NÓI ĐẦU Em xin cám ơn thầy tận tình bảo chúng em thực đề tài Nếu khơng có giúp đỡ Thầy, đề tài chúng em khó hồn thành Đề tài chúng em hoàn thành, song thiếu kinh nghiệm kiến thức cịn hạn hẹp nên khó tránh khỏi sai sót Chúng em mong nhận ý kiến đóng góp q báu Thầy Cơ để đề tài hồn thiện tiếp tục phát triển thành sản phẩm thực tế có ích cho xã hội Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực CHƯƠNG I: MỞ ĐẦU Tổng quan Hiện hội nhập kỉ nguyên số cơng nghệ 4.0 có nhiều thiết bị hệ thống điều khiển tự động thông minh Vì chúng em muốn cơng nghệ áp dụng nhiều vào sống chúng em thiết lập đưa kế hoạch hữu, mơ hình cửa tự động sử dụng cơng nghệ RFID khóa số (Keypad) Cơ sở khoa học thực tiễn ● Cơ sở khoa học - Dựa kỹ thuật ghép nối ● Tính thực tiễn đề tài - Áp dụng vào hệ thống nhà thông minh, cụ thể vào phần hệ thống cửa vào ngơi nhà Mục đích - Tạo mơ hình cửa tự động, sử dụng hệ thống nhúng dùng vi điều khiển - Có khả hoạt động tự động, mở cửa nhận thẻ nhập mật (Password) CHƯƠNG II: TỔNG QUAN VỀ LINH KIỆN SỬ DỤNG Board Arduino Uno R3 Hình 1: Cấu tạo board Arduino Uno R3 ⮚ Thông số kỹ thuật: ● ● ● ● ● ● ● ● ● ● ● Vi điều khiển Điện áp hoạt động Tần số hoạt động Dòng tiêu thụ Điện áp vào khuyên dùng Điện áp vào giới hạn Số chân Digital I/O Số chân Analog Dòng tối đa chân I/O Dòng tối đa (5V) Dòng tối đa (3.3V) ATmega 328 bit 5V DC (chỉ cấp qua cổng USB) 16 MHz ~30mA - 12 VDC - 20 VDC 14 (6 chân Hardware PWM) (10 bit) 30 mA 500 mA 50 mA 32 KB (ATmega 328) với 0.5 ● Bộ nhớ flash KB dùng Bootloader KB (ATmega 328) KB (ATmega 328) ● SRAM ● EEPROM ⮚ Sử dụng Arduino Uno R3: - Chân chân 1: chân TX, RX chân dùng chân I/O bình thường thực tế dùng để trống cho chức uart - Chân PWM: 3, 5, 9, 10, 11: Cho phép xuất xung PWM với độ phân giải bit - Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): dùng giao tiếp SPI - Chân 13: kết nối với Led (ký hiệu chữ L Board), người dùng dùng chân để điều khiển Led Không nên dùng chân để điều khiển thiết bị ngoại vi Vì mở nguồn ootloader làm cho chân 13 chớp chớp nên ảnh hưởng đến thiết bị điều khiển - Chân A0-> A5: chân đọc ADC (độ phân giải 10 bit) - Chân A4 (SDA), A5(SCL): dùng giao tiếp I2C - Tất chân kể sử dụng chức I/O (ngõ vào/ra) bình thường Module RFID RC522 Hình 2: Cấu tạo module RFID RC522 ⮚ Module RFID RC522 sử dụng IC MFRC522 đọc loại thẻ có kết nối khơng dây NFC, thẻ từ ( loại dùng làm thẻ giảm giá, thẻ xe bus, tàu điện ngầm ) ⮚ Thông số kỹ thuật: ● Nguồn: 3.3VDC, 13-26mA ● Dòng chế độ chờ: 10-13mA ● Dòng chế độ nghỉ: 1) flag=0; 22 lcd.clear(); lcd.setCursor(2,0); lcd.print("Da them the"); delay(1000); } if(the1 ==0 ){ flag=0; for (byte i = 0; i < mfrc522.uid.size; i++) { code[flag][i] = 0; } lcd.clear(); lcd.setCursor(2,0); lcd.print("Da xoa the "); delay(1000); } if( the2 ==0 ){ flag=1; for (byte i = 0; i < mfrc522.uid.size; i++) { code[flag][i] = 0; } lcd.clear(); lcd.setCursor(2,0); lcd.print("Da xoa the"); 23 delay(1000); } lcd.clear(); lcd.setCursor(1,0); lcd.print("Nhap mat khau"); countcard=0; check=0; done=1; the1=0; the2=0; master=0; } mfrc522.PICC_HaltA(); mfrc522.PCD_StopCrypto1(); } //////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////// //// void password(){ char key = keypad.getKey(); // Ký tự nhập vào gán cho biến Key if (key) // Nhập mật 24 { if (i == 0) { str[0] = key; lcd.setCursor(6, 1); lcd.print(str[0]); delay(500); // Ký tự hiển thị hình LCD 1s lcd.setCursor(6, 1); lcd.print("*"); // Ký tự che dấu * } if (i == 1) { str[1] = key; lcd.setCursor(7, 1); lcd.print(str[1]); delay(500); lcd.setCursor(7, 1); lcd.print("*"); } if (i == 2) { str[2] = key; lcd.setCursor(8, 1); lcd.print(str[2]); delay(500); lcd.setCursor(8, 1); lcd.print("*"); } 25 if (i == 3) { str[3] = key; lcd.setCursor(9, 1); lcd.print(str[3]); delay(500); lcd.setCursor(9, 1); lcd.print("*"); count = 1; } i++; } if (count == && nochange==1) { if (str[0] == pass[0] && str[1] == pass[1] && str[2] == pass[2] && str[3] == pass[3] && Status==0) { lcd.clear(); lcd.setCursor(3,0); lcd.print("Chinh xac!"); delay(2000); opendoor(); lcd.clear(); lcd.setCursor(4,0); lcd.print("Mo cua!"); i = 0; 26 count = 0; warning = 0; Status=1; } else { warning++; lcd.clear(); lcd.print("Khong chinh xac!"); delay(1000); if (warning == 3){ lcd.clear(); lcd.setCursor(4,0); lcd.print("Hay cho "); lcd.setCursor(2,1); lcd.print("roi thu lai "); warningSound(); warning = 0; } lcd.clear(); lcd.setCursor(3,0); lcd.print("Thu lai!"); delay(1000); 27 closedoor(); lcd.clear(); lcd.setCursor(1,0); lcd.print("Nhap mat khau"); i = 0; count = 0; Status=0; } } switch (key) { case '#': lcd.clear(); lcd.setCursor(3,0); lcd.print("Dong cua!"); closedoor(); delay(3000); lcd.clear(); lcd.setCursor(1,0); lcd.print("Nhap mat khau"); i = 0; 28 Status=0; break; } switch (key) { case '*': nochange=0; count=0; i=0; lcd.clear(); lcd.setCursor(0,0); lcd.print("Nhap mat khau cu"); break; } if(str[0]==pass[0] && str[1]==pass[1] && str[2]==pass[2] && str[3]==pass[3] && count==1 ){ lcd.clear(); lcd.setCursor(0,0); lcd.print("Nhap matkhau moi"); i=0; count=0; ktra=1; } else if(ktra==0 && count==1 ) { 29 lcd.clear(); lcd.setCursor(0,0); lcd.print("Sai mat khau roi"); delay(2000); i=0; count=0; nochange=1; lcd.clear(); lcd.setCursor(1,0); lcd.print("Nhap mat khau "); } if(count==1 && nochange==0 && ktra==1){ pass[0]=str[0]; pass[1]=str[1]; pass[2]=str[2]; pass[3]=str[3]; lcd.clear(); lcd.setCursor(2,0); lcd.print("Doi mat khau"); lcd.setCursor(3,1); lcd.print("thanh cong"); delay(2000); lcd.clear(); lcd.setCursor(1,0); 30 lcd.print("Nhap mat khau"); nochange=1; ktra=0; i=0; count=0; } } void closedoor(){ digitalWrite(4, LOW); digitalWrite(8, HIGH); beep(); for(pos=mypos; pos>0; pos ){ myservo.write(pos); delay(5); } mypos=0; } void opendoor(){ digitalWrite(8, LOW); digitalWrite(4, HIGH); beep2(); for(pos=mypos; pos

Ngày đăng: 16/02/2022, 15:52

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

Tài liệu liên quan