Dificultad: avanzada

Los lectores RFID(Radio Frequency IDentification) en la actualidad se utiliza mucho en  sistemas de identificación, su uso abarca desde sistemas de seguridad, acceso de personal, identificación y logística de productos, como llaves de puertas eléctricas, entre otras aplicaciones.

Su principio de funcionamiento consiste en pasar un TAG, cerca de un lector RFID, el TAG tiene la capacidad de enviar información al lector. Dicha información puede ser desde un simple código o todo un paquete de información guardo en la memoria del Tag.

Los TAGs viene en diferentes modelos, los más comunes son en tarjetas y en llaveros. Los Tags tienen internamente una antena y un microchip, encargado de realizar todo el proceso de comunicación, la energía lo obtiene de la señal de radiofrecuencia, que si bien la energía en la señal es pequeña, es suficiente para hacer trabajar el microchip, esto es la razón por la que es necesario acercarlos a una pequeña distancia generalmente menor a 10 cm.

Lista de componentes:

  • Arduino Uno
  • Modulo RFID RC522 con TAG (llavero o tarjeta)
  • Cables de conexión
  • Protoboard

Imágenes ilustrativas de componentes:

PASO 1 : conexión de componentes:

Módulo RC522 Arduino Uno
SDA (SS) 10
SCK 13
MOSI 11
MISO 12
IRQ No conectado
GND GND
RST 9
3.3V 3.3V

Como se observa en la conexión, el módulo trabaja con un voltaje de 3.3V, por lo que la parte lógica también debería trabajar con el mismo nivel de voltaje, para prueba y testeo se puedo conectar directamente a los pines del Arduino (nivel TTL 5V), pero se recomienda usar conversores de niveles de voltaje.

Paso 2 programacion:

Para poder trabajar el Módulo en Arduino es necesario instalar su librería correspondiente provista en la carpeta del proyecto. La que usaremos será una de las más comunes, la desarrollada por Miguel Balboa. [DESCARGAR]

Una vez instalado, importamos la librería a nuestro IDE de Arduino, con esto estamos listos para programar.

Aquí hay un pequeño tutorial que explica como cargar una librería de Arduino a partir de un archivo .zip:

1.- Ubicar la librería de arduino que requerimos (en nuestro caso esta se encuentra en la carpeta del proyecto).

2.- Abrir el IDE de Arduino y hacer click en Programa > Incluir librería… > Añadir librería .ZIP en la barra de menú.

3.- Se mostrará la pantalla donde debemos indicar la ruta del archivo .ZIP que contiene la librería de arduino. Elegimos el archivo ZIP que acabamos de descargar y damos click en “Seleccionar”.

Una vez realizados los pasos anteriores, ya debemos tener nuestra libraría lista para funcionar.

A continuación se muestra un sketch para leer el código de identificación de nuestros Tags:

Copiar el código al Arduino, borrando todo el código previo.

Como podemos observar, en este proyecto también utilizaremos el monitor serie para visualizar datos del Arduino, ver proyecto 3 para explicación de como usar el monitor serie.

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

#define RST_PIN 9 //Pin 9 para el reset del RC522
#define SS_PIN 10 //Pin 10 para el SS (SDA) del RC522
MFRC522 mfrc522(SS_PIN, RST_PIN); //Creamos el objeto para el RC522

void setup() {
Serial.begin(9600); //Iniciamos la comunicación serial
SPI.begin(); //Iniciamos el Bus SPI
mfrc522.PCD_Init(); // Iniciamos el MFRC522
Serial.println("Lectura del UID");
}

void loop() {
// Revisamos si hay nuevas tarjetas presentes
if ( mfrc522.PICC_IsNewCardPresent())
{
//Seleccionamos una tarjeta
if ( mfrc522.PICC_ReadCardSerial())
{
// Enviamos serialemente su UID
Serial.print("Card UID:");
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
// Terminamos la lectura de la tarjeta actual
mfrc522.PICC_HaltA();
}
}
}

Aprieta el boton subir para enviar el codigo al Arduino.

Si “cargado exitosamente” aparece al fondo de la Ventana, significa que el codigo se cargo exitosamente en la placa.