i need the RFID-RC522 to scan the RFID one time once it place on card reader, please help...
#include<MFRC522.h>
#include<SPI.h>
#define SAD 10
#define RST 5
MFRC522 nfc(SAD,RST);
void setup()
{
SPI.begin();
Serial.begin(9600);
Serial.println("Looking for MFRC522.");
nfc.begin();
byte version = nfc.getFirmwareVersion();
if (! version)
{
Serial.print("Didn't find MFRC522 board.");
while(1); //halt
}
Serial.print("Found chip MFRC522 ");
Serial.print("Firmware ver. 0x");
Serial.print(version, HEX);
Serial.println(".");
attachInterrupt(0,blink,RISING); //attachInterrupt(pin 2 is interrupt0,
}
byte keyA[4]={0x84,0xF1,0x48,0x03};
byte keyB[4]={0x19,0xB0,0x6A,0xC5};
void loop()
{
byte status;
byte data[MAX_LEN];
byte serial[4];
int i,j;
status=nfc.requestTag(MF1_REQIDL,data);
for(int i=0;i<500;i++)
{
if(status==MI_OK)
{
Serial.println("Tag detected.");
status = nfc.antiCollision(data);
memcpy(serial, data, 4);
Serial.println("The serial nb of the tag is:");
for (i = 0; i < 3; i++)
{
Serial.print(serial[i], HEX);
Serial.print(", ");
}
Serial.println(serial[3], HEX);
for(i=0;i<4;i++)
{
if(serial[i]==keyA[i])
{
user++;
}
else if(serial[i]==keyB[i])
{
user=user+2;
}
else
{
user=0;
}
}
user=user/4;
switch(user)
{
case 0:
Serial.println("invalid user");
break;
case 1:
Serial.print("id=");
for (i = 0; i < 3; i++)
{
Serial.print(serial[i], HEX);
Serial.print(", ");
}
Serial.println(serial[3], HEX);
Serial.println("Continuous?");
while(digitalRead(7)==0)
{
delay(10);
}
}
