Hệ Thống đóng Mở Cửa Tự động Dùng RFID Và Arduino

Facebook Telegram TikTok Twitter Youtube Đăng nhập Tham gia Đăng nhập Hoan nghênh!đăng nhập vào tài khoản của bạn Tài khoản mật khẩu của bạn Quên mật khẩu? Tạo một tài khoản Đăng kí Hoan nghênh!Đăng ký email của bạn Tài khoản Mật khẩu đã được gửi vào email của bạn. Khôi phục mật khẩu Khởi tạo mật khẩu email của bạn TÌM KIẾM 27.8 C Ho Chi Minh City Thứ Tư, 17 Tháng 12, 2025
  • Đăng nhập/Đăng ký
Facebook Telegram TikTok Twitter Youtube Đăng nhập Đăng nhập tài khoản Tài khoản mật khẩu của bạn Forgot your password? Get help Tạo một tài khoản Tạo một tài khoản Chào mừng bạn Đăng ký tài khoản email của bạn Tài khoản Mật khẩu đã được gửi vào email của bạn. Khôi phục mật khẩu Khởi tạo mật khẩu email của bạn Mật khẩu đã được gửi vào email của bạn. Điện Tử Việt Trang chủ IoT và Công nghệ Arduino Hệ thống đóng mở cửa tự động dùng RFID và Arduino Đóng mở cửa tự động dùng RFID và Arduino FacebookTwitterPinterestWhatsApp Quảng cáo Google

Trong dự án này, tôi sẽ hướng dẫn các bạn thiết kế một hệ thống bảo mật dựa trên RFID RC522 sử dụng Arduino, màn hình LCD Display và động cơ Servo. RC522 là mô-đun rất đơn giản nhưng hiệu quả. Nó là một mô-đun RFID và được sử dụng để quét thẻ RFID. Đây là một công nghệ mới và đang mở rộng từng ngày. Ngày nay, nó được sử dụng rộng rãi trong các văn phòng nơi nhân viên được cấp thẻ RFID và sự tham gia của họ được đánh dấu khi họ chạm vào thẻ của họ vào thẻ đọc RFID. Chúng ta cũng đã nhìn thấy nó trong phim ảnh mà khi ai đó đặt những thẻ trên một số máy sau đó cánh cửa mở ra hoặc đóng lại. Nói tóm lại, đây là một công nghệ mới và khá hữu ích.

Trước tiên, chúng ta cùng tìm hiểu một chút về RFID. RFID là tên viết tắt của Radio frequency identification (Nhận dạng qua tần số vô tuyến). Mô-đun RFID sử dụng trường điện từ để truyền dữ liệu giữa thẻ (tag) và đầu đọc (reader). Các thẻ khác nhau được gắn vào các đối tượng và khi chúng ta đặt đối tượng đó ở phía trước đầu đọc, đầu đọc đọc các thẻ đó. Một lợi ích khác của RFID là nó không cần phải nằm trong tầm nhìn để được phát hiện. Như trong mã vạch, đầu đọc phải ở trong tầm mắt của thẻ và sau đó nó có thể quét nhưng trong RFID không có hạn chế như vậy. Bây giờ, chúng ta hãy bắt đầu với giao tiếp của RFID RC522 với Arduino.

Xem thêm bài viết: Công nghệ RFID và ứng dụng

Chuẩn bị

Phần cứng

Linh kiện Số lượng
Arduino UNO 1
Module RFID 1
LCD 16×2 1
Động cơ Servo 1

Phần mềm: Arduino IDE

Module RFID-RC522

Giới thiệu

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 ảnh về Module RFID RC522

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,…

Download datasheet Module RFID-RC522 tại đây.

Sơ đồ chân

Sơ đồ chân Module RFID RC522

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 SPI
4 MISO(SDO) Master Data In- Slave Out trong chế độ giao tiếp SPI
5 IRQ Chân ngắt
6 GND Chân nối đất
7 RST Chân RESET module
8 Vcc 3,3V

