تکنولوژی RFID یکی از کاربردی ترین روش ها در سیستم های کنترل تردد است . به طور کلی هر سیستم RFID متشکل از دو قسمت گیرنده و تگ RFID می باشد . تگ های RFID که در قالب جا سوئیچی ، کارت ، برچسب و … هستند که در داخل آن ها یک میکروکنترلر کوچک به همراه یک آنتن وجود دارد . با نزدیک کردن تگ به سیستم گیرنده ، گیرنده با القای امواج الکترومغناطیسی تگ را فعال کرده و سپس بر اساس یک پروتکل خاص و در فرکانسی مشخص اطلاعات مابین تگ و گیرنده جا به جا می شود . ماژول های rfidزیادی در بازار وجود دارند که هر کدام ویژگی های خاص خود را دارد . از جمله ماژول هایی که قابلیت خواندن و نوشتن تگ های 13.56MHz را دارند مدل PN532 شرکت NXP می باشد . این ماژول قابلیت های زیادی دارد و  از کلیه تگ های با فرکانس 13.56MHz مایفر پتشیبانی می کند . همچنین علاوه بر قابلیت خواندن ، امکان نوشتن بر روی تگ ها را نیز دارد . یکی از مهمترین مزیت های PN532 پشتیبانی از NFC می باشد . لذا به راحتی می توانید توسط گوشی های هوشمندی که قابلیت NFC دارند با ماژول PN532 ارتباط برقرار کنید . ماژول PN532 داری یک دیپ سوئیچ دوتایی است که از طریق آن می توان رابط کنترلی ماژول را انتخاب کرد . در تصویر زیر حالت های مختلف دیپ سوئیچ ماژول نشان داده شده است :

 

در این آموزش ما از رابط SPI استافده خواهیم کرد لذا دیپ سوئیچ ماژول را بر روی حالت SPI قرار دهید .

ماژول PN532 را همانند شکل زیر به برد آردوینو متصل کنید :

/*You can download the code library below*/

#include <Adafruit_PN532.h>
#include "Wire.h"
#include "LiquidCrystal.h" // Optioanl

#define SCK  (13)
#define MOSI (11)
#define SS   (10)
#define MISO (12)

Adafruit_PN532 nfc(SCK, MISO, MOSI, SS);

void setup(void) {
  Serial.begin(9600);
  Serial.println("14CORE | NFC - SPI Test Code TAG Reader");
  Serial.println("Initializing please wait.......");
  delay(3000);
  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (! versiondata) {
    Serial.print("Didn't find PN53x board");
    while (1); // halt
  }
  // Got ok data, print it out!
  Serial.print("Device Found PN5 Chip"); 
  Serial.println((versiondata>>24) & 0xFF, HEX); 
  Serial.print("Firmware version > "); 
  Serial.print((versiondata>>16) & 0xFF, DEC); 
  Serial.println((versiondata>>8) & 0xFF, DEC);
  nfc.SAMConfig(); //Set to read RFID tags
  Serial.println("Waiting for an ISO14443A Card ...");
}

 

مطابق شکل زیر ماژول را به آردوینو متصل کنید :

 

Tags:
About Author: USER_4