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);*
* }*
* }*