Arduino UNO R4 - RFID/NFC

En esta guía, aprenderemos a usar la tecnología RFID/NFC con un Arduino UNO R4. El sistema tiene dos partes: un lector y una etiqueta. Discutiremos dos tipos de lectores: el RC522 y el PN532. Esta guía se centrará en el lector RC551, y abordaremos el PN532 en otra guía próximamente.

El lector RC522 RFID/NFC, que también se conoce como el módulo RFID-RC522, puede:

Este tutorial te muestra cómo leer el UID de una etiqueta RFID/NFC usando el Arduino UNO R4. Este es un uso común de este dispositivo. Más tutoriales sobre otras características llegarán más adelante.

Arduino UNO R4 y RFID RC522

Acerca del módulo RFID-RC522

Disposición de pines del módulo RFID-RC522

El RFID-RC522 incluye 8 pines. Algunos pines son comunes, mientras otros se utilizan para tres métodos de comunicación diferentes: SPI, I2C y UART. Solo puedes usar un método de comunicación a la vez. Los pines son:

  • Pin GND: Conéctelo a GND (0 voltios).
  • Pin VCC: Conéctelo a VCC (3,3 voltios).
  • Pin RST: Este es un pin de reinicio y apagado. Si este pin recibe una señal baja, activará un apagado completo. Una señal ascendente reinicia el módulo.
  • Pin IRQ: Este es un pin de interrupción que notifica al microcontrolador cuando una etiqueta RFID está cerca.
  • Pin MISO/SCL/TX: Funciona como MISO con SPI, SCL con I2C y TX con UART.
  • Pin MOSI: Funciona como MOSI con SPI habilitado.
  • Pin SCK: Funciona como SCK con SPI habilitado.
  • Pin SS/SDA/RX: Funciona como SS con SPI, SDA con I2C y RX con UART.
Diagrama de pines del RFID-RC522

※ Nota:

  • La disposición de los pines podría ser diferente para cada fabricante. Siempre siga las etiquetas en el propio módulo. La imagen proporcionada es específica del fabricante DIYables.
  • No conecte el pin VCC al pin de 5V, ya que podría dañar su módulo.
  • La biblioteca MFRC522 funciona solo con el modo SPI. Por lo tanto, esta guía utiliza exclusivamente la comunicación SPI.

Cómo funciona RFID/NFC

RFID/NFC tiene dos partes: un lector y una etiqueta.

  • El lector incluye un módulo de radiofrecuencia y una antena que genera un campo electromagnético de alta frecuencia.
  • La etiqueta es un dispositivo pasivo que no requiere su propia fuente de energía. Tiene un microchip para almacenar y procesar información, y una antena para enviar y recibir señales. La etiqueta almacena información como UID (Identificador único) y otros datos.
sistema RFID/NFC de Arduino

Para leer la información en una etiqueta, la etiqueta debe estar cerca del lector (no es necesario verla directamente). Los procesos de lectura:

  • El lector crea un campo magnético que hace que los electrones fluyan a través de la antena de la etiqueta, lo que activa el chip.
  • Luego, el chip de la etiqueta envía de vuelta al lector la información necesaria como una nueva señal de radio.
  • El lector capta esta señal y la convierte en datos.
  • El Arduino UNO R4 procesa los datos recibidos del lector.

Diagrama de cableado entre el módulo RFID-RC522 y Arduino UNO R4

El módulo RFID-RC522 funciona con una alimentación de 3.3 V, pero los pines de salida de un Arduino UNO R4 proporcionan 5 V.

  • Asegure la seguridad reduciendo la tensión de 5 V en los pines del Arduino UNO R4 a 3,3 V antes de conectar al módulo RC522. Para simplificar y realizar pruebas, puede conectar directamente los pines del Arduino UNO R4 al módulo RC522, pero esto puede hacer que el Arduino UNO R4 no funcione correctamente a veces.

Esta guía ofrece dos diagramas de cableado diferentes para cada caso:

  • Cómo conectar el RC522 y Arduino UNO R4 sin un regulador de voltaje
Diagrama de cableado Arduino UNO R4 RFID RC522

This image is created using Fritzing. Click to enlarge image

  • Diagrama de cableado para conectar RC522 al Arduino UNO R4 con un regulador de voltaje
Arduino UNO R4 RFID RC522 con diagrama de cableado con regulación de voltaje

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

El diagrama de cableado muestra que se utilizan un par de resistencias de 1 kΩ y 2 kΩ para regular la tensión de 5 V a 3,3 V. No es necesario ajustar la tensión entre el pin del Arduino UNO R4 y el pin MISO del módulo RC522. Sin embargo, es necesario regular la tensión entre los pines del Arduino UNO R4 y los pines SS, SCK, MOSI y RST del módulo RC522.

Tabla de cableado del módulo RFID/NFC RC522 y Arduino UNO R4

RFID/NFC RC522 Arduino UNO R4
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ(not connected)
GNDGND
RST → 5
VCC → 3.3V

Código RFID/NFC de Arduino UNO R4

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // The Arduino UNO R4 pin connected to the SS pin of RC522 module #define RST_PIN 5 // The Arduino UNO R4 pin connected to the RST pin of RC522 module MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap RFID/NFC Tag on reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); //Serial.print("RFID/NFC Tag Type: "); //Serial.println(rfid.PICC_GetTypeName(piccType)); // print NUID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu ordenador con un cable USB.
  • Abre el IDE de Arduino en tu ordenador.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Ve al icono Bibliotecas en el lado izquierdo del IDE de Arduino.
  • Busca “MFRC522” y localiza la biblioteca de GithubCommunity.
  • Haz clic en el botón Instalar para añadir la biblioteca MFRC522.
Biblioteca MFRC522 para Arduino UNO R4
  • Copia el código y ábrelo en Arduino IDE
  • Haz clic en el botón Subir en Arduino IDE para subir el código al Arduino UNN R4
  • Abre el Monitor serie
  • Toca algunas etiquetas RFID/NFC en el módulo RFID-RC522
  • Ver el UID mostrado en el Monitor serie
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Tutoriales Relacionados

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!