Trần Đình Thông Người thực hiện : Nhóm 15 Thành viên : Đào Tiến Cường - 2019607136 Nguyễn Văn Hải - 2019606348 Ngô Quang Hiếu - 2019606364 Cao Hải Long - 2018606303 Trang 2 LỜI CẢM ƠNTr
Tổng quan về đề tài nghiên cứu
Lí do chọn đề tài
Ngày nay với sự phát triển của xã hội hiện đại ai trong số chúng ta cũng cần những thiết bị bảo về tài sản như khóa cửa, thiết bị cảnh báo chống trộm hay camera nhưng có lẽ những thiết bị được sử dụng nhiều nhất vẫn là khóa cửa.
Hiện nay trên thị trường có rất nhiều loại khóa cửa nhưng hầu hết vẫn là khóa cơ khí, các khóa này gặp vấn đề lớn là tính năng bảo mật không cao, nên dễ dàng bị phá bởi các khóa đa năng. Đa số khóa kỹ thuật đang có bán trên thị trường đề có giá bán khá cao và chủ yếu là khóa tay nắm mà chúng ta thường thấy trong khách sạn hoặc các căn hộ chung cư Khóa sử dụng phương pháp dùng thẻ từ để mở đi kèm với các dãy số bấm nên khá tiện lợi khi sử dụng nếu chúng ta quên thẻ có thể dùng mã số và ngược lại.
Vì vậy để nâng cao yêu cầu về tính bảo mật để bảo vệ tài sản vào giao diện trực quan dễ sử dụng nhóm chúng em đã quyết định lựa chọn đề tài thiết kế thiết bị khóa thông minh bằng bảo mật và thẻ chip(RFID).
Mục tiêu
Nắm bắt được cấu trúc phần cứng, sơ đồ khối, nguyên lý làm việc của mạch điều khiển.
Tìm hiểu về lập trình Arduino
Biết cách làm một đồ án hoàn chỉnh phục vụ cho việc làm đồ án tốt nghiệp về sau.
Sản phẩm hoạt động ổn định với đầy đủ các chức năng cần thiết.
Sản phẩm nhỏ, gọn, mang tính thẩm mỹ cao.
Giá thành sản phẩm phù hợp với người tiêu dùng hiện nay.
Nội dung nghiên cứu
- Tìm hiểu arduino, module RFID
- Thiết kế thi công mạch giao tiếp module RFID với Arduino
- Viết chương trình điều khiển mô hình
- Thiết kế nguồn cung cấp cho mô hình
Sơ đồ đấu nối
Hình 1 1:Sơ đồ đấu nối
Thiết kế phần cứng
Các linh kiện cần thiết
Tên linh kiện Số lượng
Giới thiệu về linh kiện chính
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)
Một vài thông số của Arduino 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)
Tần số hoạt động 16 MHz
Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Đ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)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bảng 2 2: Bảng thông số của Arduino UNO R3
Lập trình cho Arduino
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu Nếu học tốt chương trình Tin học 11 thì việc lập trình Arduino sẽ rất dễ thở đối với bạn. Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là Arduino IDE ( I ntergrated D evelopment E nvironment) như hình dưới đây.
Hình 2 2: Ứng dụng lập trình Arduino IDE
Ứng dụng RFID RC - 522
RFID là chữ viết tắt của Radio Tần số Nhận dạng và đây là công nghệ tự động được sử dụng rộng rãi trong nhiều ngành cho các nhiệm vụ như theo dõi nhân sự, kiểm soát truy cập, quản lý chuỗi cung ứng, theo dõi sách trong thư viện, hệ thống trạm thu phí, vv.
Hình 2 3: Ứng dụng của RFID
Module RFID RC522 sử dụng IC MFRC522 của Phillip dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56Mhz, với mức giá rẻ, thiết kế nhỏ gọn, module này là sự lựa chọn hàng đầu cho các ứng dụng về ghi đọc thẻ RFID.
Hình 2 4: Bộ ghi đọc thẻ RFID
Module RFID RC522 được ứng dụng rộng rãi trong các mô hình như bảo mật xe máy, đóng mở cửa bằng thẻ RFID, các hệ thống quản lý, chấm công dựa trên mã thẻ RFID…
Sơ đồ chân
Hình 2 5: Sơ đồ chân RFID
Bảng 2 3: Ý nghĩa của các chân RFID
Tần số hoạt động: 13.56MHz
Khoảng cách hoạt động: 0 ~ 60 mm
Số TT Tên chân Mô tả
1 SDA(SS) Chân lựa chọn chip khi giao tiếp SPI (Kích hoạt ở mức thấp)
2 SCK Chân xung trong chế độ SPI
3 MOSI(SDI) Master Data Out- Slave In trong chế độ giao tiếp
4 MISO(SDO) Master Data In- Slave Out trong chế độ giao tiếp
Cổng giao tiếp: SPI, tốc độ tối đa 10Мbps
Có khả năng đọc và ghi.
Cấu tạo và nguyên tắc hoạt động của thiết bị RFID
Hình 2 6: Mô hình hoạt động RFID
Thẻ RFID (RFID tag, Transponder – bộ phát đáp): Là một thẻ gắn chip + Anten Được lập trình điện tử với thông tin duy nhất.
Một thiết bị hay một hệ thống RFID được cấu tạo bởi hai thành phần chính:
- Chip: (bộ nhớ của chip có thế chứa tới 96bit đến 512bit dữ liệu gấp 64 lần so với mã vạch) lưu trữ một số thứ tự duy nhất hoặc thông tin khác dựa trên loại thẻ: read-only, read-write…
- Antenna: được gắn với vi mạch truyền thông tin từ chip đến reader Antenna có công suất càng lớn cho biết phạm vi đọc càng lớn.
Thẻ RFID là một thiết bị lưu trữ và truyền dữ liệu đến một đầu đọc trong một môi trường tiếp xúc bằng sóng vô tuyến Thẻ RFID mang dữ liêu một vật một sản phẩm (item…) nào đó và gắn lên sản phẩm đó Mỗi thẻ có các phần lưu trữ dữ liệu bên trong và cách giao tiếp với dữ liệu đó Mỗi thẻ được lập trình với một nhận dạng duy nhất cho phép theo dõi không dây đối tượng hoặc con người đang gần thẻ đó Thông thường mỗi thẻ RFID có một cuộn đây hoặc anten nhưng không phải tất cả RFID đều có vi chip và nguồn năng lượng riêng.
Có 02 loại thẻ RFID phổ biến:
- Thẻ thụ động (Passive Tag): Không cần nguồn ngoài và nhận nằng lượng từ thiết bị đọc Khoảng cách đọc ngắn.
- Thẻ thụ động (Active Tag): Được nuôi bằng PIN, sử dụng với khoảng cách đọc lớn
Các reader hoặc sensor để truy vấn các thẻ
Đầu đọc FRlD (hay còn gọi là interrogator) là thiết bị kết nối không dây với thẻ để dễ dàng nhận dạng đối tượng được gắn thẻ Nó là một thiết bị đọc và ghi dữ liệu nên thẻ FRID tương thích Thời gian mà đầu đọc có thể phát năng lượng RF để đọc thẻ được gọi là chu trình làm việc của đầu đọc Đầu đọc có nhiệm vụ kích hoạt thẻ, truyền dữ liệu bằng sóng vô tuyến với thẻ, thực hiện giải điều chế và giải mã tín hiệu nhận được từ thẻ ra dạng tín hiệu cần thiết để chuyển về máy chủ, đồng thời cũng nhận lệnh từ máy chủ để thực hiện các yêu cầu truy vấn hay đọc ghi thẻ. Đầu đọc thẻ là hệ thần kinh trung ương của toàn bộ hệ thống phần cứng RFID thiết lập việc truyền với thành phần này và điều khiển nó, là thao tác quan trọng nhất của bất kỳ thực thể nào muốn liên kết với thiết bị phần cứng này.
Một hệ thống RFID có ba thành phần cơ bản: thẻ, đầu đọc, và một host computer RFID hoạt động trên nền tảng sóng vô tuyến kết hợp với máy tính quản lý bao gồm thẻ, đầu đọc thẻ và máy tính chủ Thẻ RFID gắn vào sản phẩm được tích hợp chip bán dẫn và ăng-ten thu sóng Đầu đọc thẻ nhận tín hiệu từ thẻ RFID từ xa, có thể lên đến 50m tùy vào nguồn năng lượng được cung cấp cho thẻ RFID, chuyển dữ liệu đến máy tính để phân tích và xử lý thông tin về đối tượng đó.
LCD 16×2 được sử dụng để hiển thị trạng thái hoặc các thông số.
LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN).
5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2.
Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu.
Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi.
Khóa chốt điện từ LY-03 đi kèm gá chốt, có chức năng hoạt động như một ổ khóa cửa sử dụng Solenoid để kích đóng mở bằng điện, được sử dụng nhiều trong nhà thông minh hoặc các loại tủ, cửa phòng, cửa kho, … khóa sử dụng điện áp 12VDC, là loại thường đóng (cửa đóng) với chất lượng tốt, độ bền cao Khóa chốt điện từ này có thể sử dụng chung với các mạch chức năng tạo thành một hệ thống thông minh.
- Vật liệu: Thép không gỉ
- Yêu cầu nguồn cấp: 12VDC/1A
- Thời gian cấp nguồn: Nhỏ hơn 10s
Sơ đồ khối
Hình 2 8: Sơ đồ khối phần cứng
Thiết kế phần mềm
Sơ đồ thuật toán
Hình 3 1: Sơ đồ khối thuật toán
Chương trình chính
#include // THU VIEN SPI
#include // THU VIEN RC522
#define SS_PIN 10 // DINH DỊA CHỈ CHO RC522
#define RST_PIN 9 // chan reset int relay = 8; int loa = 7;
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance LiquidCrystal_I2C lcd(0x27,16,2); bool access = false; int alarm = 0; uint8_t alarmStat = 0; uint8_t maxError = 5; void setup()
SPI.begin(); // khoi dong SPI mfrc522.PCD_Init(); // Initiate MFRC522 lcd.init();
// Print a message to the LCD lcd.backlight();
Serial.println("Moi quet the");
Serial.println(); pinMode(relay, OUTPUT); pinMode(loa, OUTPUT); lcd.setCursor(0,0); lcd.print("Put your card");
} void loop(){ if (alarm >= maxError){ alarmStat = 1; } if (alarmStat == 0){ lcd.setCursor (0,0); lcd.print("SAN SANG"); lcd.setCursor (0,1); lcd.print(" Moi quet the ");
// Look for new cards if ( ! mfrc522.PICC_IsNewCardPresent())
// Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial())
String content = ""; byte letter; for (byte i = 0; i < mfrc522.uid.size; i++)
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX); content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ")); content.concat(String(mfrc522.uid.uidByte[i], HEX));
Serial.print("Message : "); content.toUpperCase(); if (content.substring(1) == "21 FD 4A 26")
{ lcd.clear(); lcd.setCursor(0,0); lcd.print("Ma hop le"); lcd.setCursor(0,1); lcd.print(content.substring(1));
Serial.println("Ma hop le"); digitalWrite(loa, HIGH); delay(100); digitalWrite(loa, LOW); digitalWrite(relay, HIGH); delay(3000); digitalWrite(relay, LOW);
Serial.println(); delay(2000); lcd.clear(); lcd.setCursor(0,0); lcd.print(" Moi quet the ");
} else { alarm = alarm+1; lcd.clear(); lcd.setCursor(0,0); lcd.print(" Khong hop le "); lcd.setCursor(0,1); lcd.print(content.substring(1));
Serial.println(" khong hop le"); digitalWrite(loa, HIGH); delay(1000); digitalWrite(loa, LOW); lcd.clear(); lcd.setCursor(0,0); lcd.print("Moi quet the");
} else { lcd.setCursor (0,0); lcd.print("Khoa he thong "); lcd.setCursor (0,1); lcd.print(" Vui long cho ");
Serial.println(" khoa he thong"); for(int i`; i>0; i ){ tone (loa,1800); lcd.setCursor (13,1); lcd.print(i); lcd.print(" Canh bao ");delay (1000);} noTone (loa); alarmStat = 0; alarm = 0;
Serial.println(" Moi quet the");
Sơ đồ mạch mô phỏng trên altium
Hình 3 2: Sơ đồ mô phỏng mạch trên alitium
Sơ đồ mạch in PCB
Mạch khóa cửa tự động sử dụng RFID mô phỏng 3D:
Mạch in thực tế của hệ thống khóa cửa thông minh:
Hình 3 5: Mạch in thực tế Hình 3 4: Mạch mô phỏng 3D
Đánh giá kết quả
Kết quả đạt được
Sau 1 quá trình miệt mài nghiên cứu, thực hiện đồ án với sự chỉ bảo tận tình của các thầy trong khoa Điện tử thì nhóm 15 chúng em đã hoàn thành đồ án và tạo ra được một bộ sản phẩm hoàn chỉnh Và dưới đây là hình ảnh Bộ thiết bị “Hệ thống khóa thông minh sử dụng RFID” sau khi đã hoàn thiện:
Mạch ban đầu sau khi khởi động:
Mạch hiển thị LCD nếu quét thẻ sai:
Mạch hiển thị LCD nếu quét thẻ đúng:
Mạch hiển thị LCD nếu quét sai quá 5 lần:
Đánh giá sản phẩm
+ Sản phẩm chạy ổn định.
+ Điều khiển bật tắt được các thiết bị tự động khi có sự cố
+ Là hệ thống thử nghiệm chưa áp dụng được áp dụng thực tế trong khoảng thời gian nào đo nên chưa thể đánh giá hết được hiệu suất và hiệu quả của thiết bị.