رباتیک و هوافضا

ساخت مدار RFID با استفاده از آردوینو

مدار RFID با استفاده از آردوینو

به نام خدا

ساخت مدار RFID با استفاده از آردوینو

مدار RFID با استفاده از آردوینو

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

 

استفاده از تگ های RFID

بدون شک تمامیه افرادی که این پست را مطالعه می کنند حداقل یک بار از RFID برای دسترسی های امنیتی استفاده کرده اند. کارت های الکرتونیکی که با خود جابجا می کنید همگی یک چیپ الکترونیکی دارند که در آن اطلاعاتی ذخیره شده است. برخلاف بارکد که باید شکل آن توصط دستگاه خوانده شود ، RFID تنها با نزدیک شدن به محل مورد نظر قادر به خواندن اطلاعات می باشد. اکثر کارت های هوشمند امروزی ما از تکنولوژی RFID استفاده می کنند. این به این معنی ست که هیچ توانی برای خواندن اطالاعات آن ها نیاز نیست. توان لازم برای چیپ RFID از طریق خود سیستم دریافت اطلاعات ایجاد می شود. فاصله ی بین چیپ RFID تا دستگاه خواننده بستگی به نوع کاربرد آن از چند میلیمتر تا حدود چند متر می باشد.

بیشتر بخوانید...  آموزش پروژه محور آردوینو – جلسه هشتم ورودی آنالوگ

 

 

 

 

مدار RFID با استفاده از آردوینو

همانطور که مشاهده می شود ، یک قطعه PCB اطراف سیستم خواننده وجود دارد. همچنینی شیار های خمیده ای وجود دارد که موجی الکترو مغناطیسی در حدود ۱۳٫۵۶ مگا هرتز ایجاد می کنند. چیپ RFID این موج را به عنوان توان لازم دریافت می کنند و سپس دستگاه خواننده می تواند اطلاعات RFID را بخواند.

 

 

مدار RFID با استفاده از آردوینو

 

شماتیک مدار :

 

مدار RFID با استفاده از آردوینو

در شکل بالا شماتیک و اتصالات مدار را مشاهده می کنید. تو جه شود که ولتاژ کاری ماژول RC522 3.3 ولت می باشد. پس آن را به ۵ ولت متصل نکنید زیرا برد دچار آسیب خواهد شد.

 

مدار RFID با استفاده از آردوینو

قبل از آپلود کردن کد ابتدا کتابخانه ی RFID را از لینک زیر دانلود کنید.

دانلود فایل

کدبرنامه:

 

#include <SPI.h>
#include <MFRC522.h>
#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 ();
}

 

بیشتر بخوانید...  انکودر چرخشی با میکروکنترلر ATmega8

دیدگاه‌ها (2)

*
*

    امیرحسین آقاجانی مهمان مهر 11, 1398 پاسخ

    سلام، با تشکر از آموزش خوبتون،
    فقط این خروجیش چیکار میکنه؟
    مثلا میشه به رله وصل کرد ؟

      Admin مدیر کل آبان 14, 1399 پاسخ

      سلام. ممنون
      بله میتونید به رله وصل کنید