Thông số kỹ thuật

  • Điện áp nuôi: 3.3V;
  • Dòng điện nuôi :13-26mA
  • Tần số hoạt động: 13.56MHz
  • Khoảng cách hoạt động: 0 ~ 60 mm
  • Cổng giao tiếp: SPI, tốc độ tối đa 10Мbps
  • Kích thước: 40mm х 60mm
  • 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

Hoạt động của thiết bị RFID

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:

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

Gồm 2 phần chính:

  • Chip: (bộ nhớ của chip có thế chứa tới 96 bit đến 512 bit 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 đó. Vài thẻ RFID giống như những nhãn giấy và được ứng dụng để bỏ vào hộp và đóng gói. Một số khác được sáp nhập thành vách của thùng chứa plastic được đúc. Còn một số khác được xây dựng thành miếng da bao cổ tay. 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

2. Các reader (đầu đọc) hoặc sensor (cảm biến) để 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 đó.

Sơ đồ mạch

Sơ mạch điều khiển đóng mở của tự động

Chương trình

//Khai báo các thư viện

#include <RFID.h>

#include <SPI.h>

#include <LiquidCrystal.h>

#include <Servo.h>

#include “pitches.h”

//Định nghĩa

#define SS_PIN 10

#define RST_PIN 9

#define SERVO_PIN 6

#define Red_LED 8

#define Green_LED 7

#define Buzzer 5

//Khởi tạo thư viện với các chân giao tiếp

LiquidCrystal lcd(A5, A4, A3, A2, A1, A0); //(RS,E,D4,D5,D6,D7)

Servo DoorLock;

RFID rfid(SS_PIN, RST_PIN );

//ID duy nhất của thẻ RFID mà bạn muốn cấp quyền truy cập

int My_RFID_Tag[5] = {0x45, 0xD4, 0x07, 0xAB, 0x3D};

//Biến để giữ Access_card của bạn

boolean My_Card = false;

//Các note nhạc với giai điệu, lấy từ:

//File -> Examples -> Digital -> ToneMelody

int melody[] = {

NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4

};

//Trường độ của note 4 = note 1/4, 8 = note 1/8, v.v..

int noteDurations[] = {

4, 8, 8, 4, 4, 4, 4, 4

};

void setup()

{

//Thiết lập các chân Input/Output

pinMode(Red_LED, OUTPUT);

pinMode(Green_LED, OUTPUT);

pinMode(Buzzer, OUTPUT);

//Servo được kết nối đến chân 5 của Arduino

DoorLock.attach(SERVO_PIN);

//Mở port serial với 9600 baudrate.

Serial.begin(9600);

//Khởi tạo LCD 16×2

lcd.begin(16, 2);

//Khởi tạo Servo và RFID

SPI.begin();

rfid.init();

}void loop(){

//Đầu tiên giả sử card (hoặc tag) phát hiện được là My_Card

//Sau đó, chúng ta sẽ kiểm tra xem nó có phải là My_Card hay không!

My_Card = true;

DoorLock.write(0); //Servo ở vị trí 0, cửa đóng

lcd.clear();

lcd.print(” Dat the cua ban “);

//Kiểm tra xem có thẻ RFID nào được phát hiện hay không?

if ( rfid.isCard() )

{

//Nếu phát hiện thấy thẻ RFID, hãy kiểm tra số ID,

//và in nó trên cửa sổ Serial

if ( rfid.readCardSerial() )

{

lcd.clear();

lcd.print(“So ID la: “);

delay(500);

lcd.setCursor(0, 1); //Đặt con trỏ LCD ở hàng thứ hai, ký tự đầu tiên

//Số IC là số gồm có 5 chữ số

//In ra số HEX để hiểu rõ hơn

for ( int i = 0; i < 5; i++ )

{

Serial.print(rfid.serNum[i], HEX);

Serial.print(” “);

lcd.print(rfid.serNum[i], HEX);

lcd.print(” “);

}

delay(500);

//So sánh ID thẻ RFID này với ID của My_RFID_Tag

for (int i = 0; i < 5; i++) {

//Nếu bất kỳ số ID nào không khớp,

//thì cho My_Card = false và thoát ra khỏi vòng lặp

//Không cần phải kiểm tra tất cả các chữ số!

if ( My_RFID_Tag[i] != rfid.serNum[i] ) {

My_Card = false;break;}} Serial.println();

delay(1000);

//Nếu thẻ RFID = My_Card thì cấp quyền truy cập vào phòng

//ngược lại không mở của

if (My_Card) {Serial.println(“\nChao mung den phong cua ban!”);lcd.clear();

lcd.print(“Chao mung den”);

lcd.setCursor(0, 1);

lcd.print(“Phong cua ban!”);

delay(2000);

//Bật đèn LED màu xanh để cho biết được phép vào phòng

digitalWrite(Green_LED, HIGH);

//Buzzer Config, taken from: //File -> Examples -> Digital -> ToneMelody

// iterate over the notes of the melody:

int i = 0;

while (i < 2)

{

for (int thisNote = 0; thisNote < 12; thisNote++) {

int noteDuration = 1000 / noteDurations[thisNote];

tone(5, melody[thisNote], noteDuration);

int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes);

noTone(5);

} i = i + 1; delay(500);

}

delay(1000); //Bây giờ, mở cửa với sự giúp đỡ của động cơ ServoDoorLock.write (180);

delay(500);

lcd.clear();

lcd.print(“Cua mo”);

lcd.setCursor(0, 1);

lcd.print(“Ngay bay gio!”);

delay(2000);

lcd.clear();

//Cho 10 giây delay để vào phòng

//Sau đó cửa sẽ đóng lại!

for (int i = 10; i > 0; i–)

{

lcd.print(“Cua se dong lai”);

lcd.setCursor(0, 1);

lcd.print(“sau “);

lcd.print(i);

lcd.print(” s Nhanh!”);

delay(1000);

lcd.clear();

}

//Khi cửa được đóng lại và đèn LED màu xanh được tắt

DoorLock.write(0);

digitalWrite(Green_LED, LOW);

delay(200);

lcd.clear();

lcd.print(“Cua dong lai”);

lcd.setCursor(0, 1);

lcd.print(“Ngay bay gio!”);

delay(2000);

}

// Nếu thẻ RFID không phải là My_Card thì

// không mở của và

//Bật đèn LED màu đỏ và Buzzer như một dấu hiệu cảnh báo

//Có ai đó đang cố gắng vào phòng của bạn.

else

{

Serial.println(“\nRa khoi day !”);

lcd.clear();

lcd.print(“The khong thay!”);

lcd.setCursor(0, 1);

lcd.print(“Ra khoi day!”);

for (int i = 0; i < 7; i++)

{

digitalWrite(Buzzer, HIGH);

digitalWrite(Red_LED, HIGH);

delay(500);

digitalWrite(Buzzer, LOW);

digitalWrite(Red_LED, LOW);

delay(500);

}

delay(1000);

}

}

}

//Đặt RFID Reader vào trạng thái chờ, cho đến khi nó không phát hiện bất kỳ thẻ RFID nào.

rfid.halt();

}

BÀI VIẾT LIÊN QUANXEM THÊM

Giao tiếp module điều khiển động bước TMC2208 với Arduino

Giao tiếp module điều khiển động cơ bước TMC2208 với Arduino

Cảm biến cường độ ánh sáng BH1750

Giao tiếp cảm biến cường độ ánh sáng BH1750 với Arduino

Cân điện tử dùng Arduino và module HX711

Cân điện tử dùng Arduino và module HX711

BÌNH LUẬN Hủy trả lời

Vui lòng nhập bình luận của bạn Vui lòng nhập tên của bạn ở đây Bạn đã nhập một địa chỉ email không chính xác! Vui lòng nhập địa chỉ email của bạn ở đây

Lưu tên, email và trang web của tôi trong trình duyệt này cho lần tiếp theo tôi nhận xét.

Δ

KHO EBOOK KỸ THUẬT ĐIỆN - ĐIỆN TỬ

BÀI VIẾT MỚI NHẤT

Mạch nhắc nhở tự động khi bật nguồn

Mạch nhắc nhở tự động

Nguyễn Hữu Phước - 9 Tháng 12, 2025 0 Mạch điều khiển đèn bằng âm thanh - Điện Tử Việt

Mạch điều khiển đèn bằng âm thanh

Nguyễn Hữu Phước - 31 Tháng 10, 2025 0 Giáo trình Mạch điện cho sinh viên kỹ thuật

