Arduino - RFID RC522 [Tutorial]
En la actulidad está teniendo un gran protagonismo la tecnología RFID, ¿que es RFID?… Te recomiendo pegar un breve vistazo a este articulo.
Como breve resumen, RFID es una tecnología que se encarga de identificar elementos únicos de manera inalambrica.
Ok, y ahora que sabemos que es RFID, vamos a exponer un breve caso de uso.
Ejemplo de caso de uso
Solo queremos que puedan entrar a nuestro edificio las personas previamente autorizadas, pero no queremos tener a un guarda de seguridad vigilando a cada una de las personas.
Genial, tenemos planteado nuestro objetivo, tenemos una puerta, y esta puerta solo debe abrirse cuando vaya a pasar una persona autorizada.
¿Esto no sería básicamente poner una cerradura en nuestra puerta y darle una llave a cada persona autorizada?
El planteamiento es bueno, pero ahora, después de haber facilitado 1000 copias de la llave a todos nuestros clientes, uno de ellos deja de formar parte de nuestra cartera de clientes, ¿cambiamos la cerradura? ¿Volvemos a dispensar 999 copias de llaves a los clientes?
Poco eficiente verdad…
Vamos a ser mas listos, ¿como?, añadiendo un lector de tarjetas RFID a nuestra puerta, junto con una cerradura eléctrica.
Una vez tengamos esto lo conectamos a un servidor en el que estarán almacenados todos nuestros clientes.
Ahora solo debemos facilitar una tarjeta (llave) a cada cliente, que tendrá un identificador único, el cual usaremos para gestionarlo en nuestro servidor.
![](https://www.acabeza.es/wp-content/uploads/2022/03/accesos_rfid-300x200.jpg)
![](https://www.acabeza.es/wp-content/uploads/2022/03/accesos_rfid2-1-300x300.jpg)
Montaje
El esquema de montaje que vamos a usar es el siguiente, que está basado en un modelo básico de lectura:
![](https://www.acabeza.es/wp-content/uploads/2022/03/rfid-rc522-arduino-1.jpg)
A continuación se detalla cada uno de los elementos de la conexión
Color de cable -> Función
- Rojo -> Alimentará nuestra placa lectora RC522
- Negro -> Lo usaremos como negativo
- Verde -> Reset, cuando el estado del pin pase a “bajo”, desconectara y dejara sin alimentación a todo el modulo RC522
- Azul -> MISO, linea de datos usada para enviar los datos al maestro
- Morado -> MOSI, linea de datos usada para enviar los datos al esclavo
- Naranja -> SCK, Pulsos de reloj los cuales sincronizan la transmisión de los datos generados por el maestro
- Gris -> SDA, pin a cada uno de los dispositivos esclavos que el maestro puede usar para habilitar y deshabilitar
Código Arduino
Lo primero que vamos a necesitar es una librería que nos permita realizar esta comunicación de una manera sencilla, para esto vamos a usar MFRC522 (Link de GitHub).
Una vez tenemos la librería vamos a usar el siguiente código extraído de la misma librería
Con este código a la hora de abrir nuestra consola Serial, vamos a poder leer toda la información de nuestras tarjetas
![](https://www.acabeza.es/wp-content/uploads/2022/03/MFRC522DumpInfo-Output.png)
¡Genial! Ya hemos leído nuestra primera tarjeta.
Ahora, si nos percatamos de un punto clave, nuestra tarjeta tiene un Card UID, esto es un identificador único, que nos permitirá poder identificar nuestra tarjeta de manera única.
Esto no es recomendable, ya que puede ser fácilmente vulnerado. En el proximo articulo mostraré como realizar escrituras dentro de nuestro tag.