Tải bản đầy đủ (.doc) (26 trang)

ĐỒ ÁN CHUYÊN NGÀNH 2 ĐỀ TÀI: THIẾT KẾ NHÀ THÔNG MINH. TS. DƯƠNG HỮU ÁI

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 (404.67 KB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT-HÀN
----- -----

ĐỒ ÁN CHUYÊN NGÀNH 2
ĐỀ TÀI:
THIẾT KẾ NHÀ THƠNG MINH

Sinh viên thực hiện

: NGUYỄN HỮU KHÁNH
LÊ ĐỨC HỊA

Lớp

: 17CE

Giảng viên hướng dẫn:

TS. DƯƠNG HỮU ÁI

Đà nẵng, tháng 5 năm 2021


ĐẠI HỌC ĐÀ NẴNG
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
VIỆT-HÀN

CHUYÊN ĐỀ
ĐỀ TÀI:


THIẾT KẾ NHÀ THÔNG MINH

Đà Nẵng, tháng 04 năm 2021


LỜI NĨI ĐẦU
Trong những năm gần đây, ngơi nhà thơng minh (smart home) đã xuất hiện và
được ứng dụng rộng rãi trong cuộc sống từ những khách sạn hay resort sang trong cho
đến những ngôi nhà hiện đại đều đƣơc lắp đặt hệ thống điều khiển thông minh. Theo
xu hƣớng phát triển đó, em quyết định lựa chọn thực hiện nghiên cứu đề tài: “THIẾT
KẾ NGƠI NHÀ THƠNG MINH”
Ngồi việc hồn thành đồ án tốt nghiệp với những cơng việc trên đây thì nó cịn có
ý nghĩa sâu sắc đối với sinh viên thực hiện. Một lần nữa sinh viên được thực hành
những kiến thức học được từ ghế nhà trƣờng sẽ giúp hình thành những sản phẩm cơng
nghiệp, được sử dụng, cầm tay lắp những cảm biến mà từ trƣớc chỉ nằm trên trang
giấy. Trong quá trình tiến hành khơng thể khơng gặp những khó khăn vấp phải, do đó
kích thích sinh viên tƣ duy để tìm ra phƣơng án tối ưu và trao đổi thảo luận với thầy
cô, bạn bè.
Tuy nhiên do hạn chế về kinh nghiệm thực tế và thời gian thực hiện nên việc giải
quyết đề tài khơng thể tránh khỏi những thiếu sót. Do đó rất mong sự chỉ bảo thêm
của quý thầy cô cũng như những đóng góp của các bạn sinh viên.


NHẬN XÉT
(Của giảng viên hướng dẫn)
.............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................


LỜI CẢM ƠN
Sau một thời gian học tập và nghiên cứu nhóm thực hiện đề tài đã hồn thành
đề tài nghiên cứu khoa học được giao. Chúng em xin chân thành cảm ơn thầy Dương
Hữu Ái đã tận tình chỉ bảo và giúp đỡ em hoàn thành đề tài nghiên cứu. Do kiến thức
cịn hạn chế trong q trình thực hiện đề tài nghiên cứu chúng em không tránh khỏi
những sai xót mong q thầy cơ trong hội đồng thi chỉ dẫn, bỏ qua và giúp đỡ em.
Chúng em rất mong được sự giúp đỡ của quý thầy cô và các bạn để nội dung để tài này
ngày càng hoàn thiện hơn.
Giảng viên hướng dẫn

DƯƠNG HỮU ÁI

Sinh viên thực hiện

NGUYỄN HỮU KHÁNH
LÊ ĐỨC HÒA



MỤC LỤC
LỜI NÓI ĐẦU
MỞ ĐẦU....................................................................................................................... 1
1.1 Tổng quan............................................................................................................1
1.2 Các thành phần cơ bản trong hệ thống ngôi nhà thông minh...............................1
1.2.1 Hệ thống quản lý chiếu sáng, quạt gió.............................................................2
1.2.2 Hệ thống kiểm soát ra vào................................................................................2
1.2.3 Hệ thống cảm biến và báo cháy khí gas...........................................................2
1.3 Triển khai mơ hình nhà thơng minh thực tế..........................................................2
1.3.1 Mô tả yêu cầu....................................................................................................2
1.3.2 Mục tiêu thực hiện............................................................................................2
2.1. Các thiết bị..........................................................................................................3
2.2. Ardunio Uno.......................................................................................................3
2.2.1 Một vài thông số của Arduino MEGE...............................................................3
2.3. Cảm biến chuyển động........................................................................................4
2.3.1 Định nghĩa.........................................................................................................4
2.4. Cảm biến ánh sáng..............................................................................................5
2.4.1 Mô Tả................................................................................................................5
2.4.2 Ưu điểm............................................................................................................5
2.5. Cảm biến nhiệt độ...............................................................................................6
2.5.1 Mô tả................................................................................................................6
2.6. Cảm biến gas/lửa.................................................................................................6
2.6.1 Cảm biến lửa....................................................................................................6
2.6.2 Cảm biến gas....................................................................................................7
2.7. LCD 2004 + I2CLCD.........................................................................................7
2.7.1 Mơ tả................................................................................................................7
2.8. Khóa rf................................................................................................................8
Chương 3 PHÂN TÍCH THIẾT KẾ, LẬP TRÌNH, LẮP ĐẶT........................9
3. 1 Lưu đồ thuật tốn...............................................................................................9
3.2 Phần viết chương trình......................................................................................10

3.3 Mơ hình hồn chỉnh..........................................................................................17
3.4 Mơ tả hệ thống hồn chỉnh................................................................................18


Chương 4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN......................................18
TÀI LIỆU THAM KHẢO........................................................................................20


Chương 1 TỔNG QUAN VỀ HỆ THỐNG
1.1 Tổng quan
Nhà thông minh là ngôi nhà được trang bị các hệ thống tự động thơng minh cùng
với cách bố trí hợp lý, các hệ thống này có khả năng tự điều phối các hoạt động trong
ngơi nhà theo thói quen sinh hoạt và nhu cầu cá nhân của gia chủ. Chúng ta cũng có
thể hiểu ngơi nhà thơng minh là một hệ thống chỉnh thể mà trong đó, tất cả các thiết bị
điện tử gia dụng đều được liên kết với thiết bị điều khiển trung tâm và có thế phối hợp
với nhau để cùng thực hiện một chức năng. Các thiết bị này có thể tự đưa ra cách xử lý
tình huống được lập trình trước, hoặc là được điều khiển và giám sát từ xa.
Giải pháp nhà thông minh sẽ biến những món đồ điện tử bình thường trong ngơi
nhà trở nên thông minh và gần gũi với người dùng hơn, chúng được kiểm sốt thơng
qua các thiết bị truyền thông như điều khiển từ xa, điện thoại di động… ngơi nhà
thơng minh đơn giản nhất có thể được hình dung bao gồm một mạng điều khiển liên
kết một số lượng cố định các thiết bị điện, điện tử gia dụng trong ngôi nhà và chúng
được điều khiển thông qua một chiếc điều khiển từ xa. Chỉ với kết nối đơn giản như
trên cũng đủ để hài lòng một số lượng lớn các cá nhân có nhu cầu nhà thơng minh ở
mức trung bình.
Vậy liệu nhà thơng minh có làm thay đổi các thói quen vốn đã rất gắn bó từ trước
đến nay với hầu hết mọi người?
Chúng ta đều biết phần lớn căn hộ từ trung bình đến cao cấp đều sử dụng các loại
điều khiển từ xa để điều khiển máy lạnh, ti vi…còn lại phần lớn các thiết bị khác như
hệ thống đèn, bình nước nóng lạnh…phải điều khiển bằng tay. Những việc như vậy

đôi lúc sẽ đem lại sự bất tiện, khi mà chúng ta mong muốn có một sự tiện nghi và thoải
mái hơn, vừa có thể tận hưởng nằm trên giường coi ti vi vừa có thể kiểm sốt được hệ
thống các thiết bị trong nhà chỉ với một chiếc smartphone hay máy tính bảng.
1.2 Các thành phần cơ bản trong hệ thống ngôi nhà thơng minh
Mơ hình mơ phỏng ngơi nhà trong thực tế và sự phân bố khá hợp lý các hệ thống
đi kèm.
Việc bố trí rất quan trọng, những thiết bị không sử dụng nên sắp xếp vào chỗ hợp
lý tránh gây bất tiện trong sinh hoạt. Vì vậy, khi thiết kế ngôi nhà thông minh cần quan
tâm đến sự thay đổi mềm dẻo trong cách thức lắp đặt và cấu hình sử dụng.

1


1.2.1 Hệ thống quản lý chiếu sáng, quạt gió
Các thiết bị chiếu sáng như bóng đèn sợi đốt, đèn neon, đèn ngủ, trang trí…được
sử dụng rất nhiều. Vì vậy nếu phối hợp chiếu sáng không hợp lý sẽ dẫn tới bị “ơ
nhiễm” ánh sáng. Ngồi ra, việc chiếu sáng như vậy cịn gây lãng phí điện, giảm tuổi
thọ thiết bị. Bên cạnh đó số lượng đèn dùng để chiếu sáng là khá lớn, gia chủ sẽ gặp
những bất tiện nhỏ trong việc bật tắt, điều chỉnh độ sáng cho phù hợp.
Hệ thống chiếu sáng sẽ được tích hợp chung với các hệ thống khác hoặc sẽ được
tách riêng ra để điều khiển độc lập. Các giải pháp đều nhằm tối ưu hóa hệ thống và
giúp gia chủ điều khiển dễ dàng hơn. Các giải pháp kết hợp sẽ được tính đến để tự
động hóa tới mức tối đa. Hệ thống đèn sẽ tự bật nếu như có người đến.
1.2.2 Hệ thống kiểm sốt ra vào
Một ngơi nhà bình thường sẽ có từ 4 đến 5 phịng kín, và do vậy sẽ có một vài vấn
đề khó khăn khi giao tiếp từ phịng này sang phịng khác. Một hệ thống thơng tin liên
lạc nội bộ có thể giúp giải quyết vấn đề này.
Hệ thống quan sát sẽ giúp việc kiểm soát an ninh, người vào/ra ngôi nhà…giúp
cho gia chủ nhận diện khách nhanh chóng thơng qua camera.
1.2.3 Hệ thống cảm biến và báo cháy khí gas

Hệ thống các cảm biến là thành phần quan trọng trong bất kì hệ thống nào của
ngơi nhà, các cảm biến có nhiệm vụ gửi các thông số đo được về cho bộ xử lý trung
tâm để có giải pháp phù hợp với từng gói dữ liệu và xử lý từng tình huống tương ứng.
Các cảm biến cơ bản như cảm biến nhiệt độ, độ ẩm, cảm biến gas, cảm biến áp
suất, cảm biến hồng ngoại…

1.3 Triển khai mơ hình nhà thơng minh thực tế
1.3.1 Mơ tả yêu cầu
- Đảm bảo đầy đủ các yếu tố cơ bản nhất mô phỏng một ngôi nhà thông minh thu
nhỏ.
- Có tính khả thi và thực hiện được trong thời gian ngắn.
1.3.2 Mục tiêu thực hiện
- Thiết kế và thi cơng một số cảm biến như: khóa rf,cảm biến ánh sáng, cảm biến
nhiệt độ, độ ẩm…và các mạch công suất để điều khiển các thiết bị như đèn chiếu sáng,
quạt…

2


Chương 2

LÝ THUYẾT

2.1. Các thiết bị
-

Ardunio Uno
Cảm biến chuyển động
Cảm biến ánh sáng
Cảm biến nhiệt độ

Cảm biến gas/lửa
Lcd2004
Khóa rf
Các linh kiện đi kèm khác

2.2. Ardunio Uno
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường
nói tới chính là dịng Arduino UNO. Hiện dịng mạch này đã phát triển tới thế hệ thứ 3
(R3).

Hình 2.1 Arduino MEGA
2.2.1 Một vài thông số của Arduino MEGE
Vi điều khiển

AVR ATmega 2560 (8bit)
3


Nguồn cung cấp
Số chân I/O số
Số chân I/O tương tự
Xung clock
Bộ nhớ flash
SRAM

7-12V (Bộ điều chỉnh sẵn có cho bộ điều khiển)
54
16
16 MHz ( nhà sản xuất cài đặt là 1MHz)
128 KB

8 KB
USB (Lập trình với ATmega 8), ICSP (lập trình),
SPI, I2C và USART
2 (8bit) + 4 (16bit) = 6 Timer
12 (2-16 bit)
16 (10 bit)
4
24

Giao tiếp
Bộ Timer
PWM
ADC
USART
Ngắt thay đổi chân

2.3. Cảm biến chuyển động
2.3.1 Định nghĩa
Cảm biến chuyển động là cảm biến có khả năng nhận biết được một vật di chuyển
vào vùng mà cảm biến hoạt động và chuyển thành các tín hiệu điện.

Hình 2.2 Cảm biến chuyển động

4


2.4. Cảm biến ánh sáng
2.4.1 Mơ Tả

Hình 2.3 Cảm biến ánh sáng

Cảm biến ánh sáng sử dụng quang trở có khả năng thay đổi điện trở theo cường độ
ánh sáng chiếu vào. Tín hiệu xuất ra của cảm biến là digital HIGH (5V) và LOW
tượng trưng cho các trạng thái bật, tắt thiết bị điện tự động mà bạn không cần phải
thao tác vào
2.4.2 Ưu điểm





Nhỏ gọn
Độ chính xác cao
Giá thành thấp
Sử dụng điện áp 5v tương thích với arduino
5


2.5. Cảm biến nhiệt độ
2.5.1 Mơ tả

Hình 2.4 Cảm biến nhiệt độ
DHT11 Là cảm biến nhiệt độ, độ ẩm rất thơng dụng hiện nay vì chi phí rẻ và rất dễ
lấy dữ liệu thông qua giao tiếp 1-wire ( giao tiếp digital 1-wire truyền dữ liệu duy
nhất). Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu nhận về được chính
xác mà khơng cần phải qua bất kỳ tính tốn nào.

THƠNG SỐ KỸ THUẬT:
-

Điện áp hoạt động : 3V - 5V (DC)

Dải độ ẩm hoạt động : 20% - 95% RH, sai số ±5%RH
Dải nhiệt độ hoạt động : 0°C ~ 50°C, sai số ±2°C
Tần số lấy mẫu tối đa: 1 Hz
Khoảng cách truyển tối đa: 20m
Khối lượng: 8g

2.6. Cảm biến gas/lửa
2.6.1 Cảm biến lửa

Hình 2.5 Cảm biến lửa

6


THƠNG SỐ KỸ THUẬT:
Nguồn cấp: 3.3V - 5VDC
Dịng tiêu thụ: 15mA
Tín hiệu ra: Digital 3.3 - 5VDC tùy nguồn cấp hoặc Analog.
Khoảng cách : 80 cm
Góc quét : 60 độ

2.6.2 Cảm biến gas

Hình 2.7 Cảm biến gas
THƠNG SỐ KỸ THUẬT








Nguồn hoạt động: 5V
Loại dữ liệu: Analog
Phạm vi phát hiện rộng
Tốc độ phản hồi nhanh và độ nhạy cao
Mạch đơn giản
Ổn định khi sử dụng trong thời gian dài

2.7. LCD 2004 + I2CLCD
2.7.1 Mô tả
LCD 2004 là sản phẩm khắc phục được nhược điểm kết nối cần đến 8 dây của các
moduke led khác, sản phẩm dùng module Ì2C tích hợp nên việc kết nối trở nên đơn
gỉan với chỉ 4 dây. LED 20X04 có khả năng hiển thị 4 hàng, mỗi hàng 20 kí tự, tương
ứng với 4 hàng 20 cột. Để sử dụng được sản phẩm với chuẩn I2C cần thêm thư viện hỗ
trợ và phải biết địa chỉ của sản phẩm trong đường truyền I2C. Sản phẩm có độ bền cao
đồng thời có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người
mới sử dụng làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát
triển ứng dụng của mình.

7


Hình 2.8 LCD 2004 & I2C

2.8. Khóa rf

Hình 2.9 Khóa RF

8



Chương 3

PHÂN TÍCH THIẾT KẾ, LẬP TRÌNH, LẮP ĐẶT

3. 1 Lưu đồ thuật toán

9


3.2 Phần viết chương trình
#include <Keypad.h>
//thư viện bàn phím
#include <LiquidCrystal_I2C.h> //thư viện màn hình
#include <SPI.h>
//thư viện giao tiếp SPI
#include <MFRC522.h>
//thư viện RFID
#include <SoftwareSerial.h>
#include <Servo.h>
#define RST_PIN 8
#define SS_PIN 9
#define pkas A11 //cảm biến ánh sáng phòng khách
#define pkcd 23 //cảm biến chuyển động phòng khách
#define pkle 2 //đèn phòng khách
#define pnnd A13 //cảm biến nhiệt độ phòng ngủ
#define pnas A14 //cảm biến ánh sáng phòng ngủ
#define pncd 25 //cảm biến chuyển động phòng ngủ
#define pnle 4 //đèn phòng ngủ

#define pnfa 5 //quạt phòng ngủ
#define pbas A9 //cảm biến ánh sáng phòng bếp
#define pbga A15 //cảm biến khí gas
#define pbfi 29 //cảm biến lửa
#define pbcd 27 //cảm biến chuyển động phòng bếp
#define pble 6 //đèn phòng bếp
#define buzz 31 //còi
#define servoPin 7
byte readCard[4];
String MasterTag = "5C976B18";
String tagID = "";
int dem = 0;
int ledpk, fanpk, ledpn, fanpn, ledpb;
int gas, fire, dagui;
MFRC522 mfrc522(SS_PIN, RST_PIN);
LiquidCrystal_I2C lcd1(0x26, 16, 2);
LiquidCrystal_I2C lcd2(0x27, 20, 4);
SoftwareSerial mySerial(46, 48); //SIM800L Tx & Rx is connected to Arduino #3 & #2
Servo servo;
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char ID1[4] = {'A','B','C','D'};
char PW1[4] = {'1','1','1','1'};
char ID2[4] = {'B','C','D','A'};
char PW2[4] = {'1','1','1','3'};
char ID3[4] = {'C','D','A','B'};
char PW3[4] = {'1','1','1','6'};
char ID4[4] = {'D','A','B','C'};
char PW4[4] = {'1','1','1','9'};
char IDPW[8] = {' ',' ',' ',' ',' ',' ',' ',' '};


10


char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {22, 24, 26, 28};
byte colPins[COLS] = {30, 32, 34, 36};
//Create an object of keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup()
{
pinMode (pkcd, INPUT);
pinMode (pkle, OUTPUT);
pinMode (pncd, INPUT);
pinMode (pnle, OUTPUT);
pinMode (pnfa, OUTPUT);
pinMode (pbfi, INPUT);
pinMode (pbcd, INPUT);
pinMode (pble, OUTPUT);
pinMode (buzz, OUTPUT);
digitalWrite (pkle, LOW);
digitalWrite (pnle, LOW);
digitalWrite (pnfa, LOW);
digitalWrite (pble, LOW);
digitalWrite (buzz, HIGH);

SPI.begin();
mfrc522.PCD_Init();
servo.attach(servoPin);
servo.write(180);
lcd1.begin();
lcd1.clear();
lcd1.backlight();
lcd2.begin();
lcd2.clear();
lcd2.backlight();
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("Initializing...");
delay(1000);
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
updateSerial();
mySerial.println("AT+CNMI=1,2,0,0,0"); // Decides how newly arrived SMS messages should be
handled
updateSerial();
lcd1.print("Nhap ID: ____ >>");
lcd1.setCursor(0, 1);
lcd1.print("<lcd2.setCursor(0, 0);
lcd2.print(" Do an chuyen de 6 ");

11



lcd2.setCursor(0, 1);
lcd2.print("Led: ___%, Fan: ___%");
lcd2.setCursor(0, 2);
lcd2.print("Led: ___%, Gas: __ %");
lcd2.setCursor(0, 3);
lcd2.print("Led: ___%, Fire: ___");
}
void loop()
{
ledpk = map (analogRead (pkas), 0, 1023, 0, 255);
ledpn = map (analogRead (pnas), 0, 1023, 0, 255);
fanpn = map (analogRead (pnnd), 1023, 0, 0, 255);
ledpb = map (analogRead (pbas), 0, 1023, 0, 255);
gas = map(analogRead(pbga), 0, 1023, 0, 100);
fire = digitalRead (pbfi);
if (digitalRead (pkcd) == HIGH)
{
analogWrite (pkle, ledpk);
lcd2.setCursor(5, 1);
lcd2.print(map (ledpk, 0, 255, 0, 100)/100);
lcd2.print(map (ledpk, 0, 255, 0, 100)/10);
lcd2.print(map (ledpk, 0, 255, 0, 100)%10);
}
else
{
digitalWrite (pkle, LOW);
lcd2.setCursor(5, 1);
lcd2.print("OFF");
}
if (digitalRead (pncd) == HIGH)

{
analogWrite (pnle, ledpn);
analogWrite (pnfa, fanpn);
lcd2.setCursor(5, 2);
lcd2.print(map (ledpn, 0, 255, 0, 100)/100);
lcd2.print(map (ledpn, 0, 255, 0, 100)/10);
lcd2.print(map (ledpn, 0, 255, 0, 100)%10);
lcd2.setCursor(16, 1);
lcd2.print(map (fanpn, 0, 255, 0, 100)/100);
lcd2.print(map (fanpn, 0, 255, 0, 100)/10);
lcd2.print(map (fanpn, 0, 255, 0, 100)%10);
}
else
{
digitalWrite (pnle, LOW);
digitalWrite (pnfa, LOW);
lcd2.setCursor(5, 2);
lcd2.print("OFF");
lcd2.setCursor(16, 1);
lcd2.print("OFF");
}
lcd2.setCursor(16, 2);
lcd2.print(gas/10);
lcd2.print(gas%10);
if (gas >= 15)
{

12



if (dagui == 0)
sendsms();
buzzer (4);
}
else {dagui = 0;}
if (fire == 0)
{
lcd2.setCursor(17, 3);
lcd2.print("YES");
buzzer (4);
}
else
{
lcd2.setCursor(17, 3);
lcd2.print("NO ");
}
if (digitalRead (pbcd) == HIGH)
{
analogWrite (pble, ledpb);
lcd2.setCursor(5, 3);
lcd2.print(map (ledpb, 0, 255, 0, 100)/100);
lcd2.print(map (ledpb, 0, 255, 0, 100)/10);
lcd2.print(map (ledpb, 0, 255, 0, 100)%10);
}
else
{
digitalWrite (pble, LOW);
lcd2.setCursor(5, 3);
lcd2.print("OFF");
}

delay(200);
char key = keypad.getKey();
if (key)
{
buzzer (1);
Serial.print("Key Pressed : ");
Serial.println(key);
if (dem < 4)
{
lcd1.setCursor(9 + dem, 0);
lcd1.print(key);
}
else
{
lcd1.setCursor(5 + dem, 0);
lcd1.print("*");
}
IDPW[dem] = key;
dem++;
if (dem == 4)
{
if ((ID1[0] == IDPW[0])&&(ID1[1] == IDPW[1])&&(ID1[2] == IDPW[2])&&(ID1[3] ==
IDPW[3])||
(ID2[0] == IDPW[0])&&(ID2[1] == IDPW[1])&&(ID2[2] == IDPW[2])&&(ID2[3] ==
IDPW[3])||
(ID3[0] == IDPW[0])&&(ID3[1] == IDPW[1])&&(ID3[2] == IDPW[2])&&(ID3[3] ==
IDPW[3])||

13



(ID4[0] == IDPW[0])&&(ID4[1] == IDPW[1])&&(ID4[2] == IDPW[2])&&(ID4[3] ==
IDPW[3]))
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Nhap PW: ____ >>");
}
else
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Nhap lai ID >>");
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Nhap ID: ____ >>");
dem = 0;
}
}
if (dem == 8)
{
if ((PW1[0] == IDPW[4])&&(PW1[1] == IDPW[5])&&(PW1[2] == IDPW[6])&&(PW1[3] ==
IDPW[7]))
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Hi, ...");
lcd1.setCursor(0, 1);
lcd1.print("Dang mo cua... ");
servo.write(50);

delay (5000);
servo.write(180);
}
else
if ((PW2[0] == IDPW[4])&&(PW2[1] == IDPW[5])&&(PW2[2] == IDPW[6])&&(PW2[3] ==
IDPW[7]))
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Hi, Huu Khanh...");
lcd1.setCursor(0, 1);
lcd1.print("Dang mo cua... ");
servo.write(50);
delay (5000);
servo.write(180);
}
else
if ((PW3[0] == IDPW[4])&&(PW3[1] == IDPW[5])&&(PW3[2] == IDPW[6])&&(PW3[3] ==
IDPW[7]))
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Hi, Duc Hoa... ");
lcd1.setCursor(0, 1);
lcd1.print("Dang mo cua... ");
servo.write(50);
delay (5000);
servo.write(180);

14



}
else
if ((PW1[0] == IDPW[4])&&(PW1[1] == IDPW[5])&&(PW1[2] == IDPW[6])&&(PW1[3]
== IDPW[7]))
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Hi, The Trung...");
lcd1.setCursor(0, 1);
lcd1.print("Dang mo cua... ");
servo.write(50);
delay (5000);
servo.write(180);
}
else
{
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Nhap lai ID&PW>>");
}
delay (700);
lcd1.setCursor(0, 0);
lcd1.print("Nhap ID: ____ >>");
lcd1.setCursor(0, 1);
lcd1.print("<dem = 0;
}
}

