Mạch đọc RFID sử dụng Arduino

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Trong bài viết này, chúng ta sẽ đi tham quan về công nghệ mạch RFID. Chúng ta sẽ khám phá cách hoạt động của thẻ RFID và trình đọc, cách giao tiếp mô-đun RFID (RC522) với Arduino và trích xuất một số thông tin hữu ích từ các thẻ RFID.

Sử dụng thẻ RFID

Tôi chắc chắn rằng mỗi người trong số các bạn đã sử dụng RFID để truy cập bảo mật ít nhất một lần tại văn phòng, trường học, đại học, thư viện, v.v.



Thẻ / thẻ mà bạn mang theo có gắn chip điện tử, chip lưu trữ danh tính của bạn dưới dạng điện tử. Không giống như mã vạch, nơi thẻ phải nằm trong tầm nhìn của đầu đọc, RFID có thể được đặt gần đầu đọc để đọc thông tin.

Hầu hết các thẻ thông minh của chúng tôi sử dụng công nghệ RFID thụ động, có nghĩa là không cần nguồn điện để đọc thông tin từ thẻ. Đầu đọc cấp nguồn cho chip RFID và trích xuất thông tin cùng một lúc.



Các loại thẻ này có thể đọc thông tin từ milimét đến vài feet, tùy thuộc vào thẻ và ứng dụng.

Các thẻ RFID đang hoạt động được cấp nguồn bên ngoài, các loại thẻ này truyền thông tin lên đến 100 feet. Mức tiêu thụ năng lượng của pin được tối ưu hóa để kéo dài vài năm.

Trong dự án này, chúng ta sẽ xem xét công nghệ RFID thụ động. Chúng tôi đang sử dụng mô-đun đọc RC522 cùng với arduino để trích xuất và hiển thị thông tin. Mô-đun RC522 thường có sẵn tại các trang web thương mại điện tử và cửa hàng bộ dụng cụ điện tử địa phương.

Hình minh họa mô-đun đầu đọc / ghi RC522:

Mô-đun đầu đọc / ghi RC522

Thẻ loại thẻ và chuỗi khóa:

Thẻ loại thẻ và chuỗi khóa

Như chúng ta có thể thấy, một phần của PCB được bao quanh bởi đường dẫn hình vuông trên đầu đọc, điều này sẽ tạo ra trường điện từ cho thẻ ở tần số 13,56MHz.

EMF tạo ra được thẻ chọn và chuyển đổi thành điện áp đủ để thẻ hoạt động, thẻ sẽ gửi thông tin cần thiết ở dạng xung trở lại đầu đọc. Bộ vi điều khiển trên bo mạch giải mã thông tin.

Làm thế nào nó hoạt động

Mạch RFID sử dụng Arduino

Sơ đồ này rất dễ dàng và dễ hiểu, chỉ cần vài dây jumper là đủ để thực hiện dự án này. Chúng tôi sẽ cấp nguồn cho arduino và RFID thông qua cổng USB của máy tính. Điện áp hoạt động của RC522 là 3,3V, không kết nối nguồn 5V với mô-đun và sẽ làm hỏng các thành phần trên bo mạch.

Nguyên mẫu mạch RFID Arduino:

Đó là tất cả các kết nối phần cứng, bây giờ chúng ta hãy bắt đầu viết mã.

Trước khi tải lên chương trình, hãy tải xuống tệp thư viện từ liên kết sau và chuyển đến thư mục thư viện của arduino IDE.

github.com/miguelbalboa/rfid.git

Mã chương trình:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

Đồng ý! Chương trình trên được thiết kế để hoạt động?

Chương trình trên sẽ hiển thị UID của thẻ trong màn hình nối tiếp của IDE, khi bạn quét trên đầu đọc. UID là số nhận dạng duy nhất của thẻ, không thể thay đổi và do nhà sản xuất đặt.

ĐẦU RA:

UID thẻ của bạn: FA: 4E: B2 // đây là một ví dụ.

Lưu ý 1: Mỗi hai giá trị được phân tách bằng dấu hai chấm, được thực hiện bởi chương trình các giá trị thực có thể không được phân tách bằng dấu hai chấm mà bằng dấu cách.

Lưu ý 2: Chỉ thẻ RFID do NXP sản xuất mới có thể đọc / ghi được với thiết lập được đề xuất, những thẻ này được sử dụng phổ biến và thương mại.

UID được sử dụng để nhận dạng thẻ. Thẻ đi kèm với bộ công cụ có thể lưu trữ tới 1KB thông tin. Có những thẻ khác có thể lưu trữ lên đến 4KB thông tin hoặc hơn thế nữa.

Quá trình lưu trữ và trích xuất thông tin từ thẻ là chủ đề của một bài viết khác.
Nếu bạn có câu hỏi, liên quan đến dự án này, hãy hỏi trong phần bình luận.




Một cặp: Mạch cảm biến áp suất khí quyển - Chi tiết làm việc và giao diện Tiếp theo: Điều khiển pha Triac sử dụng Tỷ lệ thời gian PWM