Giáo trình Mạch điện – Tài liệu học tập chuẩn dành...

Nguyễn Hữu Phước - 22 Tháng 10, 2025 0 Giáo trình điều khiển và lập trình với Arduino

Giáo trình điều khiển và lập trình với Arduino Uno

Nguyễn Hữu Phước - 14 Tháng 10, 2025 0 Giáo trình điện tử công suất

Giáo trình Điện tử công suất

Nguyễn Hữu Phước - 8 Tháng 10, 2025 0

BÀI VIẾT NỔI BẬT

Cảm biến màu sắc TCS3200

Nhận biết màu sắc dùng cảm biến màu TCS3200

19 Tháng 10, 2020 Hướng dẫn lập trình ESP8266 NodeMCU dùng Arduino IDE

Hướng dẫn lập trình ESP8266 NodeMCU dùng Arduino IDE

6 Tháng 3, 2021 Hướng dẫn cài đặt proteus 8.9 không tự tắt

Hướng dẫn cài đặt Proteus 8.9 không bị lỗi tự tắt

9 Tháng 6, 2020 Điều khiển động cơ servo dùng Arduino

Điều khiển động cơ servo sử dụng Arduino

31 Tháng 10, 2018 Mạch bàn phím đơn giản

Mạch bàn phím đơn giản dùng IC 74LS147

22 Tháng 5, 2019 Xem thêm

TÀI LIỆU - GIÁO TRÌNH

Giáo trình Mạch điện cho sinh viên kỹ thuật

Giáo trình Mạch điện – Tài liệu học tập chuẩn dành cho sinh viên kỹ thuật

Nguyễn Hữu Phước - 22 Tháng 10, 2025 0 Giáo trình điều khiển và lập trình với Arduino

Giáo trình điều khiển và lập trình với Arduino Uno

Nguyễn Hữu Phước - 14 Tháng 10, 2025 0 Giáo trình điện tử công suất

Giáo trình Điện tử công suất

Nguyễn Hữu Phước - 8 Tháng 10, 2025 0 Thiết kế điện tử với phần mềm Fritzing

Download phần mềm Fritzing

Nguyễn Hữu Phước - 9 Tháng 7, 2023 0 Tài liệu hương dẫn sử dụng Altium Designer

Tài liệu hướng dẫn sử dụng Altium Designer

Nguyễn Hữu Phước - 25 Tháng 4, 2022 0

KÊNH YOUTUBE ĐIỆN TỬ VIỆT

Chào các bạn! Website này được tạo ra nhằm mục đích chia sẽ miễn phí những kiến thức liên quan đến lĩnh vực điện tử và IoT, giúp bạn học hỏi, khám phá và ứng dụng công nghệ dễ dàng hơn mỗi ngày. Chúng tôi luôn trân trọng mọi ý kiến đóng góp để cùng xây dựng một cộng đồng yêu công nghệ ngày càng lớn mạnh. Cảm ơn bạn đã đồng hành cùng Điện Tử Việt!Liên hệ chúng tôi: [email protected] Facebook Telegram TikTok Twitter Youtube

DANH MỤC NỔI BẬT

  • Hướng dẫn48
  • Arduino41
  • Điện tử cơ bản29
  • IoT - Internet of Things25
  • Điện tử công suất24
  • Linh kiện điện tử23
  • Sách điện tử18
  • Điện tử ứng dụng18

KÊNH YOUTUBE ĐIỆN TỬ VIỆT

© Copywright 2025 - Điện Tử Việt NHIỀU BÀI VIẾT HƠN Mạch nhắc nhở tự động khi bật nguồn

Mạch nhắc nhở tự động

Nguyễn Hữu Phước - 9 Tháng 12, 2025 0 Mạch nhắc nhở tự động đang trở thành một giải pháp hết sức cần thiết trong môi trường làm việc hiện đại, nơi nhiều... Thanh Liên Hệ Nổi
  • Facebook
  • Chat Zalo
  • Gọi điện
  • Messenger
  • Telegram

Từ khóa » Thư Viện Rfid Cho Arduino