Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 25

`ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA


KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ

BÁO CÁO BÀI TẬP LỚN


THIẾT KẾ HỆ THỐNG NHÚNG
Đề tài:Digital door lock
Giảng viên hướng dẫn:Thầy BÙI QUỐC BẢO
Nhóm: 09
Sinh viên thực hiện:
HUỲNH KỲ ANH – 1912566
LÊ DANH AN – 1912521
NGUYỄN VĂN TRÌNH – 1915669
TRẦN TIẾN ĐẠT - 1913079
🙢🕮🙠

1
MỤC LỤC

CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI 3


1.1 Mục đích: 3
1.2 Sơ đồ khối hệ thống: 3
CHƯƠNG 2: NỘI DUNG ĐỀ TÀI 4
2.1 System Specification: 4
2.2 Embedded System Design Issues: 8
2.3 Team Contract: 9
2.4 Project Plan 10
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG 12
3.1 Phần cứng: 12
3.2 Phần mềm: 12
CHƯƠNG 4: KẾT LUẬN 22

2
CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI

1.1 Mục đích:


- · Tối ưu hóa khả năng bảo vệ, tăng cường khu vực, nơi ở
- · Giải quyết các mặt hạn chế của những ổ khóa thông thường hay những cách đóng, khóa
thông thường
· Tiện lợi, dễ sử dụng, hiện đại, phù hợp với thị trường
1.2 Sơ đồ khối hệ thống:

1.3 Môi trường sử dụng:

· 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

1.4. Chức năng:

3
· Chức năng reset

· Chức năng thiết lập chế độ tự động hoặc thủ công

· Cảnh báo dấu hiệu đột nhập, nhập sai mật khẩu nhiều lần

1.5. Hiệu năng: xấp xỉ 90% kì vọng.

CHƯƠNG 2: NỘI DUNG ĐỀ TÀI


2.1 System Specification:

⮚ 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.

· Đầu nối ra 8 chân.

· Kích thước bàn phím 77 x 69 mm

Arduino UNO
uno R3
Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên 7-12V DC


dùng

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

5
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng
bởi bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

LCD · Điện áp hoạt động là 5 V. LCD16


Hardware 02
· Kích thước: 80 x 36 x 12.5 mm

· Chữ đen, nền xanh lá

Speaker · Đường kính loa: 4 cm Loa


MINI
Doorlock · Bề rộng : 2 cm 3W
SPEAK
· Công suất cực đại : 3W
ER
· Trở Kháng : 4 ohm

· Độ nhạy: 100 dB/W

RF · Tần số: 433.92 MHZ. RM033


Transmitter 6
And · Điện áp hoạt động: 3-12 vdc.
Receiver
· Mức dữ liệu: 8 kbps.

Electroman · Nguồn điện: 12VDC B0474

6
etic lock · Dòng điện làm việc: 200mA lock

· Yêu cầu nguồn cấp: 12VDC/1A

· Kích thước: L54xD23xH28

· Khối lượng: 0.14kg

IR sensor · Điện áp: 3.3V - 6VDC LM393

· Khoảng cách phát hiện: 2 ~ 30 cm

· Kích thước: 3.2cm x 1.4cm

EEPROM · Thời gian truy cập: 50 ns 25LC25


6
· Dung lượng: 256 kbit

· Phân vùng: 32 k x 8

· Dòng tối đa: 6mA

· Nguồn cung cấp: 2.5-5.5V

⮚ 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.

2.2 Embedded System Design Issues:

⮚ 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%)

⮚ Real – time issues:


● Hệ thống được xếp vào loại soft real -time
● Thời gian trễ cho phép là 100ms
➢ functions:

- 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.

- Tích hợp nhiều hơn một cách đóng/ mở khóa.

- 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.

2.3 Team Contract:


Team name: Nhóm 9
Team member:4 Roles
Nguyễn Văn Trình Trưởng nhóm, thiết kế hệ thống
Huỳnh Kỳ Anh Thiết kế phần cứng
Lê Danh An Thiết kế phần cứng
Trần Tiến Đạt Thiết kế phần mềm
Tasks
1. Xây dựng cấu trúc hệ thống:Trần Tiến Đạt
2. Xây dựng thiết kế mạch in:Nguyễn Văn Trình
3. Viết giải thuật, lập trình hệ thống:Huỳnh Kỳ Anh,Trần Tiến Đạt,Lê Danh An
4. Tổng hợp, thử nghiệm, hoàn thiện:Cả team
Thời gian hợp nhóm:Các buổi nhóm tự sắp xếp
Team rules 1. Các thành viên đến đúng giờ họp nhóm
2. Tập trung lắng nghe và đóng góp ý kiến
3. Hoàn thành công việc được giao và đúng deadline
4. Làm việc nhóm nghiêm túc và tích cực

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)

-Chuông báo động

Estimated Time 7 tuần (6 tiếng / ngày)


Start:23/9/2021 End:13/12/2021
Estimated Cost Components : 200.000 VNĐ
(Ước tính) Tools : 150.000 VNĐ
Materials : 120.000 VNĐ
Totals : 470.000 VNĐ
Team members:

2 Schedule Week 1 Week 2 Week 3 Week 4 Week 5 Week 6 to


end
1. Design system
architecture

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

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG


3.1 Phần cứng:
⮚ Mô phỏng sơ đồ nguyên lý:

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>

// initialize the library with the numbers of the interface pins

LiquidCrystal lcd(9, 8, 7, 6, 5, 4);

const byte ROWS = 4; //four rows

const byte COLS = 4; //four columns

//define the cymbols on the buttons of the keypads

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

//initialize an instance of class NewKeypad

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

const int LED_RED=10; //Red LED

const int LED_GREEN=11; //Green LED

const int COI=13;

int c=0;

const int RELAY=12; //Lock Relay or motor

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);

// set up the LCD's number of columns and rows:

lcd.begin(16, 2);

// Print a message to the LCD.

lcd.print("Password Access:");

17
lcd.setCursor(0,1); //Move coursor to second Line

// Turn on the cursor

lcd.cursor();

digitalWrite(LED_GREEN,HIGH); //Green LED Off

digitalWrite(LED_RED,LOW); //Red LED On

digitalWrite(RELAY,LOW); //Turn off Relay (Locked)

//=================================================================

// LOOP

//=================================================================

void loop(){

char customKey = customKeypad.getKey();

18
if (customKey && (keycount<4) && (customKey !='=') && (customKey !='C')){

//lcd.print(customKey); //To display entered keys

lcd.print('*'); //Do not display entered keys

code[keycount]=customKey;

keycount++;

if(customKey == 'C') //Cancel/Lock Key is pressed clear display and lock

Lock(); //Lock and clear display

if(customKey == '=') //Check Password and Unlock

19
if((code[0]=='1') && (code[1]=='2') && (code[2]=='3') && (code[3]=='4')) //Match the
password

digitalWrite(LED_GREEN,LOW); //Green LED Off

digitalWrite(LED_RED,HIGH); //Red LED On

digitalWrite(RELAY,HIGH); //Turn on Relay (Unlocked)

lcd.setCursor(0,1);

lcd.print("Door Open ");

delay(5000); //Keep Door open for 4 Seconds

Lock();

else

20
c++;

if(c == 3){

lcd.setCursor(0,1);

lcd.print("Warning!!!");

digitalWrite(COI,HIGH);

delay(5000);

digitalWrite(COI,LOW );

c=0;

//Display Error Message

lcd.setCursor(0,1);

lcd.print("Invalid Password"); //Display Error Message

delay(1500); //Message delay

21
Lock();

//=================================================================

// LOCK and Update Display

//=================================================================

void Lock()

lcd.setCursor(0,1);

lcd.print("Door Locked ");

delay(1500);

22
lcd.setCursor(0,1);

lcd.print(" "); //Clear Password

lcd.setCursor(0,1);

keycount=0;

digitalWrite(LED_GREEN,HIGH); //Green LED Off

digitalWrite(LED_RED,LOW); //Red LED On

digitalWrite(RELAY,LOW); //Turn off Relay (Locked)

⮚ Hệ thống hoàn chỉnh:

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

You might also like