Arduino - Identificación por radiofrecuencia/NFC
En este tutorial, vamos a aprender a usar RFID/NFC con Arduino. El sistema RFID/NFC incluye dos componentes: lector y etiqueta. Hay dos lectores RFID/NFC populares: el RC522 y el PN532. Este tutorial se centra en el lector RC522 RFID/NFC. El lector PN532 RFID/NFC se presentará en un próximo tutorial.
Lector RC522 RFID/NFC (también llamado módulo RFID-RC522) puede:
- Leer el UID de la etiqueta RFID/NFC
- Cambiar el UID de la etiqueta RFID/NFC (solo si la etiqueta admite escribir su UID)
- Escribir datos en la etiqueta RFID/NFC
- Leer datos de la etiqueta RFID/NFC
En las capacidades anteriores, para Arduino, leer el UID es lo más utilizado. Este tutorial se centra en leer el UID de una etiqueta RFID/NFC. El otro se presentará en los próximos tutoriales.
Hardware Requerido
Or you can buy the following kits:
| 1 | × | DIYables STEM V3 Starter Kit (Arduino included) | |
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | |
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Acerca del módulo RFID-RC522
Pinout del módulo RFID-RC522
RFID-RC522 tiene 8 pines; algunos de ellos son pines comunes, los demás se comparten entre tres modos de comunicación: SPI, I2C, UART. En un momento dado, solo se puede usar un modo de comunicación. Los pines son:
- Pin GND: debe conectarse a GND (0V).
- Pin VCC: debe conectarse a VCC (3.3).
- Pin RST: es un pin para reinicio y apagado de energía. Cuando este pin pasa a nivel bajo, se habilita el apagado forzado. En el borde ascendente, el módulo se reinicia.
- Pin IRQ: es un pin de interrupción que puede alertar al microcontrolador cuando una etiqueta RFID se acerca.
- Pin MISO/SCL/TX: actúa como MISO cuando la interfaz SPI está habilitada, actúa como SCL cuando la interfaz I2C está habilitada y actúa como TX cuando la interfaz UART está habilitada.
- Pin MOSI: actúa como MOSI cuando la interfaz SPI está habilitada.
- Pin SCK: actúa como SCK cuando la interfaz SPI está habilitada.
- Pin SS/SDA/RX: actúa como SS cuando la interfaz SPI está habilitada, actúa como SDA cuando la interfaz I2C está habilitada y actúa como RX cuando la interfaz UART está habilitada.

※ Nota:
- El orden de los pines puede variar según los fabricantes. SIEMPRE utilice las etiquetas impresas en el módulo. La imagen anterior muestra el pinout del módulo del fabricante DIYables.
- No conecte el pin VCC al pin de 5 V. Esto probablemente destruirá su módulo.
- La biblioteca MFRC522 solo admite el modo SPI. Por lo tanto, este tutorial utiliza únicamente la comunicación SPI.
Cómo funciona RFID/NFC
RFID/NFC incluye dos componentes: lector y etiqueta.
- El lector consta de un módulo de radiofrecuencia y una antena que genera un campo electromagnético de alta frecuencia.
- La etiqueta suele ser un dispositivo pasivo, que no necesita una fuente de alimentación. La etiqueta contiene un microchip que almacena y procesa información, y una antena para recibir y transmitir una señal. La etiqueta se utiliza para almacenar la información: UID (Identificador único) y datos.

Para leer la información de una etiqueta, la etiqueta debe estar cerca del lector (no requiere una línea de visión directa). Los procesos de lectura:
- El lector genera un campo electromagnético que hace que los electrones se desplacen a través de la antena de la etiqueta y, en consecuencia, alimenten el chip.
- El chip dentro de la etiqueta responde enviando la información solicitada de vuelta al lector en forma de otra señal de radio.
- El lector detecta la señal y la convierte en datos.
- Arduino lee los datos del lector.
Diagrama de cableado entre el módulo RFID-RC522 y Arduino
El módulo RFID-RC522 está diseñado para operar a un nivel de 3,3 V, mientras que los pines de salida de un Arduino producen un nivel de 5 V. Entonces:
- Para mayor seguridad, es necesario regular la tensión de 5 V desde los pines de Arduino a 3,3 V antes de conectarlo al módulo RC522.
- Para simplificar y con fines de prueba, se pueden conectar directamente los pines de Arduino al módulo RC522, pero hacerlo podría hacer que el Arduino deje de funcionar correctamente en algunos casos.
Este tutorial proporciona dos diagramas de cableado diferentes para ambos casos:
- Diagrama de cableado entre RC522 y Arduino sin regulador de voltaje

This image is created using Fritzing. Click to enlarge image
- Diagrama de cableado entre RC522 y Arduino con regulador de voltaje

This image is created using Fritzing. Click to enlarge image
Como se muestra en el diagrama de cableado de arriba, un par de resistencias de 1 kΩ y 2 kΩ se utilizan para reducir de 5 V a 3,3 V. No es necesario ajustar el voltaje entre el pin del Arduino y el pin MISO del módulo RC522. Sin embargo, es necesario regular el voltaje entre los pines del Arduino y los pines SS, SCK, MOSI y RST del módulo RC522.
Tabla de cableado del módulo RFID/NFC RC522 y Arduino
| RFID/NFC RC522 | Arduino |
|---|---|
| SS | → 10 |
| SCK | → 13 |
| MOSI | → 11 |
| MISO | → 12 |
| IRQ(not connected) | |
| GND | → GND |
| RST | → 5 |
| VCC | → 3.3V |
Código Arduino RFID/NFC
Pasos R\u00e1pidos
- Navega hasta el icono de Bibliotecas en la barra izquierda del IDE de Arduino.
- Busca “MFRC522”, luego encuentra la librería de GithubCommunity
- Haz clic en el botón Instalar para instalar la librería MFRC522.

- Copie el código anterior y ábralo con Arduino IDE
- Haga clic en el botón Subir en Arduino IDE para cargar el código en Arduino
- Abra Monitor Serial
- Acérque varias etiquetas RFID/NFC al módulo RFID-RC522
- Vea el UID en el Monitor Serial
Video Tutorial
Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.