LẬP TRÌNH CHO MÔ HÌNH

Một phần của tài liệu Thiết kế và thi công mô hình khóa điện tử có giám sát từ xa sử dụng GSM và RFID (Trang 45)

4.3.1 Lưu đồ chương trình

4.3.1.1 Lưu đồ chương trình tổng quát

Bắt đầu

Khởi tạo LCD, RFID, Servo, Led, Buzzer,

module sim, timer, ngắt GPIO

Chương trình chính (kiểm tra hoạt động RFID, ma trận

phím, cảnh báo thẻ sai)

Kiểm tra nút nhấn (trạng thái cửa)

Cảnh báo PIR (phát hiện có người đột nhập)

Kết thúc

Hình 4.6 Lưu đồ chương trình tổng quát toàn bộ hoạt động.

Sau khi kết thúc chu kỳ thì chu kỳ mới bắt đầu.

Giải thích: Khi mạch bắt đầu hoạt động

- Khởi tạo các module LCD, RFID, sedrvo, led, buzzer, Sim, timer, GPIO. - Sau khi khởi tạo bắt đầu chạy chương trình chính.

- Kiểm tra chương trình nút nhấn đơn có nhấn hay không.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34

4.3.1.2 Lưu đồ chương trình chính

Bắt đầu

Quẹt thẻ RFID

S

Dem = dem+1 Dem = 3 Gửi tin nhắn cảnh báo Đ Nhập mật khẩu Kiểm tra mật khẩu Trạng thái cửa = mở Nhấn A? Nhấn C? Nhấn B?

Thêm thẻ Đổi pass Xóa thẻ RFID

S Đ Đ S S S Đ Đ 2 Nhấn # Bật SMS (PIR) Đ 1 S Đ S Hình 4.7 Lưu đồ chương trình chính.

Giải thích: Khi hoạt động, mô hình ở trạng thái chờ quẹt thẻ. Khi quẹt thẻ:

- Nếu chương trình phát hiện thẻ sai đủ 3 lần sẽ gửi tin nhắn cảnh báo về số điện thoại đã cài đặt trước đó, kích hoạt chuông và đèn báo động.

