Professional Documents
Culture Documents
Digital Door Lock 09 1
Digital Door Lock 09 1
1
MỤC LỤC
2
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
· Dùng cho các công ty, xí nghiệp, nhà máy, nhà kho để tăng tính tiện lợi, giảm thiểu
rủi ro, dễ kiểm tra số lượng người tiếp cận và an ninh
· Dùng cho khách sạn, nhà nghỉ, khu nghỉ dưỡng, chung cư cao cấp, những ngôi nhà
thông minh, mang tính hiện đại, tiện lợi, khả năng quản lí tốt, tối ưu hóa và phối
hợp tốt đối với các thiết bị bảo vệ an ninh khác
3
· Chức năng reset
· Cảnh báo dấu hiệu đột nhập, nhập sai mật khẩu nhiều lần
⮚ Product Specification:
Thiết bị giúp chúng ta tăng khả năng bảo vệ,tăng cường an ninh khu vực xung quanh
⮚ Hardware Specification:
4
Tên thiết bị Mô tả Tên kĩ
thuật
Numberic · Module bàn phím ma trận 4x4 loại phím mềm. 4x4
keyboard KEYPA
· Độ dài cáp: 88mm.
interface D
· Nhiệt độ hoạt động 0 ~ C.
Arduino UNO
uno R3
Vi điều khiển ATmega328 họ 8bit
5
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng
bởi bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
6
etic lock · Dòng điện làm việc: 200mA lock
· Phân vùng: 32 k x 8
⮚ Software Specification:
Tên phần mềm Nhà sản xuất Ứng dụng
Proteus 8 Profestional Labcenter Electronics Mô phỏng sơ đồ
Ltd nguyên lý của hệ
thống
Arduino IDE Arduino LLC Hỗ trợ viết bằng
ngôn ngữ C
Altium Altium Limited Thiết kế mạch PCB
dành cho mạch in
⮚ Test Specification:
7
- Kiểm tra khả năng trao đổi dữ liệu của EPROM : Dữ liệu từ bàn phím được lưu trữ
trong EPROM tránh tràn dữ liệu.
- Kiểm tra RF module và cảm biến khoảng cách: Module nhận tín hiệu từ remote khi
bấm nút.
- Kiểm tra khả năng hiển thị dữ liệu thông số trên LCD: Màn hình LCD hiện thị đúng và
đạt yêu cầu khi nhập dữ liệu từ bàn phím hay các chức năng có liên quan.
- Kiểm tra khả năng nhận dữ liệu từ bàn phím: Bàn phím ổn định về mặt vật lý và liên
kết được với chương trình.
- Kiểm tra quá trình vận hành của ổ khóa và chuông báo động: Chuông báo cần kêu khi
nhập mật khẩu đúng/sai theo như đã được lập trình.
⮚ Constraints issues:
No. Contraints
1 Giá thành thấp (< 500 000VNĐ)
2 Tuổi thọ cao (2-3 năm)
3 Khối lượng nhỏ (<1kg)
4 Độ chính xác cao (>95%)
- Phải có chức năng thông báo mức năng lượng để kịp thời thay thế.
- Giao diện cụ thể, dễ thao tác, cần có sách hướng dẫn chi tiết.
- Cần thông báo và gửi dữ liệu cần thiết cho người dùng.
8
- Cần có chuông báo động trong trường hợp có kẻ đột nhập.
- Thiết kế cấu trúc và mạch để dễ dàng trong việc lắp đặt cũng như bảo quản tốt nguồn pin
cung cấp.
9
2.4 Project plan:
Project Planning
Team name Nhóm 9
Product name Digital door lock
Main features
-Khóa cửa kĩ thuật số (Truy cập thông minh bằng nhiều cách)
2. Design
hardware part
2.1 Densign central
control board
2.2 Design interface
10
2.3 Implement
hardware board
3. Develop
software part
3.1 Develop control
algorithm
3.2 Develop drive
user interface
3.3 Implement
software program
4. Intergrate and
test
4.1 Simulate
operation
4.2 Verify system
11
Altium:
12
3.2 Phần mềm:
⮚ Lưu đồ giải thuật
13
· Giải thích
1. Mật khẩu mặc định được thiết lập trong mã nguồn lưu vào EEPROM, speaker
lúc này được lập trình tích cực thấp, chốt cửa được lập trình nếu như cửa chưa
đóng bằng cách nhận tín hiệu cảm biến thì chốt sẽ không hoạt động (mở chốt).
2. Nếu trường hợp cửa đóng lại, thì chốt cửa sẽ đóng lại. Và nếu muốn mở khóa
thì cần phải nhập mật khẩu, nếu không nhấn nút hoặc chưa đủ điều kiện để hệ
thống thực hiện tác vụ tiếp theo thì hệ thống sẽ thực hiện vòng lặp vô tận ở
thời điểm hiện tại cho đến khi có thao tác nhấn nút tiếp theo.
3. Nếu mật khẩu nhập vào đã đủ 4 số thì so sánh với dữ liệu đã lưu ở EEPROM,
nếu đúng thì chốt sẽ mở, sai thì chuyển qua vòng lặp có điều kiện, khi nhập
sai thì hệ thống hiện thị lên màn hình LCD “Wrong password” và quay lại
bước nhập mật khẩu. Nếu nhập sai 3 lần thì lúc này speaker tích cực cao, phát
tín hiệu báo động và giao diện quay trở lại mục 2
14
4. Sau đó nếu đóng cửa lại và cảm biến nhận được tín hiệu thì coi như quá trình
quay về mục 1.
Code:
#include <Keypad.h>
#include<LiquidCrystal.h>
#include<EEPROM.h>
char hexaKeys[ROWS][COLS] = {
{'7','8','9','/'},
{'4','5','6','*'},
{'1','2','3','-'},
15
{'C','0','=','+'}
};
byte rowPins[ROWS] = {3, 2, 19, 18}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {17, 16, 15, 14}; //connect to the column pinouts of the keypad
int c=0;
char keycount=0;
16
char code[4]; //Hold pressed keys
//=================================================================
// SETUP
//=================================================================
void setup(){
pinMode(LED_RED,OUTPUT);
pinMode(LED_GREEN,OUTPUT);
pinMode(RELAY,OUTPUT);
pinMode(COI,OUTPUT);
lcd.begin(16, 2);
lcd.print("Password Access:");
17
lcd.setCursor(0,1); //Move coursor to second Line
lcd.cursor();
//=================================================================
// LOOP
//=================================================================
void loop(){
18
if (customKey && (keycount<4) && (customKey !='=') && (customKey !='C')){
code[keycount]=customKey;
keycount++;
19
if((code[0]=='1') && (code[1]=='2') && (code[2]=='3') && (code[3]=='4')) //Match the
password
lcd.setCursor(0,1);
Lock();
else
20
c++;
if(c == 3){
lcd.setCursor(0,1);
lcd.print("Warning!!!");
digitalWrite(COI,HIGH);
delay(5000);
digitalWrite(COI,LOW );
c=0;
lcd.setCursor(0,1);
21
Lock();
//=================================================================
//=================================================================
void Lock()
lcd.setCursor(0,1);
delay(1500);
22
lcd.setCursor(0,1);
lcd.setCursor(0,1);
keycount=0;
23
24
CHƯƠNG 4: KẾT LUẬN
Qua quá trình xây dựng và hoàn thành đề tài thì chúng em thấy đây là một đề tài hay,
có tính ứng dụng rất lớn trong thực tế. Trên cơ bản, đề tài đã đạt được một số yêu cầu đó là:
- Tạo hệ thống khóa cửa thông minh giúp bảo vệ an ninh khu vực,đơn giản dễ
sử dụng.
Trong tương lai, nhóm em sẽ cố gắng phát triển hệ thống hoàn thiện hơn, cải thiện độ
chính xác của sản phẩm.
Do thời gian thực hiện và lượng kiến thức còn hạn chế nên không tránh khỏi những
thiếu sót. Chúng em mong nhận được sự góp ý, bổ sung của thầy đề đề tài ngày càng hoàn
thiện hơn
25