Adrian Cabeza

0 %
Adrian Cabeza
Paraty Tech
Software Engineer
Software Architect
Español
Ingles
HTML/ CSS3/ Javascript
Python
jQuery / SASS
Google Appengine / AWS
Jenkins
Google Analytics
React
Flutter
  • GIT
  • Sass, Less
  • Webpack
  • Django / Flask / Jinja2
  • RabbitMQ
  • PostrgreSQL / MongoDB
  • REST
  • Google Tag Manager
  • Administración de Sistemas
  • Administración de Redes

Arduino – RFID RC522

12 de abril de 2022

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.

RFID Wikipedia

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

Imaginemos que tenemos un edificio en el que tenemos miles de almacenes.
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.

 

Materiales Necesarios

Para nuestro proyecto vamos a necesitar los siguientes materiales

  • Arduino UNO (Link)
  • Pack lector RC522 + Tags (Link

Montaje

El esquema de montaje que vamos a usar es el siguiente, que está basado en un modelo básico de lectura:

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
 
Recomiendo una breve lectura de SPI (Wikipedia)
 

Código Arduino

Ahora que tenemos conectado nuestro modulo RC522 con Arduino, vamos a pasar a la parte divertida, la programación.
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

¡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.

Posted in Arrduino, Electrónica, NFCTags:
Write a comment