- Nếu thẻ đúng thì chương trình sẽ yêu cầu nhập mật khẩu, mật khẩu đúng thì cửa sẽ mở. Lúc đó người dùng có quyền thêm thẻ (nhấn phím A), đổi mật khẩu (nhấn phím C), xóa thẻ (nhấn phím B), bật chương trình báo động bằng tin nhắn (nhấn phím #).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35

Lưu đồ chương trình thêm thẻ, xóa thẻ, đổi pass:

Bắt đầu Quét RFID (lấy mã RFID) Thêm thẻ Phát hiện thẻ mới? Nhập mật khẩu mới Kết thúc Xóa thẻ Bắt đầu Quét RFID (lấy mã RFID) Phát hiện thẻ đã có Xóa thẻ Kết thúc Đ S S Đ Đổi pass Bắt đầu Nhập mật khẩu cũ Kiểm tra mật khẩu cũ Nhập mật khẩu mới S Đ Kết thúc

Hình 4.8 Lưu đồ chương trình con thêm thẻ, xóa thẻ và đổi pass.

Giải thích:

- Thêm thẻ: Ở chương trình này sẽ kiểm tra và nếu phát hiện thẻ mới thì sẽ yêu cầu nhập mật khẩu để thêm vào thẻ đó.

- Xóa thẻ: Chương trình sẽ kiểm tra và nếu phát hiện đúng thẻ đã cài đặt thì chương trình sẽ xóa thẻ.

- Đổi mật khẩu: Chương trình sẽ yêu cầu nhập lại mật khẩu cũ, nếu đúng thì cho phép nhật khẩu mới.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36

4.3.1.3 Lưu đồ chương trình kiểm tra nút nhấn và cảnh báo PIR

1

Kiểm tra nút nhấn?

Đảo trạng thái cửa

2 S Đ PIR phát hiện chuyển động SMS được bật Gửi tin nhắn cảnh báo Đ S Đ S

Cảnh báo buzzer, led Bắt đầu

Kết thúc

Hình 4.9 Lưu đồ chương trình kiểm tra ngắt của nút nhấn và cánh báo PIR.

Giải thích:

- Chương trình kiểm tra nút nhấn: Kiểm tra có nhấn nút thì đảo trạng thái cửa. - Chương trình cảnh báo PIR: Khi PIR phát hiện vật thể chuyển động và nếu chế độ SMS được bật thì sẽ gửi tin nhắn cảnh báo đồng thời bật buzzer, led. Nếu SMS không được bật thì chỉ cảnh báo buzzer, led.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37

4.4 TÀI LIỆU HƯỚNG DẪN

Nhằm mục đích để người sử dụng mô hình hiểu rõ và vận hành một cách tốt nhất và hiệu quả nhất, sau đây chúng em xin trình bày các bước vận hành của mô hình:

Bước 1: Cấp nguồn cho mô hình, nguồn sử dụng là adapter 9V/2A. Sau khi cấp nguồn mạch chính và module sim sẽ được khởi động trong vài giây và dạt trạng thái ổn định.

Bước 2: Mô hình yêu cầu quẹt thẻ, sau khi quẹt thẻ đúng thì sẽ yêu cầu nhập mật khẩu, nhập xong nhấn D, để xóa ký tự đã nhập nhấn # nếu nhập mật khẩu đúng thì sẽ vào trạng thái quản lý của mô hình. Nếu thẻ sai hệ thống sẽ cảnh báo và đếm lên. Đủ 3 lần sẽ gửi tin nhắn đến số điện thoại người dùng.

Bước 3: Đang trong trạng thái quản lý người dùng có quyền: xóa thẻ, bật/tắt chế độ SMS, thêm thẻ và đổi mật khẩu. Cụ thể như sau:

- Thêm thẻ (nhấn A): Ở chế độ này, nếu thẻ quẹt vào là thẻ mới thì, mô hình sẽ yêu cầu nhập mật khẩu cho thẻ mới, nhập mật khẩu nhấn D để xác nhận, sau đó thoát ra khỏi trạng thái thếm thẻ và trạng thái quản lý. Nếu là thẻ đã có thì thoát khỏi trạng thái thêm thẻ.

- Xóa thẻ (nhấn B): Ở chế độ này, mô hình yêu cầu quẹt thẻ xóa, nếu là thẻ mới sẽ thoát khỏi trạng thái xóa thẻ. Nếu thẻ có trong bộ nhớ thì tiến hành xóa thẻ và thoát ra khỏi trạng thái xóa thẻ, trở về trạng thái quản lý.

- Đổi mật khẩu (nhấn C): Ở chế độ này, mô hình yêu cầu nhập mật khẩu cũ của thẻ, mật khẩu đúng thì sẽ yêu cầu nhập mật khẩu mới, sau khi nhập mật khẩu mới nhấn D xác nhận và thoát khỏi trạng thái đổi mật khẩu và trạng thái quản lý.

- Bật/ tắt SMS (nhấn #): Bật chế độ SMS thì mô hình sẽ gửi tin nhắn đến số điện thoại người dùng khi PIR phát hiện có người lạ.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38

Bước 4: Khi vào nhà, có 1 nút nhân đơn dùng để khóa cửa từ bên trong, sau khi nhấn nút thì mô hình sẽ thoát ra trang thái yêu cầu quẹt thẻ đồng thời đảo trạng thái của servo (từ mở sang đóng và ngược lại).

Bước 5: Khi ra khỏi nhà nhấn nút servo ở trạng thái mở, mở khóa bằng thẻ và mật khẩu như bước 1, 2, 3. Nhấn mở chế độ SMS khi ra khỏi nhà (nếu cần). Khóa cửa bằng phím (*).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39

Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

5.1 GIỚI THIỆU

Trong chương này, nhóm sẽ trình bày kết quả đã thực hiện được trong thời gian qua, đồng thời đưa ra nhận xét và đánh giá mô hình.

5.2 KẾT QUẢ

5.1.1 Kết quả đạt được

Trong quá trình thực hiện đồ án tốt nghiệp, nhóm chúng em đã hoàn thành được các mục tiêu nghiên cứu, cụ thể như sau:

- Nghiên cứu và hiểu được nguyên lý hoạt động của Arduino, module RFID, cảm biến chuyển động, phím ma trận 4x4.

- Viết chương trình giao tiếp giữa module Sim với Arduino, cảm biến chuyển động với Arduino, module RFID với Arduino.

- Củng cố kiến thức giao tiếp UART, I2C và tìm hiểu thêm chuẩn giao tiếp SPI cho module RFID.

- Sử dụng các phần mềm như: Proteus, visio, IDE. - Tính toán và chọn nguồn cung cấp cho hệ thống.

5.1.2 Kết quả thực nghiệm

a. Màn hình bắt đầu

Khi bắt đầu hoạt động, toàn mạch sẽ bắt đầu được thiết lập,mô hình ở trạng thái chờ quẹt, màn hình LCD sau khi thiết lập xong sẽ hiện “KHOA CUA DIEN TU MOI QUET THE”

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40

Hình 5.1 Hình ảnh màn hình LCD trạng thái chờ quẹt thẻ.

b. Khi quẹt thẻ sai

Nếu quẹt thẻ sai màn hình LCD sẽ hiện “VUI LONG THU LAI” và số lần quẹt sai sẽ tăng lên nếu tiếp tục sử dụng thẻ sai.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41 Khi quẹt thẻ sai 3 lần trạng thái cảnh báo sẽ được kích hoạt buzzer và led sẽ chớp tắt liên tục như hình 5.3, module Sim sẽ gửi tin nhắn cảnh báo tới người dùng như hình 5.4.

Hình 5.3 Hình ảnh mạch báo động hoạt động.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42

c. Màn hình quản lý

Sau khi quẹt thẻ thành công và nhập đúng mật khẩu sẽ vào trạng thái quản lý và có quyền thao tác với khóa, màn hình LCD sẽ hiển thị như hình 5.5.

Hình 5.5 Hình ảnh màn hình LCD ở trạng thái quản lý

d. Thêm thẻ

Khi ở trong trạng thái quản lý, nhấn A sẽ chọn chế độ thêm thẻ, khi đó màn hình LCD sẽ hiện “ MOI QUET THE MOI” để yêu cầu quẹt thẻ mới, nếu là thẻ mới thì yêu cầu nhập mật khẩu thẻ và nhập xong sẽ thoát ra trạng thái chờ quẹt thẻ, nếu là thẻ đã có sẽ thoát ra trạng thái quản lý.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43

e. Xóa thẻ

Khi ở trạng thái quản lý, nhấn B thì sẽ vào chế độ xóa thẻ, màn hình LCD sẽ hiển thị “MOI QUET THE XOA”. Khi thẻ quẹt đã có vào thì xóa thẻ, thoát ra và ở trạng thái quản lý.

Hình 5.7 Hình ảnh LCD khi chọn chế độ xóa thẻ.

f. Đổi mật khẩu

Ở trạng thái quản lý, khi nhấn C sẽ vào chế độ đổi mật khẩu, màn hình LCD sẽ hiển thị “ NHAP M/KHAU CU” và yêu cầu nhập mật khẩu cũ của thẻ. Sau khi nhập đúng mật khẩu sẽ yêu cầu nhập mật khẩu mới và xác nhận. Sau khi xác nhận sẽ thoát ra và ở trạng thái chờ quẹt thẻ.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44

g. Cảnh báo PIR

Khi khóa cửa và ở chế độ SMS, PIR phát hiện có người lạ sẽ gửi tin nhắn cảnh báo đến số điện thoại người dùng.

Hình 5.9 Hình ảnh tin nhắn cảnh báo khi PIR phát hiện có người lạ xâm nhập.

5.3 NHẬN XÉT 5.3.1 Ưu điểm

Sau khi hoàn thành, thông qua quá trình thử nghiệm và chạy thử, mô hình đã hoàn thành được những yêu cầu đã đề ra như mở khóa bằng RFID, phím ma trận, gửi tin nhắn đến số điện thoại cài đặt, dùng cảm biến chuyển động phát hiện vật thể. Đặc biệt có một số ưu điểm so với những đề tài liên quan trước đây như:

- Sử dụng mật khẩu riêng biệt cho từng thẻ RFID được lưu vào Eeprom, vì thế mỗi người có thể có một mật khẩu riêng biệt.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45 - Mở khóa thông qua 2 lớp bảo mật dùng thẻ RF sau đó dùng mật khẩu bằng cách nhập từ phím ma trận.

- Giám sát được tình hình ngôi nhà (có người quẹt thẻ sai, có người xâm nhập vào nhà) thông qua tin nhắn ở bất khì đâu.

- Nhỏ gọn, dễ lắp đặt và dễ dử dụng.

5.3.2 Hạn chế

Bên cạnh những điều đã làm được thì đề tài vẫn còn nhiều hạn chế chưa thể làm được:

- Cảm biến chuyển động không xác định được người hay vật.

- Sử dụng nguồn trực tiếp nên khi điện ngắt mô hình không hoạt động, bị reset khi có điện lại.

- Module sim không thể cảnh báo khi hết tiền.

5.4 ĐÁNH GIÁ

Dựa trên những thực nghiệm có thể đưa ra một số đánh giá như sau:

- Mô hình hoạt động ổn định, liên tục khi có nguồn điện duy trì. Mô hình dùng nguồn dưới 9V nên an toàn cho người sử dụng. Thao tác đơn giản và dễ sử dụng.

- Module sim hoạt động ổn định kết nối ngay khi được khởi động. hoạt động được ở tất cả môi trường có sóng điện thoại, thích hợp cho mọi loại điện thoại.

- Ở số trường hợp, do cảm biến chuyển động quá nhạy cho nên hoạt động liên tục làm chậm một số chương trình nhưng không đáng kể.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46

Chương 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

6.1 KẾT LUẬN

Sau quá trình nghiên cứu, thiết kế và thi công thì mô hình đã đáp ứng được một số yêu cầu đã đề xuất. Về phần cứng, các module được kết nối đúng với nguyên lý đã đề xuất. Các ngoại vi giao tiếp với nhau với độ ổn định cao (RFID, bàn phím ma trận, module Sim900, Arduino Mega). Ngoài ra về phần mềm, nhóm đã thực hiện lập trình trên phần mềm Arduino với các chức năng đã đề xuất bao gồm nhận diện thẻ, nhập mật khẩu để mở cửa, cảnh báo có người lạ đột nhập vào nhà. Bên cạnh đó nhóm còn thêm một số chức năng giao tiếp với người dùng và lưu lại dữ liệu vào trong EEPROM như thêm thẻ, xóa thẻ, đổi mật khẩu, cũng như chọn chế độ cảnh báo thông qua SMS.

Với những yêu cầu đã đặt ra, nhóm đã thực hiện hoàn chỉnh và đạt được mục tiêu. Mô hình hoạt động ổn định và có đầy đủ các chức năng đã đề ra. Cảm biến hoạt động nhạy, người sử dụng tương đối dễ dàng.

Bên cạnh những phần đã làm được thì mô hình chỉ giới hạn ở mức giám sát thông qua module sim gửi tin nhắn về điện thoại, sử dụng RFID, ma trận phím để điều khiển chứ chưa ứng dụng sâu vào được công nghệ IoT. Ngoài ra, cảm biến chuyển động khá nhạy nên khi phát hiện vật thể dẫn đến những cảnh báo không chính xác. Mô hình chưa có nguồn dự phòng nên khi xảy ra sự cố mất điện thì mô hình không thể hoạt động.

6.2 HƯỚNG PHÁT TRIỂN

Để mô hình được hoàn thiện và có thể ứng dụng vào thực tế, nhóm chúng em có một số kiến nghị về hướng phát triển đề tài:

- Thay động cơ servo bằng chốt điện tử.

- Thế kế ứng dụng điện thoại, web server , giọng nói để giám sát điều khiển trạng thái cửa.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 47

TÀI LIỆU THAM KHẢO

[1] Pham Minh Tuan, ebook :Internet Of Things(IoT): cho người mới bắt đầu, 2017 (https://iotmakervn.github.io/iot-starter-book/).

[2]Nguyễn Ngọc Lực, “Thiết kế , thi công mô hình hệ thông điều khiển điện và giám sát nhà” , đồ án tốt nghiệp , trường ĐHSPKT Tp HCM, 2018.

[3] Phạm Hưng Thịnh, “Thiết kế, thi công hệ thống điều khiển và giám sát thiết bị nhà có hỗ trờ Google Assistant”, đồ án tốt nghiệp, trường ĐHSPKT TpHCM, 2018. [4]Hướng dẫn sử dụng Module sim900-MLAB (http://mlab.vn/huong-dan-su-dung- module-sim900.html).

[5]Nguyen Dinh Phu, Truong Ngoc Anh, giáo trình vi xử lý , Xuất bản ĐH Quốc Gia, Tp.HCM, 2013.

[6] Hướng dẫn sử dụng Module cảm biến chuyển động HC - SR501-MLAB (http://mlab.vn/18496-huong-dan-su-dung-module-cam-bien-chuyen-dong-hc-

sr501.html).

[7] Lập trình và sử dụng module đọc thẻ RFID-RC522 – Arduino.vn (http://arduino.vn/bai-viet/833-lap-trinh-va-su-dung-modul-doc-rfid-rc522).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48 PHỤ LỤC #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Keypad.h> #include <SPI.h> #include <MFRC522.h> #include <Servo.h> #include <EEPROM.h> #include <MsTimer2.h> LiquidCrystal_I2C lcd(0x27, 16, 2); #define STATE_LOGIN 0 #define STATE_KEY_PASS 1 #define STATE_NEW_PASS 2 #define STATE_SEND_REPORT 3 #define STATE_MAIN 4 #define STATE_CHANGE_PASSWORK 5 #define STATE_ADD_RFID 6 #define STATE_ADD_PASS 7 #define STATE_REMOVE_RFID 8 #define DEBUG 1

/////////////////////////KHAI BAO BIEN TOAN CUC CHUONG TRINH/////////////////////// int state_machine = 0; uint8_t count_report = 0; uint16_t num_user; char phone_report[10]; uint16_t addr_current_user; #define LED_PIN 13 #define BUZZER_PIN 48 #define REPORT_COUNT_NUM 10

bool REPORT_STATE = false;

uint8_t REPORT_COUNT = 0;

#define SMS_REPORT 0 #define BUZZER_REPORT 1

bool REPORT_SMS_BUZZER_STATE = SMS_REPORT;

#define door_close false #define door_open true

bool state_door = door_close;

/////////////////////////KHAI BAO CAC BIEN EEPROM DIA CHI//////////////// #define addr_phone 0 #define size_phone 10 #define addr_num_user 12 #define addr_fisr_ID 14 #define size_ID 4 #define size_pass 4 #define zise_user 8 #define EEPROM_MIN_ADDR 0 #define EEPROM_MAX_ADDR 511 char buf_pass[4]; uint16_t addr_save_new = 512;

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49 /////////////////////////KHAI BAO BIEN PHIM

MATRIX///////////////////////

const byte rows = 4; //số hàng

Một phần của tài liệu Thiết kế và thi công mô hình khóa điện tử có giám sát từ xa sử dụng GSM và RFID (Trang 45)

Tải bản đầy đủ (PDF)

(75 trang)