Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 33 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
33
Dung lượng
2,09 MB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA KỸ THUẬT ĐIỆN TỬ Nhóm 10 ĐỒ ÁN THIẾT KẾ HỆ THỐNG NHÚNG ĐỀ TÀI: Cửa khoá số điện tử Giảng viên hướng dẫn: TS Nguyễn Ngọc Minh Nhóm sinh viên thực hiện: Nguyễn Văn Xuân – B17DCDT219 Phạm Hoàng Linh – B17DCDT111 Bùi Minh Tuấn – B17DCDT199 Nguyễn Bá Vũ – B17DCDT215 Hà Nội, 06-2021 MỤC LỤC Lời nói đầu CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI Giới thiệu Chức hệ thống Hoạt động hệ thống CHƯƠNG II: THIẾT KẾ HỆ THỐNG Sơ đồ khối tổng thể hệ thống Các khối chức hệ thống 2.1 Khối điều khiển 2.1.1 Một vài thông số Arduino UNO R3 .7 2.1.2 Các chân lượng .8 2.1.3 Bộ nhớ .8 2.1.4 Các cổng vào/ra 2.2 Khối phím nhấn 10 3.1 Khối hiển thị 14 3.1.1 Giới thiệu 14 3.1.2 Các ghi .17 3.2 Thiết bị chấp hành .18 3.2.1 Giới thiệu 18 3.2.2 Lắp mạch 19 3.2.3 Lập trình điều khiển 20 CHƯƠNG III: THIẾT KẾ VÀ THI CÔNG 21 Nguyên lý hoạt động 21 Lưu đồ thuật toán 23 Mã nguồn chương trình 23 CHƯƠNG IV: KẾT LUẬN 32 TÀI LIỆU THAM KHẢO 32 Lời nói đầu Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Kỹ thuật vi điều khiển phát triển ứng dụng rộng rãi giới nhiều lĩnh vực khác nhau, khắc phục vấn đề khí Ứng dụng kỹ thuật vi điều khiển phát triển cần thiết xã hội đại Điện tử trở thành ngành khoa học đa nhiệm vụ Nó đáp ứng nhu cầu cần thiết hoạt động đời sống ngày.Một nhu cầu vấn đề bảo mật Mỗi cá nhân, gia đình, hay quan có vấn đề cần bảo mật Và để bảo mật phải có hệ thống bảo mật Trước nhu cầu khóa số điện tử giải pháp dùng để bảo mật hiệu tiện lợi Tuy chúng em cố gắng thực đồ án tốt có thể, khơng tránh thiếu sót, mong Thầy góp ý thơng cảm cho thiếu sót chúng em Chúng em xin chân thành cảm ơn Thầy!!! CHƯƠNG I: GIỚI THIỆU ĐỀ TÀI Giới thiệu Khóa số nói chung loại khóa để bảo vệ thiết bị, tài sản….mà muốn mở phải tác động đến số mà ta cài đặt trước có loại khóa số thị trường có khóa số khí khóa số điện tử - Khóa số khí : mở khóa hay khóa lại ta phải xoay vịng số khóa cho dãy số hợp với mở khóa - Khóa số điện tử : mở khóa ta phải nhập mật dãy số liên tiếp nhau, nhập dãy số mở khóa Ở chúng em xin giới thiệu đề tài khóa điện tử với số yêu cầu thiết bị khóa thơng dụng: - Tính an tồn: phải có chức bảo mật cao - Dễ sử dụng - Có thể thay đổi bảo mật cần thiết - Hệ thống vận hành ổn định, tuổi thọ cao Chức hệ thống Hệ thống gồm chuổi mã số từ đến 9, độ dài mật mã không 10 số có người phân quyền sử dụng biết Có hệ thống phím gồm 16 phím, ngồi 10 số mật có phím chức năng: phím Enter, phím Đổi mã, Hệ thống hiển thị trực quan qua LCD 16x2A, có đèn chiếu sáng điều kiện mơi trường tối Có chức thay đổi mật cần thiết, mật mặc định ban đầu 123456 Hoạt động hệ thống Bước Cài đặt - Bạn yêu cầu nhập chữ số làm mật khởi động đặt lại thiết bị ban đầu chữ số bạn nhập cài đặt lưu dạng SET PASSWORD Thiết bị bị KHÓA sau cài đặt PASSWORD Phím A - để mở khóa thiết bị Nhập mật xác nhấn A để mở khóa Phím D - để khóa lúc Chỉ cần nhấn D bạn thấy thơng báo LOCKED Phím B - để thay đổi mật Nhập mật xác nhấn A Bạn thấy thông báo yêu cầu ENTER MẬT KHẨU MỚI Nhập chữ số làm mật chữ số bạn nhập SAVED PASSWORD MỚI Phím C – bạn cần nhấn phím C để bắt đầu nhập mật CHƯƠNG II: THIẾT KẾ HỆ THỐNG Sơ đồ khối tổng thể hệ thống Khối hiển thị thông tin : dùng để hiển thị thông tin (lấy từ khối điều khiển) Khối phím nhấn : nhập thơng tin gửi đến khối điều khiển Khối điều khiển tiếp nhận thông tin, xử lý thơng tin Xuất tín hiệu để điều khiển thiết bị khác Thiết bị chấp hành động cơ, rơle để điều khiển thiết bị cửa khóa Các khối chức hệ thống 2.1 Khối điều khiển Chức năng: Đóng vai trị đầu não hệ thống,tiếp nhận tín hiệu từ bàn phím so sánh mã, hiển thị LCD.Từ đưa tín hiệu điều khiển đến cho khối mạch báo động tương ứng Sử dụng Arduino UNO R3 Arduino UNO R3 2.1.1 Một vài thông số Arduino UNO R3 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) Bộ nhớ flash SRAM EEPROM ATmega328 họ 8bit 5V DC (chỉ cấp qua cổng USB) 16 MHz khoảng 30mA 7-12V DC 6-20V DC 14 (6 chân hardware PWM) (độ phân giải 10bit) 30 mA 500 mA 50 mA 32 KB (ATmega328) với 0.5KB dùng bootloader KB (ATmega328) KB (ATmega328) 2.1.2 Các chân lượng GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi bạn dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA Vin (Voltage Input): để cấp nguồn cho Arduino UNO, bạn nối cực dương nguồn với chân cực âm nguồn với chân GND IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù bạn không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ 2.1.3 Bộ nhớ Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: 32KB nhớ Flash: đoạn lệnh bạn lập trình lưu trữ nhớ Flash vi điều khiển Thường có khoảng vài KB số dùng cho bootloader đừng lo, bạn cần 20KB nhớ đâu 2KB cho SRAM (Static Random Access Memory): giá trị biến bạn khai báo lập trình lưu Bạn khai báo nhiều biến cần nhiều nhớ RAM Tuy vậy, thực nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi điện, liệu SRAM bị 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): giống ổ cứng mini – nơi bạn đọc ghi liệu vào mà khơng phải lo bị cúp điện giống liệu SRAM 2.1.4 Các cổng vào/ra Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V với dòng vào/ra tối đa chân 40mA Ở chân có điện trở pull-up từ cài đặt vi điều khiển ATmega328 (mặc định điện trở không kết nối) Một số chân digital có chức đặc biệt sau: chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nhận (receive – RX) liệu TTL Serial Arduino Uno giao tiếp với thiết bị khác thông qua chân Kết nối bluetooth thường thấy nói nơm na kết nối Serial không dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng chân không cần thiết Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28-1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, bạn điều chỉnh điện áp chân từ mức 0V đến 5V thay cố định mức 0V 5V chân khác Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài chức thơng thường, chân cịn dùng để truyền phát liệu giao thức SPI với thiết bị khác LED 13: Arduino UNO có đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn thấy đèn nhấp nháy để báo hiệu Nó nối với chân số 13 Khi chân người dùng sử dụng, LED sáng Arduino UNO có chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF board, bạn để đưa vào điện áp tham chiếu sử dụng chân analog Tức bạn cấp điện áp 2.5V vào chân bạn dùng chân analog để đo điện áp khoảng từ 0V → 2.5V với độ phân giải 10bit Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác 2.2 Khối phím nhấn Các nút nhấn bàn phím xếp theo hàng cột Bàn phím 3X4 có hàng cột bàn phím 4X4 có hàng cột: 10 3.2.2 Lắp mạch Chuẩn bị: Servo Arduino Breadboard Dây cắm Breadboard Động servo sử dụng viết loại quay 180° (trái 90° phải 90°) Như đề cập bên trên, động servo loại động cho phép ta điều khiển cách xác Vì vậy, khác với động thông thường ta cần cấp nguồn cho động vận hành Động servo yêu cầu ta phải cấp nguồn (2 dây) nhận điều khiển từ mạch (1 dây), dây thường đánh màu sau: Đỏ: nhận điện nguồn, tuỳ vào loại động mà giá trị khác Nâu: nối với cực âm mạch Vàng: nhận tín hiệu từ mạch điều khiển 19 3.2.3 Lập trình điều khiển Arduino cung cấp sẵn thư viện để hỗ trợ việc điều khiển hoạt động động cơ, lệnh cho động làm theo mong muốn Arduino cung cấp sẵn thư viện để hỗ trợ việc điều khiển hoạt động động cơ, lệnh cho động làm theo mong muốn Servo khởi đầu góc 0° Xoay tới góc 90° Trở góc 0° lặp lại trình 20 CHƯƠNG III: THIẾT KẾ VÀ THI CÔNG Nguyên lý hoạt động Khi muốn mở cửa phải gõ mật với độ dài ký tự Nếu gõ màng hình LCD mở cửa Và gõ sai hình LCD hiển thị chữ nhập sai mật Muốn đổi mật ta nhấn nút đổi mật bàn phím, ta phải nhập mật mới, nhập xong nhấn nút xác nhận theo dẫn màng hình LCD, mật đổi Mơ Proteus 21 Mơ hình thực tế 22 Lưu đồ thuật tốn Mã nguồn chương trình #include #include #include #include #include int k=0, pos1=0, pos2=180, state = 0; const byte numRows = 4; const byte numCols = 4; char keymap[numRows][numCols] = 23 { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; char keypressed; char code[] = {'1', '2', '3', '4'}; char check1[sizeof(code)]; char check2[sizeof(code)]; short a = 0, i = 0, s = 0, j = 0; byte rowPins[numRows] = {9, 8, 7, 6}; byte colPins[numCols] = {5, 4, 3, 2}; LiquidCrystal_I2C lcd(0x27, 16, 2); Keypad myKeypad = Keypad(makeKeymap(keymap), rowPins, colPins, numRows, numCols); Servo myservo; void setup() { lcd.init(); lcd.backlight(); lcd.begin (16, 2); lcd.setCursor(0, 0); lcd.print("Moi Nhap Mat Khau"); lcd.setCursor(1 , 1); myservo.attach(11); 24 for(i=0 ; i 0; pos2 ) { myservo.write(pos2); delay(15); } } 31 CHƯƠNG IV: KẾT LUẬN Sau khoảng thời gian tìm hiểu, nghiên cứu dẫn thầy Nguyễn Ngọc Minh, nhóm chúng em hồn thành xong đề tài Sản phẩm hồn thành có đầy đủ hết chức đặt Do thời gian nghiên cứu kinh nghiệm thiết kế hệ thống, kinh nghiệm làm việc với ngơn ngữ lập trình cịn hạn chế, đồ án thiết kế dạng nhỏ ,bọn em cố gắng học hỏi tìm hiểu thêm để hoàn thiện nghiên cứu nhiều sản phẩm ngơn ngữ lập trình tương lai Nhóm chúng em xin chân thành cảm ơn! TÀI LIỆU THAM KHẢO [1] Arduino.vn [2] https://arduinokit.vn [4] http://vi.Wikipedia.org/ [5] http://google.com.vn/ [6] https://www.youtube.com/ 32 33 ... Chức hệ thống Hoạt động hệ thống CHƯƠNG II: THIẾT KẾ HỆ THỐNG Sơ đồ khối tổng thể hệ thống Các khối chức hệ thống ... nhập mật CHƯƠNG II: THIẾT KẾ HỆ THỐNG Sơ đồ khối tổng thể hệ thống Khối hiển thị thông tin : dùng để hiển thị thông tin (lấy từ khối điều khiển) Khối phím nhấn : nhập thông tin gửi đến khối... đặt Do thời gian nghiên cứu kinh nghiệm thiết kế hệ thống, kinh nghiệm làm việc với ngôn ngữ lập trình cịn hạn chế, đồ án thiết kế dạng nhỏ ,bọn em cố gắng học hỏi tìm hiểu thêm để hồn thiện nghiên