Regarding RFID

Submitted by Karthick S on Mon, 01/30/2017 - 23:14

I have RFID card reader. It is working fine but I had added one additional functionality that when it finds invalid user it should turn on red led. It is not working if it is finding invalid card when I added additional Led. I dont know why. Can you please explain. If i remove the led code it is working otherwise it is not recongnising even if i show valid id card. 

This is the code. If I remove led it is working otherwise it does not.

const int buzzer = 46; //buzzer to arduino pin 9
#include <SPI.h>
#include <MFRC522.h>
#define F_PIN 48  // failure pin
#define P_PIN 47  // successful pin
#define RST_PIN         49          // Configurable, see typical pin layout above
#define SS_PIN          53         // Configurable, see typical pin layout above
byte data[4];
MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

void setup() {
  pinMode(F_PIN,OUTPUT);
  pinMode(P_PIN,OUTPUT);
  pinMode(buzzer,OUTPUT);
  digitalWrite(F_PIN,LOW);
  digitalWrite(P_PIN,LOW);
  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522
  mfrc522.PCD_DumpVersionToSerial();  // Show details of PCD - MFRC522 Card Reader details
  Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
  Serial.println("Please scan your card");
}

void loop() {
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    delay(100);
    return;
  }
  else
  {
    Serial.println("Card is found");
    Serial.println("Authentication is in progress");
  }
   
  if ( ! mfrc522.PICC_ReadCardSerial())
    return;
     Serial.print("Please wait.");
     delay(500);
     Serial.print(".");
     delay(500);
     Serial.print(".");
     delay(500);
     Serial.print(".");
    delay(500);
    Serial.println(" ");
      Serial.print("Card No is : ");
  for(int i=0;i<4;i++){
    if(mfrc522.uid.uidByte[i]<16) 
     Serial.print("0");
     Serial.print(mfrc522.uid.uidByte[i], HEX);
  }  Serial.println(" ");
     if((mfrc522.uid.uidByte[0])==0x41 && (mfrc522.uid.uidByte[1])==0xAD && (mfrc522.uid.uidByte[2])==0x34 && (mfrc522.uid.uidByte[3])==0x5B){
            Serial.println("Authentication is successful... Access Granted !!!");
            digitalWrite(P_PIN,HIGH);
            tone(buzzer,1000);
        }
          else if((mfrc522.uid.uidByte[0])==0x14 && (mfrc522.uid.uidByte[1])==0x46 && (mfrc522.uid.uidByte[2])==0x73 && (mfrc522.uid.uidByte[3])==0xE1){
              Serial.println("Authentication is successful... Access Granted !!!");
                
           }
               else {
                   Serial.println("Authentication is failed... Access Denied !!!");
                   digitalWrite(F_PIN,HIGH);
                   delay(1000);
                   digitalWrite(F_PIN,LOW);
               }
}