Professional Documents
Culture Documents
Lector de Tarjetas Rfid Con Modificaciones
Lector de Tarjetas Rfid Con Modificaciones
Sirve para que funcione con las dos opciones, de error o aprobación.
FUNCION
delay (tiempo);
delay (tiempo);
por ejemplo:
delay (500);
delay (1000);
delay (1500);
etc...
En este caso tenemos un total de 21 filas y 4 columnas. Esto puede variar dependiendo del tamaño
en que necesitemos la matriz
___________________________________________________________________________
if(comprobar() == true)
{
Serial.println("ERROR. La tarjeta ya existe. ");
break;
}
#include <deprecated.h>
#include <MFRC522.h>
#include <MFRC522Debug.h>
#include <MFRC522Extended.h>
#include <MFRC522Hack.h>
#include <require_cpp11.h>
#define BUZZER x
#define BTN_ADDCARD x
#define BTN_SHOWCARD x
byte numTarjetas = 0;
void setup()
Serial.begin(9600);
SPI.begin();
lector.PCD_Init ();
pinMode (BUZZER, OUTPUT);
void loop ()
if (digitalRead(BTN_ADDCARD) == LOW)
menu ();
if (digitalRead(BTN_SHOWCARD) == LOW)
imprimirTarjetas();
if ( lector.PICC_IsNewCardPresent() == 1 )
if (lector.PICC_ReadCardSerial() == 1)
Serial.print(lector.uid.uidByte[i]);
Serial.print(" ");
Serial.println("");
lector.PICC_HaltA();
if (comprobar() == true)
Serial.println("ACCESO CONCEDIDO");
pitido(100);
else
Serial.println("ACCESO DENEGADO");
pitido(1000);
else
Serial.println("ERROR, reintente");
}
}
boolean comprobar()
matriz[i][3] == lector.uid.uidByte[3] )
return true;
return false;
void menu()
while (true)
if (lector.PICC_IsNewCardPresent() == 1)
{
if (lector.PICC_ReadCardSerial())
break;
matriz[numTarjetas][i] = lector.uid.uidByte[i];
numTarjetas++;
lector.PICC_HaltA();
imprimirTarjetas();
else
break;
}
}
void imprimirTarjetas()
Serial.print("Tarjeta Nº ");
Serial.print(i);
Serial.print(" : ");
Serial.print( matriz[i][0] );
Serial.print(" ");
Serial.print( matriz[i][1] );
Serial.print(" ");
Serial.print( matriz[i][2] );
Serial.print(" ");
Serial.print( matriz[i][3] );
Serial.println(" ");
}
}
digitalWrite(BUZZER, HIGH);
delay(tiempo);
digitalWrite(BUZZER, LOW);
delay(tiempo);