Interfaz del módulo lector RFID MFRC522 RC522 con Arduino

En este tutorial, descubriremos cómo interconectar el lector RFID RC522 con el Arduino y utilizar la tarjeta y el llavero RFID MIFARE Basic 1K. El módulo RC522 se basa en el lector / autor de RFID MFRC522 de NXP, que funciona a 13,56 MHz. Descubramos cómo funciona la interfaz del lector de tarjetas RFID Arduino RC522 con algunos códigos de verificación.

Introducción

Si sigues las directrices legales de algunos países, los métodos de telepeaje (ETC) se han hecho necesarios. En el ETC, los costes de peaje del coche se deducen de forma rutinaria tan rápido como el coche llega al espacio de venta. No es necesario pagar dinero ni esperar en una cola.

Este es un buen software de RFID o Sistema de Identificación por Radiofrecuencia. Puede que necesites ver diferentes funciones comparables de la RFID, como el coste sin contacto y el sistema de caja computarizado en tremendos mercados, la gestión de la entrada en bancos y centros de trabajo, la supervisión de productos en almacenes y muchas otras.

Todas estas y muchas otras funciones utilizan los conocimientos de la RFID.

Una nueva mirada a la RFID

RFID es la abreviatura de identificación por radiofrecuencia. Como sugiere el título, la RFID utiliza ondas electromagnéticas en radiofrecuencia para intercambiar información. Un sistema RFID sencillo consta de dos elementos: un transpondedor RFID y un transceptor RFID.

El transpondedor RFID suele ser una tarjeta, una etiqueta, un llavero o una pegatina, mientras que el transceptor RFID es un sistema de lectura/escritura capaz de estudiar y escribir información hacia/desde un transpondedor RFID.

El lector RFID tiene además una antena para emitir ondas EM de alta frecuencia. La etiqueta RFID incorpora además una antena y un circuito integrado para la venta de información. Cuando la etiqueta RFID está disponible en la proximidad de la antena del lector Ondas EM de frecuencia excesiva, su antena energiza el CI dentro de la etiqueta.

A continuación, el CI acusa recibo de los datos almacenados con una señal de radio de retorno.

Un módulo de conocimiento temporal RFID RC522

Con toda la introducción, permítenos sumergirnos en el elemento necesario de esta misión, el Módulo RFID RC522. Es un módulo lector de RFID barato basado principalmente en el CI RFID MFRC522 de NXP.

El CI MFRC522 ayuda a todo tipo de etiquetas RFID como MIFARE 1K, MIFARE 4K, MIFARE Mini y diferentes protocolos ISO/IEC 14443 basados principalmente en tarjetas y etiquetas.

Módulo MFRC522-RFID

Funciona en la frecuencia de 13,46 MHz y el funcionamiento varía hasta 50 mm. El CI MFRC522 ayuda a tres variedades de comunicación en serie con el host (microcontrolador como Arduino). Son:

Contenido del paquete

El paquete RC522 consta del módulo lector RFID RC522, la tarjeta RFID, el llavero RFID y dos cabezales macho para soldar. Cada una de las etiquetas RFID, es decir, la tarjeta RFID y el llavero RFID dentro del paquete son adecuados con etiquetas MIFARE 1K (cada una tiene 1 KB de memoria).

Kit de módulo RC522-RFID

El Módulo Lector RFID RC522 está formado por el CI MFRC522, un Oscilador de Cristal de 27,12 MHz, una Antena incrustada en la PCB y elementos pasivos de apoyo para emitir 13,56 MHz de materia electromagnética.

Módulo RC522-RFID-Disposición

Un factor necesario que hay que recordar es que el CI MFRC522 funciona con una tensión de alimentación de 2,5V a 3,3V, sin embargo los pines de comunicación son tolerantes a 5V. Por lo tanto, la tensión de alimentación debe ser de 3,3V, pero podrás unir inmediatamente los pines de información al Arduino.

Módulo RC522-RFID-Pins

Pinout de RC522

La siguiente imagen muestra la disposición de los pines del módulo lector RFID RC522. Aunque utilizaremos la interfaz SPI para conectarnos al Arduino, he confirmado que la UART y la I2Las clavijas C son muy adecuadas.

Lector RC522-RFID-Pinout

Número de clavijas

Título del pin

Descripción

1

VCC3.pin de alimentación de 3V
2RST

Clavija de reinicio. Cuando está en LOW, reinicia el IC MFRC522.

3

GNDPiso
4IRQ

Pin de interrupción. Para interrumpir el sistema anfitrión (microcontrolador).

5

MISO / SCL / TXEste pin funciona como MISO en SPI, SCL en I2C y TX en UART
6MOSI

Pin MOSI SPI.

7

SCKPin de reloj SPI.
8SS / SDA / RX

Este pin actúa como SS en SPI, SDA en I2C y RX en UART

Terminología

Hay dos frases de uso común en la documentación del módulo RFID MFRC522. Son:

PCD es la abreviatura de Sistema de Acoplamiento de Proximidad. Sin embargo, no es nada el módulo lector de RFID basado principalmente en el CI MFRC522.

PICC es la abreviatura de Proximity Built-in Circuit Card (Tarjeta de Circuito Integrado de Proximidad) es una tarjeta o etiqueta RFID construida utilizando el protocolo ISO/IEC 14443 como MIFARE o NTAG.

Arduino RC522 Lector de tarjetas RFID Interfaarduino megace

Ahora que hemos visto un poco en relación con el IC lector de RFID MFRC522 y el módulo lector de RFID RC522, nos permite proceder con la interfaz del lector de tarjetas RFID Arduino RC522. Como ya se ha dicho, el MFRC522 ayuda a SPI, UART e I2Interfaces C.

