Tải bản đầy đủ (.docx) (10 trang)

Tiểu luận Thiết kế ổ khóa có nút bấm hiển thị màn hình LCD

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (330.13 KB, 10 trang )

TRƯỜNG ĐẠI HỌC MỎ – ĐỊA CHẤT
BỘ MÔN MẠNG MÁY TÍNH

TIỂU LUẬN MÔN HỌC
KIẾN TRÚC VÀ HẠ TẦNG MẠNG IOT - 7080713

Họ và tên: Nguyễn Hữu Thắng
Mã số sinh viên : 1821050139
Lớp: DCCTKH63C

Nhóm:02

Cán bộ giảng dạy: Trần Thị Thu Thúy

HÀ NỘI
1


Mục lục

2


I.Mở đầu
Ngày này công nghệ thông minh đã được phát triển và áp dụng vào trong cuộc sống
con người rất nhiều , đem lại những tiện nghi khi sử dụng. Khóa cửa thông minh cũng
vậy. Là sản phẩm được áp dụng công nghệ thông minh giúp người dùng dễ dàng thực
hiện các thao tác đóng mở cửa mà không cần đến chìa khóa. Thay vào đó người dùng có
thể thực hiện mở cửa bằng mã số , vân tay , thẻ từ , . . . thậm chí là ứng dụng điện thoại.
Khóa cửa thông minh được thiết kế với công nghệ bảo mật cao giúp cho người dùng an
tâm hơn khi sử dụng , đặc biệt một số mẫu khóa thông minh có chức năng theo dõi qua


ứng dụng điện thoại giúp chủ nhà dễ dàng kiểm soát và theo dõi được hoạt đợng của ngơi
nhà.
*Ưu điểm:
- Tính tiện lợi: khơng phải mang chìa khóa , khơng sợ mất chìa, tiết kiệm thời gian cơng
sức.
- Tính an toàn và bảo mật cao: sử dụng vân tay , mã số , ... cấu tạo chắc chắn 5 chớt thay
vì 2 chốt như khóa thường, không có lỗ khóa tránh cạy phá, có chức năng báo đợng.
-Tính tiện dụng: có thể ghi lại ngày giờ , kiểm soát khu vực, quản lí người ra vào vào
từng thời điểm,. . .
-Thiết kế và mẫu mã đa dạng , phù hợp với từng nợi thất của các gia đình hiện đại.
*Nhược điểm:
- Giá thành cao hơn các loại khóa truyền thống
-Thời gian lắp đặt và chi phí cao
-Nhiều sản phẩm hàng nhái kém chất lượng khó phân biệt.
Nhận thấy tính thực tế, em xin được thực hiện Đề tài 8: Xây dựng một ứng dụng
đóng/mở cửa dựa trên (thẻ từ , mật khẩu ,vân tay,...) sử dụng mạch arduino.

II.Nội dung
II.1 Nội dung 1:
Vẽ sơ đồ mạch điện ( trên proteus...). viết chương trình trên arduino IDE; mô phỏng
mạch hiển thị “ Tên của bạn” trên màn hình LCD. Hiện thị kết quả.
Sơ đồ mạch:

3


Code:

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
lcd.begin(16, 2) ;
lcd.print("Nguyen Huu Thang") ;
}
void loop() {
lcd.setCursor( 0, 1) ;
lcd.print("1821050139") ;
}
II.2 Nội dung 2:
Xây dựng một ứng dụng đóng/mở cửa dựa trên (thẻ từ , mật khẩu ,vân tay,...) sử dụng
mạch arduino.
4


Sơ đồ mạch:

5


*Các thiết bị được sử dụng:

- Mạch arduino uno
- Keypad-phone : bảng số để nhập mật mã khóa cửa
- Led-Grenn: bóng đèn báo cửa mở hoặc khóa
- LM016L : Màn hình LCD hiển thị
- Motor-PWMSERVO: đợng cơ Servo PWM , được sử dụng như một khóa điện
- POT: biến trở
*Nguyên tắc hoạt động

- Khi được cấp điện , màn hình LCD hiện thị “ XIN CHAO NHAP PASSWORD “

và đèn khóa báo xanh.
- Khi nhập password sai , màn hình LCD hiển thị “ PASSWORD SAI”

6


- Khi nhập đúng , động cơ Servo sẽ quay 180 độ và cửa mở , đèn báo UNLOCK
sáng và màn hình LCD hiện “ MOI VAO”
*Code:

#include "Keypad.h"
#include <LiquidCrystal.h>
#include <Servo.h>
Servo servo;
LiquidCrystal lcd (A0, A1, A2, A3, A4, A5); // khai bao cac chan ket noi lcd
const int hang = 4; // khai bao so hang
const int cot = 3; // khai bao so cot
char keys[hang][cot] = //dinh nghia cac phim
{{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}};
byte rowPins[hang] = {4, 3, 2, 1};
byte colPins[cot] = {7, 6, 5};
char* password ="5555"; // cai dat password
int pozisyon = 0; // keypad position
#define Led1 8 // den bao trang thai UNLOCK
#define Led2 9 // den bao trang thai LOCK
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, hang, cot );
void setup()

{
lcd.begin(16, 2); // thiet lap loai LCD su dung la 16 cot va 2 dong
pinMode(Led1, OUTPUT); //set OUTPUT cho Led1
pinMode(Led2, OUTPUT); //set OUTPUT cho Led2
setLocked (true); // trang thai password
servo.attach(10); // chan xuat tin hieu den Servo
}
void loop(){
char whichKey = keypad.getKey(); //dinh nghia bien lay trang thai ban phim
lcd.setCursor(0, 0);
lcd.print(" XIN CHAO ");
lcd.setCursor(0, 1);
lcd.print(" NHAP PASSWORD ");
7


if(whichKey == '*'||whichKey == '#'||whichKey == '0'||whichKey == '3'||
whichKey == '4'||whichKey == '6'||whichKey == '7'||whichKey == '8'||whichKey == '9'){
// dinh nghia key khong co gia tri
pozisyon=0;
setLocked (true);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" PASSWORD SAI ");
delay(1000);
lcd.clear();
}
if(whichKey == password [pozisyon]){
pozisyon ++;
}

if(pozisyon == 4){
setLocked ( false);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(" ***MOI VAO*** ");
delay(3000);
lcd.clear();
}
delay(100);
}
void control_servo(){
servo.write(180);
delay(1000);
servo.write(90);
delay(1000);
servo.write(0);
delay(1000);
}
void setLocked(int locked){
if(locked){
digitalWrite(Led2,HIGH);
digitalWrite(Led1,LOW);
}
else{
control_servo();
digitalWrite(Led1,HIGH);
digitalWrite(Led2,LOW);
8



}
}

III.KẾT LUẬN
Qua quá trình học tập và thực hành , em đã tiếp thu được những kiến thức bổ ích
do giáo viên bộ môn truyền đạt và vận dụng thành công trong việc làm tiểu luận. Sơ đồ
mạch được vẽ đầy đủ , dễ nhìn , phần code đầy đủ và chi tiết. Sau thời gian học tập , em
mong muốn sẽ phát triển lên những thiết bị khóa tân tiến và hiện đại hơn như sử dụng
bằng vân tay hoặc sinh trắc học. Đáp ứng được nhu cầu sử dụng hiện đại hơn trong tương
lai.

9


IV.TÀI LIỆU THAM KHẢO
/> /> /> />
10



×