INFORMACIÓN
El RFID RC522 (Identificador por radiofrecuencia) esta diseñado para leer etiquetas (tags) a corta distancia de forma inalámbrica, posee comunicación SPI lo que facilita su uso con la mayoria de microcontroladores. Utiliza un sistema de modulación y demodulación para todo tipo de dispositivos pasivos RFID de 13.56MHz.
Los RFID RC522 son ampliamente empleados, por ejemplo, en sistemas de alarma, aplicaciones comerciales en sustitución de códigos de barras, cerraduras electrónicas, sistemas de pago, tarjetas personales, control de accesos recintos como gimnasios o piscinas, fichaje en empresas, entre otras muchas aplicaciones.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Modelo: MF522-ED.
- Voltaje de alimentación: 3.3V
- Corriente de operación: 13-26mA
- Im máxima: 30mA.
- Frecuencia de operación: 13.56Mhz
- Distancia de lectura: 0 a 60mm.
- Protocolo de comunicación: SPI.
- Velocidad de datos máxima: 10Mbit/s
- Dimensiones: 40 x 60 mm
- Temperatura de operación: -20 a 80ºC
- Humedad de operación: 5%-95%.
- Máxima velocidad de SPI: 10Mbit/s
- Incluye pines, llavero y tarjeta
- Corriente de reposo/stand by (Isb): 10-13mA a 3.3V
- Corriente en sleep-mode (Ism): <80uA
- Peso total: 20 g
Tarjeta Tag RFID:
- Tipo: Tarjeta RFID
- Modelo: MFS50
- Frecuencia: 13.56 MHz
- Protocolo: ISO/IEC 14443 Tipo A
- Bauds: 106 kbps
- Alcance de lectura/escritura: 0~5cm (aprox.)
- EEPROM: 1K Bytes
- Identificador único de 4 Bytes
- Tiempo de lectura: 100ms
- Ciclos de escritura: 100 000
- Dimensiones: 85.5mm x 54mm x 1mm
- Color: Blanco
- Material: PVC
Llavero Tag RFID:
- Tipo: Llavero Tag RFID
- Frecuencia: 13.56MHz
- Material: ABS/PVC
- EEPROM: 1K Bytes
- Alcance de lectura/escritura: 0~5cm (Aprox. Depende del lector)
- Protocolo: ISO14443A
- Identificador único de 4 Bytes
- Bauds: 106 kbs
- Dimensiones : 35mm x 3mm x 6mm
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
El módulo lector RFID-RC522 RF utiliza 3.3V como voltaje de alimentación y se controla a través del protocolo SPI. También puede ser controlada con un puerto UART. Entonces, podemos decir que es compatible con casi cualquier microcontrolador, Arduino o tarjeta de desarrollo, utiliza un sistema avanzado de modulación y demodulación para todo tipo de dispositivos pasivos de 13.56Mhz. Incluso, puesto que se hará una lectura y escritura de la tarjeta, es necesario conocer las características de los bloques de memoria una tarjeta:
La tarjeta que viene con el módulo RFID cuenta con 64 bloques de memoria (0-63) donde se hace lectura y/o escritura. Cada bloque de memoria tiene la capacidad de almacenar sobre todo hasta 16 Bytes. Finalmente el número de serie consiste de 5 valores hexadecimales, se podría utilizar esto para hacer una operación dependiendo del número de serie.
¿Qué es la tecnología RFID?
Es también comumente utilizado como sistema de indentificación de productos, algo asi como un código de barras, pero en lugarr de utilizar una imagen y un escaner RFID utiliza ondas de radiofrecuencia para comunicar datos y pueden almacenar mas información que un código de barras y también aumenta su seguridad pues no es fácil de duplicar.
¿Como funciona el Protocolo de comunicación SPI?
Las siglas vienen de Serial Peripherial Interface (SPI) es un protocolo de comunicación serial síncrono, es decir que los dos dispositivos comparten una señal de reloj que permite sincronizar su lectura y escritura de mensajes para evitar errores en la recepción de datos,
Cada dispositivo conectado al bus puede actuar como transmisor y receptor al mismo tiempo, por lo que este tipo de comunicación serial es full duplex.
En este protocolo de comunicación los dispositivos toman uno de los siguientes dos roles, Maestro o Esclavo y de ser necesario un maestro puede conectar a su bus de datos más de un Esclavo.
Este protocolo hace uso de dos registros de desplazamiento, uno que contiene el dato a transimitir / recibir y uno que lo almacena
La comunicación se da mediante 4 lineas lógicas:
- MOSI (Master Out Slave In): Lleva los bits que provienen del maestro hacia el esclavo.
- MISO (Master In Slave Out): Lleva los bits que provienen del esclavo hacia el maestro.
- CLK (Clock): Señal de reloj proveniente del maestro y se encarga de sincronizar los dispositivos.
- SS (Slave Select): Línea encargada de seleccionar y a su vez habilitar un esclavo
(El esclavo es activado solo cuando esta línea es seleccionada, generalmente una línea es dedicada para cada esclavo)
Conexión básica del sensor con una tarjeta de desarrollo UNO R3 para Lectura de Tags
El siguiente circuito te permite obtener las mediciones del lector mediante una tarjeta de desarrollo UNO, y visualizarlas en el puerto serial.
Componentes necesarios
- Equipo para soldar headers al modulo
- Una tarjeta de desarrollo compatible con Arduino IDE
- Alambres o Cables dupont
Paso 1: Realiza las siguientes conexiones
Paso 2: Código de funcionamiento
A) INSTALACIÓN DE LA LIBRERÍA
Para el siguiente programa se utilizan las librerías SPI para la comunicación, y MFRC522 que contiene procesos específicos del módulo RDFI-RC55 mismas que puedes instalar entrando en la pestaña de Herramientas, seleccionando Administrar Bibliotecas, y posteriormente Gestor de Librerías, donde puedes buscar por nombre la librería y te dará el estatus de la librería, si no está instalada, aparecerá la opción de instalar del lado derecho.
B) CÓDIGO
A continuación te presentamos un código simple que obtiene y muestra en el puerto serial el código ID de la Tarjeta o Tag, al detectarla.
//Librerías para poder utilizar el RDFI-RC522 y el protocolo de comunicación SPI #include <SPI.h> #include <MFRC522.h> #define RST_PIN 5 // Pin del RDFI-RC522 a Pin 5 #define SS_PIN 10 // Pin del RDFI-RC522 a Pin 10 MFRC522 mfrc522(SS_PIN, RST_PIN); // Creando instancia para RFID byte i; //variable , elemento de matriz de lectura de datos por el lector byte datoUID[4]; //matriz para guardar valores arrojados por el detector void setup() { Serial.begin(9600); // Inicializa comunicación serial SPI.begin(); // Iniciación de comunicación por bus SPI mfrc522.PCD_Init(); // inicialización de MFRC522 Serial.println(F("Coloque tarjeta para realizar escaneo")); //mensaje para usuario } } void loop() { if (! mfrc522.PICC_IsNewCardPresent()) // Revisamos si hay nuevas tarjetas presentes return; if (! mfrc522.PICC_ReadCardSerial()) // Lee el valor del ID presentado return; Serial.print("UID:"); //Se guarda los datos del ID for (byte i = 0; i < mfrc522.uid.size; i++) { if (mfrc522.uid.uidByte[i] < 0x10) { //limitando la lectura de los valores en la matriz hexadecimal a 10 dígitos Serial.print("0"); } else { Serial.print(""); } //imprime en Monitor Serial, el valor leído por el detector Serial.print(mfrc522.uid.uidByte[i], HEX); datoUID[i]= mfrc522.uid.uidByte[i]; //Se guardan los valores en la variable dato UID } mfrc522.PICC_HaltA(); //Comando de la librería RFID para terminar la lectura actual }
ENLACES EXTERNOS
- Control de acceso con arduino y RFID
- Módulo RFID-RC522 RF con Arduino UNO SPI
- Sensor RFID-RC522 y Arduino
- RFID Ejemplo de proyecto Abrir Puertas
- Arduino Nano + RFID-RC522 – Tutorial de Arduino
- Documentación de la librería RC5220
Valoraciones
No hay valoraciones aún.