Lector RFID RC 522.

Muy buenas,

Estoy intentado hacer un proyectito con Arduino UNO para que mi puerta se pueda abrir y cerrar mediante un botón y con la tarjeta RFID RC 522.

El problema que estoy teniendo es que al principio funciona perfecto pero al cabo de un rato deja de leer el lector RFID y la puerta no se abre.

Lo raro es que con el botón si que se activa y no da problemas.

Agradecería si alguien puede echarle un ojo al código para ver si hay algo mal.

Muchas gracias.

CODIGO:

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

#define SS_PIN 10
#define RST_PIN 9
#define RELAY 3 //relay pin
#define ACCESS_DELAY 200000
#define DENIED_DELAY 1000
#define RELAY_DELAY 20000
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance.
const int buttonPin = 2;
const int RELAYPin = 3;
const int LEDPin = 4;
int buttonState = 0;

void setup()
{
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
digitalWrite(RELAY, HIGH);
Serial.println("Identificate ...");
Serial.println();
pinMode(RELAYPin, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode (LEDPin, OUTPUT);

}

void loop() {

{

buttonState = digitalRead(buttonPin);

if (buttonState == HIGH)

{
// turn RELAY on:
digitalWrite(RELAYPin, LOW);
delay(RELAY_DELAY);
}

else {
// turn RELAY off:
digitalWrite(RELAYPin, HIGH);

}

}

// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent())
{
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial())
{
return;
}
//Show UID on serial monitor
Serial.print("UID tag :");
String content= "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++)
{
Serial.print(mfrc522.uid.uidByte < 0x10 ? " 0" : " ");
_ Serial.print(mfrc522.uid.uidByte*, HEX);_
_ content.concat(String(mfrc522.uid.uidByte < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte, HEX));
}*_

* content.toUpperCase();*
* if*
* (content.substring(1) == "B6 46 57 5A" || // Javi*
* (content.substring(1) == "B2 4B 57 6D") || // Helena*
* (content.substring(1) == "C2 8D 38 6D") ) // Llave Emergencia*

* {*
* Serial.println(" acces");*
* Serial.println();*
* delay(500);*
* digitalWrite(RELAY, LOW);*
* delay(ACCESS_DELAY);
_ digitalWrite(RELAY, HIGH);*_

* }*
else {
* Serial.println(" denied acces");*
* delay(DENIED_DELAY);*

* }*
* }*

Por favor, lean las normas del foro!!
Edita el código usando etiquetas </> y el título de tu hilo (lo he hecho yo pero si no te gusta lo cambias).
La próxima usa titulos sin lapalabra AYUDA, el foro te brinda Ayuda, de modo que poner un título con la palabra es INUTIL.