while (getID())
{
lcd1.clear();
lcd1.setCursor(0, 0);
if (tagID == MasterTag)
{
buzzer (1);
lcd1.print("Da truy cap!");
lcd2.setCursor(0, 0);
lcd2.print("Co nguoi da vao nha!");
servo.write(50);
// You can write any code here like opening doors, switching on a relay, lighting up an LED, or
anything else you can think of.
}
else
{
buzzer (2);
lcd1.print("Loi truy cap!");
lcd2.setCursor(0, 0);
lcd2.print("Co nguoi nhap sai...");
}
lcd1.setCursor(0, 1);
lcd1.print(" ID : ");
lcd1.print(tagID);
delay(5000);
lcd2.setCursor(0, 0);
lcd2.print(" Do an chuyen de 6 ");
servo.write(180);

15



lcd1.clear();
lcd1.print("Nhap ID: ____ >>");
lcd1.setCursor(0, 1);
lcd1.print("<dem = 0;
}
}
boolean getID()
{
// Getting ready for Reading PICCs
if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue
return false;
}
if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue
return false;
}
tagID = "";
for ( uint8_t i = 0; i < 4; i++) { // The MIFARE PICCs that we use have 4 byte UID
//readCard[i] = mfrc522.uid.uidByte[i];
tagID.concat(String(mfrc522.uid.uidByte[i], HEX)); // Adds the 4 bytes in a single String variable
}
tagID.toUpperCase();
mfrc522.PICC_HaltA(); // Stop reading
return true;
}
void buzzer (int n)
{
for (int i = 0; i < n; i++)

{
delay (100);
digitalWrite (buzz, LOW);
delay (100);
digitalWrite (buzz, HIGH);
}
}
void sendsms ()
{
mySerial.println("AT"); //Once the handshake test is successful, it will back to OK
updateSerial();
mySerial.println("AT+CMGF=1"); // Configuring TEXT mode
updateSerial();
mySerial.println("AT+CMGS=\"+84346390940\"");//change ZZ with country code and xxxxxxxxxxx
with phone number to sms
updateSerial();
mySerial.print("Canh bao! Co ro ri khi gas!");
updateSerial();
mySerial.write(26);
dagui = 1;
}
void updateSerial()
{
delay(500);
while (Serial.available())
{
mySerial.write(Serial.read());//Forward what Serial received to Software Serial Port
}
while(mySerial.available())


16


{
Serial.write(mySerial.read());//Forward what Software Serial received to Serial Port
}
}

