RFID Shield PN532 NFC

publicado en: Uncategorized | 0

RFID Shield PN532 NFC

RFID Shield PN532 NFC es una tarjeta lectora de módulos de RFID PN532 NFC con compatibilidad a Arduino. Solo la montas sobre algún Arduino y listo, tienes la conexión del hardware. Esta tarjeta es para los módulos RDIF/NFC de frecuencia 13.56Mhz. La tarjeta además tiene la capacidad de trabajar con los protocolos I2C y SPI. El PN532 es un módulo con alto nivel de integración con un procesador 80C51 interno para procesar los protocolos e información. El PN532 soporta 4 modos de operación que son: Lectura y escritura ISO 14443A, lectura y escritura ISO 14443B, Interfaz ISO 14443A y modo NFCIP-1. El PN532 soporta MIFARE y FeliCa. La tarjeta viene ya con todo lo necesario para comenzar a trabajar con módulos RFID NFC. La antena se diseñó para lecturas a aproximadamente de 1 a 4 centímetros sobre la superficie de la PCB. Esta tarjeta funciona con la biblioteca de Adafruit que puedes descargar en el siguiente link: Adafruit-PN532. Esta tarjeta funciona con 3.3V pero vienen ya configurada para trabajar a 5V para los pines Arduino por lo que no te tienes que preocupar por el voltaje de alimentación o de control.

RFID Shield PN532 NFC

Material:

En este tutorial se va a utilizar la tarjeta RFID Shield PN532 NFC con el NFC de un celular y con tarjetas RFID de 13.56MHz al detectar el NFC enciende un LED ya sea que es rechazado o aceptado , no todos los  celulares cuentan con NFC la manera de activar el NFC de el celular es la siguiente:

  • Entrar a configuración
  • Otras redes
  • Activar o desactivar NFC.

Descarga de biblioteca para Arduino

Esta tarjeta funciona con una biblioteca de Adafruit que se puede descargar en el siguiente link: https://github.com/adafruit/Adafruit-PN532

se descarga un archivo .ZIP, para agregar la biblioteca a arduino se da clic en programa, incluir librería, añadir librería  .ZIP y se selecciona la librería que se descargo.

Biblioteca ZIP

Cargar programa a Arduino

#include <Wire.h>;
#include <Adafruit_NFCShield_I2C.h>;

#define IRQ   (2)
#define RESET (3) 
#define ledverde   3
#define ledrojo   4

Adafruit_NFCShield_I2C nfc(IRQ, RESET);

void setup(void) {
  Serial.begin(115200);
  Serial.println("Hello!");
  nfc.begin();
  pinMode( ledverde , OUTPUT );
  pinMode( ledrojo  , OUTPUT );

  uint32_t versiondata = nfc.getFirmwareVersion();
  if (! versiondata) {
    Serial.print("Didn't find PN53x board");
    while (1); 
  }
  
  Serial.print("Found chip PN5"); Serial.println((versiondata>>24) >> 0xFF, HEX); 
  Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC); 
  Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
  nfc.setPassiveActivationRetries(0xFF);
  nfc.SAMConfig();
    
  Serial.println("Waiting for an ISO14443A card");
}

void loop(void) {
   digitalWrite (ledverde ,LOW);
   digitalWrite (ledrojo, LOW);
  boolean success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };  
  uint8_t uidLength;                        
  
  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, &uid[0], &uidLength);
  
  if (success) {
    String code = "";
    for (int i = 0; i < uidLength; i++)
    {
      
      code += String(uid[i], HEX);
    }
   
    code.toUpperCase();
    
    Serial.println(code);
    if (code == "DA9A142B" || code =="8ADF1477") //modificar a segun el valor de la tarjeta RFID que se colocara
    {
      Serial.println("Aceptado");
      digitalWrite (ledverde, HIGH);
       digitalWrite (ledrojo, LOW);
         delay(2000);
          digitalWrite (ledrojo, LOW);
          digitalWrite (ledverde ,LOW);
      
    }
    else
    {
      Serial.println("Rechazado");
      digitalWrite (ledrojo ,HIGH);
       digitalWrite (ledverde ,LOW);
            delay(2000);
            digitalWrite (ledrojo, LOW);
          digitalWrite (ledverde ,LOW);
    }
   
    delay(1000);
    
  }
  else
  {
    Serial.println("No se ha podido leer el TAG");
  }
}

Resultados

Se acercan las tarjeta RFID y el celular con el NFC encendido al módulo en la parte de la antena y el sensor la detecta:

Monitor serial

 

DSC07722 DSC07717

Enlaces de interés:

Tarjeta PN532 NFC

Hoja de datos de la tarjeta

Hoja de datos del PN532

Tienda virtual HETPRO

Página de tutoriales CUANTEX

 

Dejar una opinión