Sin embargo, el SPI es el más rápido de los tres, con costes de información de hasta 10 Mbit/s. Así que en esta tarea veremos cómo interconectar el módulo RFID RC522 con el Arduino utilizando SPI.

En cuanto al SPI del Arduino, en lugar de utilizar el programa de software SPI, vamos a utilizar el SPI {hardware}. Debido a este SPI los pines de Arduino son fijos (como mínimo para MOSI, MISO y SCK).

El siguiente escritorio muestra todas las conexiones entre el Arduino y el módulo lector RFID RC522.

Lector RFID RC522

Arduino UNO / NanoArduino Mega
RST9

5

SS

1053
MOSI11

51

MISO

1250
SCK13

52

NOTA: Eventualmente puedes configurar los pines RST y SCK del Arduino a cualquier pin digital IO.

Piezas necesarias

  • Arduino UNO
  • Módulo RFID RC522
  • Etiquetas RFID (tarjeta y llavero dentro del paquete)
  • Cableado

Diagrama del circuito

La siguiente imagen muestra toda la conexión necesaria entre el Arduino UNO y el Módulo RFID RC522.

Diagrama del circuito del módulo Arduino-RC522-RFID

Prueba del lector de tarjetas RFID RC522

Después de haber realizado todas las conexiones necesarias, ahora vamos a proceder a verificar la interfaz del módulo RFID Arduino RC522. En primer lugar, abre el IDE de Arduino y asegúrate de que se ha elegido el Arduino UNO como placa. Ahora, ve a Instrumentos -> Manejar Bibliotecas… .

Arduino-IDE-MFRC522-Library-1

Escribe «rc522» en la barra de búsqueda y monta la biblioteca «MFRC522» de GithubCommunity.

Arduino-IDE-MFRC522-Library-2

Ahora nos permite probar un sketch de instancia conocido como «DumpInfo», que lee información de un PICC (como una tarjeta o un llavero) y la imprime en el monitor de serie. Ve a Archivo -> Ejemplos -> MFRC522 -> DumpInfo para abrir el boceto de la instancia.

NOTA: He modificado el pin RST a D7 en el Arduino UNO.

Arduino-IDE-MFRC522-Library-3

Compila y añade el boceto al Arduino y abre el monitor serie. El lector RFID RC522 está preparado para detectar una etiqueta RFID. Por tanto, coge la tarjeta que has comprado dentro del paquete y colócala en las proximidades del lector RFID (cerca de la antena).

Tienes que mantener la tarjeta en ese lugar durante unos segundos hasta que se imprima toda la información. No retires la tarjeta demasiado rápido. Recibirás el mensaje de error «Tiempo de espera de la comunicación» si robas la carta demasiado pronto. Una vez impresos todos los datos, podrás retirar la tarjeta.

Lo siguiente es una pantalla de monitorización en serie para el sketch DumpInfo.

RC522-DumpInfo-Serial-1

Las principales tensiones son el modelo de firmware del PCD (Lector RFID) y los detalles del PICC (Etiqueta RFID), como el UID, el SAK y el tipo de Tarjeta.

RC522-DumpInfo-Serial-2

Después de esto, comienza el volcado de la memoria de la etiqueta RFID. Analicémoslo ahora.

Análisis del mapa de recuerdo de la tarjeta MIFARE Basic 1K

La tarjeta RFID y el llavero son del tipo MIFARE 1K, lo que implica que la EEPROM dentro del PICC, es decir, la tarjeta RFID o el llavero es de 1 KB. Este 1KB de memoria está organizado en 16 sectores.

MIFARE-1K-Memory-Map

Cada sector se divide de nuevo en 4 bloques y cada bloque incorpora 16 bytes de memoria. Por lo tanto, el recuerdo completo es:

16 Sectores * 4 Bloques * 16 Bytes = 1024 Bytes o 1 KB

Sobre esto, el bloque 0, es decir, el primer bloque del Sector 0 es una reserva para el Conocimiento del Productor. Normalmente incorpora un UID de 7 bytes (ID distintivo) o un NUID de 4 bytes (ID no distintivo).

RC522-DumpInfo-Serial-3

Como hemos hablado antes, cada sector consta de 4 bloques. En él, los tres bloques primarios son Bloques de Conocimiento y el cuarto bloque es el Remolque Sectorial. Los tres bloques de información de cada sector pueden utilizarse para almacenar 16 Bytes de información cada uno.

El último bloque es cada sector es su remolque. Incorpora dos claves secretas (Clave A y Clave B no obligatorias) y Bits de entrada. Los Bits de entrada dentro del remolque del sector deciden la situación de entrada (aprender, escribir, y muchas otras.) para los tres bloques restantes del sector.

RC522-DumpInfo-Serial-4

NOTA: El Sector 0 sólo incorpora 2 Bloques de Conocimiento, ya que el Bloque 0 está reservado para la información del productor y el Bloque 3 es el Sector del Remolque.

En el siguiente tutorial, te presentaré la forma de escribir información en el PICC, es decir, en una etiqueta RFID, utilizando el Módulo Lector / Autor RC522 y el Arduino. Además, haremos una misión de Gestión de Entradas.

Conclusión

Toda la información para novatos sobre el CI MFRC522 se basa principalmente en el módulo lector RFID RC522. Has descubierto, en relación con el módulo RC522, la forma de interactuar entre el Arduino y el RC522 y también la forma de aprender la información de una etiqueta RFID.

Lee:  Sensor suave Arduino
Javired
Javired

Deja una respuesta

Tu dirección de correo electrónico no será publicada.