3.3 Mơ hình hồn chỉnh

Hình 3.1 Mạch sau khi lắp đặt và nạp code
17


3.4 Mơ tả hệ thống hồn chỉnh
- Đầu tiên, người dùng sẽ phải chọn mã khóa để vào nhà, nếu nhập mã đúng thì sẽ mở
cửa, nếu mã sai thì sẽ hiện thơng báo lên màn hình LCD.
- Khi có người vào thì đèn sẽ sáng và quạt sẽ bật theo cảm biến chuyển động và cảm
biến nhiệt.
- Nhà bị rị rĩ khí gas thì sẽ cảm biến gas sẽ hoạt động và hệ thống sẽ gửi thông báo
vào điện thoại của chủ nhà.

Chương 4

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Ưu điểm: cung cấp sự an tâm cho chủ nhà, cho phép họ quan sát nhà từ xa, chống lại
những nguy hiểm như máy pha cà phê bị bỏ quên hoặc cửa phía trước qn chưa khóa.
Hạn chế:
-


Hiện nay hệ thống vẫn đang trong quá trình thực nghiệm.

-

Phạm vi của dự án là triển khai ở các hộ gia đình nhỏ, nơi mà hệ thống thông
tin tương đối phát triển.

Định hướng phát triển
-

Tối ưu hoá hệ thống.

-

Phát triển và mở rộng quy mô.

-

Liên kết với các khu công nghiệp, hợp tác xã, khu đơ thị và các trung tâm trên
tồn quốc.

18


×