رفتن به مطلب
انجمن الکترولب
Ali Ezzati

راه اندازی ماژول RFID RC522 با آردوینو

پست های پیشنهاد شده

در این مطلب ماژول RFID RC522 را بررسی می کنیم و به طور خلاصه راه اندازی ماژول RFID RC522 با آردوینو را توضیح می دهیم. ماژول های RFID به منظور خواندن و نوشتن کارت ها یا تگ های RFID مورد استفاده قرار میگیرند. کارت های مغناطیسی امروزه در زندگی روزمره ما به وفور در دستگاه های مختلفی استفاده می گردند.تگ و يا کارت RFID، شامل يک مدار الکترونيکی است زمانی که تگ در نزدیکی کدخوان ( RFID Reader ) قرار می گيرد، میدان مغناطيسی تولید شده توسط کد خوان باعث فعال شدن تگ می گردد. و تگ اقدام به ارسال داده از طریق پالس های راديويی می نماید.سیستم های RFID دارای فرکانس های کاری متنوعی هستند که از این بین دو فرکانس 125 کیلوهرتز و 13.56 مگاهرتز متداول تر می باشند. این ماژول در محدوده فرکانسی 13.56Mhz کار کرده و علاوه بر خواندن اطلاعات می تواند اطلاعات جدیدی را بر روی حافظه ی کارت ذخیره نماید.

نحوه اتصال ماژول به برد آردوینو

Interfacing-of-RFID-RC522-with-Arduino.j ما از پروتکل SPI برای اتصال آردوینو و ماژول RC522 استفاده میکنیم. ترتیب اتصال پایه ها در تصویر پایین مشخص است. Interfacing-of-RFID-RC522-with-Arduino1-

ترتیب اتصال پایه ها

Interfacing-of-RFID-RC522-with-Arduino-e

برای اتصال راه اندازی ماژول RFID RC522 به آردوینو نیاز به اتصال 7 پین است در این مورد به پین IRQ نیازی نداریم. در ادامه کتابخانه مورد نیاز برای راه اندازی این ماژول را دانلود کنید و در برنامه آردوینو اضافه کنید.

دانلود کتابخانه ماژول RFID RC522 با آردوینو

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

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

    #define RST_PIN         9
    #define SS_PIN          10
    MFRC522 mfrc522(SS_PIN, RST_PIN);

    void setup()
    {

    SPI.begin();
    mfrc522.PCD_Init();
    }

    void loop() {
    RfidScan();
    }

    void dump_byte_array(byte *buffer, byte bufferSize) {
    for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ?  0 :  “);
    Serial.print(buffer[i], HEX);
    }
    }

    void RfidScan()
    {
    if ( ! mfrc522.PICC_IsNewCardPresent())
    return;

    if ( ! mfrc522.PICC_ReadCardSerial())
    return;
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);

با استفاده از این کد می توانید تگ RFID خود را بخوانید این اطلاعات روی پورت سریال نمایش داده می شود. نمونه کد دوم برای ماژول RFID RC522 در نمونه کد اول ما شماره هر تگ را خواندیم در نمونه کد دوم از این اطلاعات برای تشخیص کارت ها استفاده میکنیم. به این صورت که در صورت خواندن تگ اول توسط ماژول عبارت 1 در پورت سریال نمایش داده می شود. و هر تعداد تگ تعریف شده باشد این روند ادامه میابد. با تغییر دستور شرط if می توانید برای هر کارت عملیات خاصی را تعریف کنید.

#include <SPI.h>
    #include <MFRC522.h>
 
    #define RST_PIN         9
    #define SS_PIN          10
    MFRC522 mfrc522(SS_PIN, RST_PIN);
    int RfidNo = 0;
 
    void setup()
    {
 
    SPI.begin();
    mfrc522.PCD_Init();
    }
 
    void loop() {
    RfidScan();
    }
 
    void dump_byte_array(byte *buffer, byte bufferSize)
    {
    Serial.print(“~”);
    if(buffer[0] == 160){RfidNo = 1;Serial.print(RfidNo);}
    if(buffer[0] == 176){RfidNo = 2;Serial.print(RfidNo);}
    if(buffer[0] == 208){RfidNo = 3;Serial.print(RfidNo);}
    if(buffer[0] == 224){RfidNo = 4;Serial.print(RfidNo);}
    if(buffer[0] == 240){RfidNo = 5;Serial.print(RfidNo);}
    Serial.print(“!”);
    while(1){getFingerprintIDez();}
    }
 
    void RfidScan()
    {
    if ( ! mfrc522.PICC_IsNewCardPresent())
    return;
 
    if ( ! mfrc522.PICC_ReadCardSerial())
    return;
    dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
    }

  منبع: adafruit.com  الکترولب

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری

×