راه‌اندازی RC522 RFID Reader بااستفاده‌از Arduino

0
575
راه اندازی RC522 RFID Reader با استفاده از Arduino
راه اندازی RC522 RFID Reader با استفاده از Arduino

در این مقاله می‌خواهیم نحوه‌ی استفاده‌از RFID ریدر مدل RC522 را بیان‌کنیم. با ما همراه باشید تا با مشخصات این RFID بیشتر آشنا‌شوید و هم‌چنین نمونه پروژه‌ای از آن با‌استفاده‌از آردوینو را ببینید.

RFID:

درواقع RFID کلمه اختصاری بازشناسایی با امواج رادیویی است. RFID از میدان مغناطیسی برای انتقال اطلاعات در فاصله کوتاه استفاده می‌کند. می‌توان در‌مواردی هم‌چون شناسایی افراد، معاملات و‌… از آن استفاده‌کرد. می‌توانید از سیستم RFID برای باز‌کردن درب استفاده‌کنید. بدین‌صورت که تنها شخص با کارت دارای اطلاعات مناسب می‌تواند واردشود. سیستم‌RFID به‌منظور شناسایی از برچسب‌هایی که به اشیاء متصل می‌شوند استفاده‌می‌کند. به‌عنوان‌مثال در تصویر‌زیر، یک جا‌کلیدی (keychain) و یک کارت الکترومغناطیسی را می‌بینید که هر تگ شناسه‌(UID) مخصوص‌به‌خود دارد.

keychain و UID
keychain و UID

 

سیستم‌RFID از فرستنده و گیرنده رادیویی دو‌طرفه نیز استفاده می‌کند. بدین‌صورت‌که ریدر یک سیگنال به تگ ارسال میکند و پاسخ آن‌را می‌خواند.

سیستم RFID
سیستم RFID

 

مشخصات ماژول RC522 :

  • ولتاژ ورودی: 3.3V
  • قیمت: حدود ۲۱هزار تومان (البته بهتر است قیمت روز بازار ایران را مد نظر قرار دهیم)
  • فرکانس: 13.56 مگاهرتز

دانلود کتابخانه RC522 :

در اینجا کتابخانه‌ای که برای این پروژه نیاز‌دارید قرار‌دارد:

  1. کتابخانه RFID نوشته‌شده توسط miguelbalboa را از اینجا دانلود‌کنید.
  2. کتابخانه RFID را از حالت زیپ خارج کنید.
  3. کتابخانه RFID را در آردوینو IDE خود نصب کنید.
  4. آردوینو IDE خود را دوباره راه اندازی کنید.

اتصالات پین‌ها:

پین اتصال به Arduino Uno
SDA Digital 10
SCK Digital 13
MOSI Digital 11
MISO Digital 12
IRQ unconnected
GND GND
RST Digital 9
3.3V 3.3V

 

توجه‌داشته‌باشید که تغذیه باید ۳.۳ولت باشد.

مدار:

مدار
مدار

 

خواندن اطلاعات از تگ RFID :

پس‌از اینکه مدارتان آماده‌شد به File > Examples > MFRC522 > DumpInfo بروید و کدتان را آپلود کنید. پس‌از نصب کتابخانه RFID این کد در کتابخانه شما در‌دسترس است. سپس سریال مانیتور را بازکنید. تصویری‌مشابه شکل‌زیر را می‌ببینید.

سریال مانیتور
سریال مانیتور

 

کارت RFID یا keychain را به ریدر نزدیک‌کنید و تا‌زمانی‌که تمام اطلاعات نمایش‌داده‌شود، ریدر و تگ را نزدیک‌هم نگه‌دارید.

  کارت RFID یا keychain
کارت RFID یا keychain

 

این اطلاعاتی‌است که می‌توانید از کارت بخوانید، از‌جمله UID کارت که در تصویر با کادر زرد مشخص‌شده‌است. این اطلاعات در حافظه ذخیره می‌شود و همان‌طور‌که در تصویر مشاهده‌کردید به سطر و ستون تقسیم می‌شود. شما ۱۰۲۴بایت ذخیره‌سازی داده دارید که به ۱۶بخش تقسیم‌شده و هر بخش توسط دو کلید A و B محافظت می‌شود. UID کارت خود را یادداشت‌کنید، زیرا بعداً به آن نیاز دارید. کد زیر را آپلود‌کنید:

/*
* 
* All the resources for this project: http://randomnerdtutorials.com/
* Modified by Rui Santos
* 
* Created by FILIPEFLOP
* 
*/

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.

void setup() 
{
Serial.begin(9600); // Initiate a serial communication
SPI.begin(); // Initiate SPI bus
mfrc522.PCD_Init(); // Initiate MFRC522
Serial.println("Approximate your card to the reader...");
Serial.println();

}
void loop() 
{
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) 
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) 
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
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.println();
Serial.print("Message : ");
content.toUpperCase();
if (content.substring(1) == "BD 31 15 2B") //change here the UID of the card/cards that you want to give access
{
Serial.println("Authorized access");
Serial.println();
delay(3000);
}

else {
Serial.println(" Access denied");
delay(3000);
}
}

 

در‌قسمتی از کد بالا شما باید (”if (content.substring(1) == “REPLACE WITH YOUR UID را تغییر‌دهید و UID کارت خود را که قبلاً یادداشت کرده‌اید بنویسید.

نمایش:

اکنون کد خود را روی آردوینو آپلود کنید و پنجره سریال مانیتور را باز‌کنید.

اگر کارتی که UID آن را وارد کرده‌اید نزدیک‌کنید تصویر‌زیر را خواهید‌دید:

تطبیق کارت UID
تطبیق کارت UID

 

و اگر کارت با UID غیر‌منطبق نزدیک‌شود پیغام عدم‌پذیرش نمایش‌داده می‌شود:

عدم‌تطبیق کارت UID
عدم‌تطبیق کارت UID

 

 

منبع: سیسوگ

مطلب قبلیآموزش میکروکنترلرARM سری STM32F4 قسمت اول
مطلب بعدیراه‌اندازی OLED با آردوینو

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید