Cómo usar el lector PN532 RFID/NFC con Arduino

How to Use the PN532 RFID/NFC Reader with Arduino

El PN532 es un módulo de lector RFID/NFC versátil que admite múltiples modos y estándares de comunicación, lo que lo hace ideal para autenticación, pago sin contacto y proyectos IoT. Este tutorial lo guiará a través de la interfaz del módulo PN532 con un Arduino para leer etiquetas RFID/NFC.

Lo que necesitarás

  1. Módulo PN532 RFID/NFC
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Tablero de circuitos
  4. Cables de jersey
  5. Etiquetas RFID/NFC (por ejemplo, tarjetas MiFare)
  6. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el módulo PN532

El módulo PN532 admite tres modos de comunicación:

  1. I2C (predeterminado para muchos módulos): usa líneas SDA y SCL.
  2. SPI: Utiliza líneas MOSI, MISO y SCK.
  3. Uart (serie): Usa pines TX y RX.

En este tutorial, usaremos el Modo I2C, como es más simple configurar y ampliamente compatible.

PN532 Pinout en modo I2C

Alfiler Función
VCC Fuente de alimentación (3.3V/5V)
Gnd Suelo
SDA Línea de datos I2C
SCL Línea de reloj I2C

Paso 2: Cableado el PN532 a Arduino

Aquí le mostramos cómo conectar el módulo PN532 a un Arduino UNO en modo I2C:

PIN PN532 Alfiler de arduino
VCC 5V
Gnd Gnd
SDA A4
SCL A5

Nota: Si su módulo tiene un puente de selección de modo, configúrelo en modo I2C.

Paso 3: Instale las bibliotecas requeridas

Para simplificar la interacción con el módulo PN532, instale las siguientes bibliotecas:

  1. Biblioteca Adafruit PN532
  2. Biblioteca Adafruit Busio (una dependencia para la biblioteca PN532)

Pasos para instalar:

  1. Abra el IDE Arduino.
  2. Ir a Bosquejo > Incluir biblioteca > Administrar bibliotecas.
  3. Busque "AdaFruit PN532" y haga clic Instalar.
  4. Busque "Adafruit Busio" y haga clic en Instalar.

Paso 4: cargar el código

Aquí hay un boceto de ejemplo para leer datos de una etiqueta RFID/NFC:

#include <Wire.h>
#include <Adafruit_PN532.h>

#define SDA_PIN A4
#define SCL_PIN A5

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
  Serial.begin(9600);
  Serial.println("PN532 RFID/NFC Reader Test");

  nfc.begin();

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("Didn't find PN532 module. Check connections.");
    while (1);
  }

  Serial.println("Found PN532 module.");
  nfc.SAMConfig(); // Configure the module in normal mode
  Serial.println("Waiting for an NFC card...");
}

void loop() {
  uint8_t success;
  uint8_t uid[] = { 0 }; // Buffer to store UID
  uint8_t uidLength;     // Length of the UID

  // Check if an NFC card is present
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

  if (success) {
    Serial.println("Found an NFC card!");
    Serial.print("UID Length: ");
    Serial.print(uidLength, DEC);
    Serial.println(" bytes");
    Serial.print("UID Value: ");
    for (uint8_t i = 0; i < uidLength; i++) {
      Serial.print(" 0x");
      Serial.print(uid[i], HEX);
    }
    Serial.println("");
    delay(1000); // Wait 1 second
  }
}

Paso 5: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en 9600.
  5. Coloque una etiqueta RFID/NFC cerca del módulo PN532. El monitor en serie debe mostrar el UID (identificador único) de la etiqueta.

Solución de problemas

  • Módulo no detectado: Compruebe dos veces el cableado y asegúrese de que el puente de modo esté configurado en I2C.
  • Sin etiqueta detectada: Asegúrese de que la etiqueta sea compatible (por ejemplo, tarjetas MiFare para este ejemplo).
  • Lecturas erráticas: Use cables de puente más cortos y garantice una potencia estable para el módulo.

Aplicaciones del módulo PN532

  1. Sistemas de control de acceso
  2. Sistemas de pago sin contacto
  3. Gestión de inventario inteligente
  4. Dispositivos IoT que requieren autenticación segura

Conclusión

Has interactuado con éxito el módulo PN532 RFID/NFC con un Arduino y lee etiquetas RFID/NFC. Este módulo versátil abre infinitos posibilidades para la autenticación segura y el intercambio de datos en sus proyectos. ¡Experimente con características adicionales como escribir en etiquetas o comunicación entre pares para construir aplicaciones más avanzadas!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.