Arduino Nano ESP32 - RFID

Este tutorial proporciona instrucciones sobre cómo usar Arduino Nano ESP32 con un lector RC522 RFID/NFC para leer la información de una etiqueta RFID/NFC.

Hardware Requerido

1×Arduino Nano ESP32
1×Cable USB Tipo-A a Tipo-C (para PC USB-A)
1×Cable USB Tipo-C a Tipo-C (para PC USB-C)
1×RFID/NFC RC522 Kit (reader + tags)
1×RFID Key Fob
1×RFID Card
1×Protoboard
1×Cables Puente
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano ESP32

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca del módulo RFID-RC522

Disposición de pines

Diagrama de pines del módulo RFID-RC522

El módulo RFID-RC522 tiene ocho pines, algunos pines se comparten entre tres interfaces de comunicación: SPI, I2C, UART. En un momento, solo se puede usar un modo de comunicación. Los pines son:

  • Pin GND: conecte este pin a GND (0V)
  • Pin VCC: conecte este pin a VCC (3.3)
  • Pin RST: es un pin para reinicio y apagado de energía. Cuando este pin pasa a bajo, se habilita un apagado de energía forzado. En el borde ascendente, el módulo se reinicia.
  • Pin IRQ: es un pin de interrupción que puede alertar al Arduino Nano ESP32 cuando una etiqueta RFID entra en su rango de detección.
  • Pin MISO/SCL/TX: funciona como:
    • Pin MISO si la interfaz SPI está habilitada
    • Pin SCL si la interfaz I2C está habilitada
    • Pin TX si la interfaz UART está habilitada.
  • Pin MOSI: funciona como MOSI si la interfaz SPI está habilitada.
  • Pin SCK: funciona como SCK si la interfaz SPI está habilitada.
  • Pin SS/SDA/RX: funciona como:
    • Pin SS si la interfaz SPI está habilitada
    • Pin SDA cuando la interfaz I2C está habilitada
    • Pin 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 la distribución de pines del fabricante DIYables.
    • El módulo RFID-RC522 funciona con 3.3V. No conecte el pin VCC del módulo RFID-RC522 a 5V. El 5V puede quemar el módulo RFID-RC522.
    • Este tutorial utiliza la interfaz SPI para la comunicación entre Arduino Nano ESP32 y el módulo RFID-RC522.

Diagrama de Cableado

Diagrama de cableado de Arduino Nano ESP32 RFID RC522

This image is created using Fritzing. Click to enlarge image

La tabla de cableado entre el módulo RC522 de RFID/NFC y Arduino Nano ESP32

RFID/NFC RC522 Arduino Nano ESP32
SS → D10
SCK → D13
MOSI → D11
MISO → D12
IRQ not connected
GNDGND
RST → D5
VCC → 3.3V

Código RFID/NFC de Arduino Nano ESP32

/* * Este código de Arduino Nano ESP32 fue desarrollado por es.newbiely.com * Este código de Arduino Nano ESP32 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-nano-esp32/arduino-nano-esp32-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN D10 // Arduino Nano ESP32 pin connected to RC522's SS pin #define RST_PIN D5 // Arduino Nano ESP32 pin connected to RC522's RST pin MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 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 UID 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

  • Si es la primera vez que usas Arduino Nano ESP32, consulta cómo configurar el entorno para Arduino Nano ESP32 en Arduino IDE.
  • Abre el Administrador de Bibliotecas haciendo clic en el icono Administrador de Bibliotecas en la barra de navegación izquierda de Arduino IDE
  • Escribe “MFRC522” en el cuadro de búsqueda, luego busca la biblioteca por GithubCommunity
  • Instala la biblioteca haciendo clic en el botón Instalar.
Biblioteca MFRC522 para Arduino Nano ESP32
  • Copia el código anterior y pégalo en el IDE de Arduino.
  • Compila y carga el código en la placa Arduino Nano ESP32 haciendo clic en el botón Subir en el IDE de Arduino
  • Abre el Monitor Serial en el IDE de Arduino
Cómo abrir el monitor serial en el IDE de Arduino
  • Toca varias etiquetas RFID/NFC en el módulo RFID-RC522
  • Ver el UID impreso en el Monitor Serial
COM6
Send
Tap an RFID/NFC tag on the RFID-RC522 reader RFID/NFC tag Type: MIFARE 1KB UID: 2B B8 59 B1 RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 15 75 46 7A 2C 5B 7E
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!