NFC Modul Arduino

RFID Arduino Modul X3P MFRC522

14,90 

Enthält 19% MwSt
Kostenloser Versand

RFID NFC Modul zum auslesen und beschreiben von NFC Implantaten. Dieses Modul kann mit einem Arduino oder Raspberry Pi angesteuert und eingebunden werden.

Clear
View Detail
SKU: N/A

Beschreibung

Dieses RFID Modul mit integrierter 13,56MHz Antenne lässt sich mittels den digitalen Schnittstellen ARM / STM an den Arduino oder auch mit dem Raspberry Pi andocken.

Das Modul benötigt 3,3V oder alternativ eine 5V Stromversorgung. Das RFID MFRC522 modul unterstützt MF1xxS20, MF1xxS70 und MF1xxS50 tags. Die Transfergeschwindigkeit kann mittels MIFARE Classic Transponder eine Geschwindigkeit bis zu 848 Byte in beide Richtungen erreichen. Das Modul misst 36x36mm und verfügt über vier Bohrlöcher an jeder Ecke. Die Antenne erreicht einen Leseabstand von ca. 20mm. Getestet wurde dies mittels NFC Tag MIFARE NTAG216.

Bitte beachten Sie dass die Version ohne Löcher 31x30mm groß ist statt 36x36mm wie es bei der Version mit Löchern der Fall ist.

Beispielcode

// VCC—-5V

// GND—-GND
// RST—-D5
// SDA—-D10
// MOSI—D11
// MISO—D12
// SCK—-D13
#include <SPI.h>
#include <RFID.h>
RFID rfid(10,5);    //D10–SDA, D5–RST
unsigned char serNum[5];
unsigned char writeDate[16] ={‚R‘, ‚o‘, ‚b‘, ‚o‘, ‚t‘, ‚D‘, ‚y‘, ’n‘, ‚-‚, ‚T‘, ‚e‘, ’s‘, ‚t‘, 0, 0, 0};
unsigned char sectorKeyA[16][16] = {
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};
unsigned char sectorNewKeyA[16][16] = {
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},
        {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xff,0x07,0x80,0x69, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF},};
void setup()
{
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
}
void loop()
{
  unsigned char i,tmp;
  unsigned char status;
  unsigned char str[MAX_LEN];
  unsigned char RC_size;
  unsigned char blockAddr;
  rfid.isCard();
  if (rfid.readCardSerial())
  {
    Serial.print(„The card’s number is  : „);
    Serial.print(rfid.serNum[0],HEX);
    Serial.print(rfid.serNum[1],HEX);
    Serial.print(rfid.serNum[2],HEX);
    Serial.print(rfid.serNum[3],HEX);
    Serial.print(rfid.serNum[4],HEX);
    Serial.println(“ „);
  }
  rfid.selectTag(rfid.serNum);
  blockAddr = 7;
  if (rfid.auth(PICC_AUTHENT1A, blockAddr, sectorKeyA[blockAddr/4], rfid.serNum) == MI_OK)
  {
    status = rfid.write(blockAddr, sectorNewKeyA[blockAddr/4]);
    Serial.print(„set the new card password, and can modify the data of the Sector: „);
    Serial.println(blockAddr/4,DEC);
    blockAddr = blockAddr – 3 ;
    status = rfid.write(blockAddr, writeDate);
    if(status == MI_OK)
    {
      Serial.println(„Write card OK!“);
    }
  }
  blockAddr = 7;
  status = rfid.auth(PICC_AUTHENT1A, blockAddr, sectorNewKeyA[blockAddr/4], rfid.serNum);
  if (status == MI_OK)
  {
    blockAddr = blockAddr – 3 ;
    if( rfid.read(blockAddr, str) == MI_OK)
    {
      Serial.print(„Read from the card ,the data is : „);
      Serial.println((char *)str);
    }
  }
  rfid.halt();
  delay(500);
}