Descripción
El módulo Pn532 RFID/NFC es un dispositivo electrónico te permite leer y escribir en tags, comunicarse con teléfonos que soportan NFC e incluso actuar como un tag RFID/NFC. Si lo que deseas es evaluar el PN532, o realizar investigación y desarrollo en el campo de NFC o RFID, esta tarjeta es ideal para dicha aplicación.
¿Cómo utilizar el Modulo Pn532 RFID/NFC?
Es ideal para desarrollar rápidamente aplicaciones en RFID/NFC con Arduino o Raspberry Pi. Posee 3 interfaces de comunicación para utilizar con otros microcontroladores.
Cabe mencionar que es muy flexible y permite comunicación con microcontroladores a través de UART a 3.3V, I2C o SPI, solo debes configurar correctamente el DIP-SWITCH de acuerdo a la interfaz de comunicación que desees utilizar. El chip está bien soportado por libnfc (una librería para desarrollar aplicaciones con NFC). Otra opción es conectar directamente un cable USB-Serial al UART de esta tarjeta para comenzar a trabajar con el PN532 en tu PC.
¿Modulo RFID PN532 cómo funciona?
El PN532 incluye un procesador 80C51 con 40 KB ROM y 1 KB RAM, junto con los elementos necesarios para hacer funcionar correctamente la comunicación NFC.
Soporta 6 modos de operación:
- ISO/IEC 14443A/MIFARE
- Lector/Grabador, Card MIFARE Classic 1K y MIFARE Classic 4K Card
- Lector/Grabador ISO/IEC 14443B
- FeliCa Lector/Grabador y Card emulación
- ECMA 340 Peer-to-Peer ISO/IEC 18092
La distancia típica de actuación son de 50mm para lectura y escritura, y 100mm para emulación. La velocidad de lectura es de hasta 212 kbits/s y la de escritura de hasta 424kbts/s. Estos valores dependen, entre otros, de la antena integrada en el módulo.
El PN532 opera a 3.3V pero admite tensiones de alimentación de 2.7V a 5.4V. Las líneas de comunicación I2C/UART funcionan a 3.3V a 24V TTL. Sin embargo, el interface SPI funciona a 3.3, pero incorpora resistencias de 100 Ohm en serie de forma que también puede ser conectado a 5V.
El consumo es de 100mA en modo Stand-By y 120mA durante la lectura y escritura. Adicionalmente dispone de dos modos de baja energía, uno modo Soft-Power-Down con un consumo de 22uA, y un modo Hard-Power-Down con un consumo de 1uA.
De igual manera puede ser usado con ordenadores y micro ordenadores como Rasperry Pi con la librería libnfc.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Tipo: Kit Módulo NFC RFID
- Incluye: Módulo PN532, Tarjeta RFID Mifare 1k S50 blanca y TAG RFID Mifare 1k tipo llavero
- Voltaje de funcionamiento: 3.3V a 5V
- Frecuencia de operación: 13.56 MHz
- Interfaz de comunicación: SPI, I2C, High-speed UART (HSU)
- Transferencia de datos: Max. 10Mbit/s
- Compatible con el estándar: RFID ISO/IEC 14443-A y NFC: ISO/IEC 18092
- Tipos de tarjetas compatibles: Mifare 1K S50, S70 Mifare1, Mifare Ultralight, Mifare Pro, Mifare DESFire, Mifare Classic.
TUTORIALES
- UNIT Electronics: Como conectar el Modulo PN532 a Arduino Uno y como programarlo
- Arduino con PN532 NFC RFID
- Lector y escritor RFID / NFC con PN532
DOCUMENTACIÓN Y RECURSOS
- Manual de usuario – PN532
- Datasheet – PN532
- Adafruit-PN532 – Librería
- Elechouse-PN532 – Librería
- Pinout – Modulo PN532
INFORMACIÓN ADICIONAL
Tutorial
Como conectar el Modulo PN532 a Arduino Uno y como programarlo
En el siguiente tutorial se enfocara en el Modulo PN532 y aprenderás los modos de comunicación, tipos de protocolos que soporta, como conectar a las diferentes placas de Arduino y como programarlo de manera sencilla con la librería de elechouse para PN532.
El modulo PN532 posee 3 interfaces de comunicación los cuales son las siguientes:
- 1. SPI (Serial Peripheral Interface)
- 2. 12C (Puerto de comunicación serial)
- 3. High-speed UART (HSU)
El modulo posee un DIP-SWITCH el cual te permitirá seleccionar el interfaz de comunicación ya sea UART, I2C o SPI, solo debes seguir la tabla que viene en el pcb para configurar lo correctamente.
Conexión con las placas de Arduino
Conectar el modulo PN532 con las placas de desarrollo Arduino en sus 3 interfaces de comunicación te dejo la siguiente imagen, la cual defines los pines de comunicación para cada placa de Arduino. Para otras tarjetas o microcontroladores consultar el pinout y identificar sus interfaces de comunicación.
En este tutorial utilizaremos un Arduino Uno para conectar el modulo PN532, a continuación tendrás 3 imágenes las cuales detallan el diagrama de conexión entre estos dos dispositivos.
Programación modulo PN532 con el IDE de Arduino
Programar el PN532 usaremos la librería desarrollada por Adafruit, descarga dando clic Aquí . Esta librería únicamente permite trabajar con comunicación I2C y SPI, pero no UART. Ya que descargaste la librería abre tu IDE de Arduino he importa la librería en su formato .zip.
Se utilizara el ejemplo que permite mostrar los datos del lector PN532 y de los tag´s que sean acercados al modulo, usaremos la comunicación 12C, por lo que conectaremos el modulo PN532 como se muestra en la imagen “Conexión para I2C en Arduino UNO” que anterior mente mencionamos, verifica que el canal 1 del DIP-SWITCH este en estado alto y el canal 2 este en bajo. Posterior mente conecta tu Arduno a tu pc, después copie y pegue el siguiente código el cual esta modificado para que funcione con la configuración I2C.
// Código de prueba próximamente #include <Wire.h> #include <SPI.h> #include <Adafruit_PN532.h> #define PN532_IRQ (2) #define PN532_RESET (3) // Interfaz de comunicación por I2C Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET); void setup(void) { Serial.begin(115200); nfc.begin(); uint32_t versiondata = nfc.getFirmwareVersion(); if (! versiondata) { Serial.print("PN53x no encontrado"); while (1); } // Mostrar datos del sensor Serial.print("Encontró el 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); // Configurar para leer etiquetas RFID nfc.setPassiveActivationRetries(0xFF); nfc.SAMConfig(); Serial.println("Esperando tarjeta ISO14443A"); } // Funcion auxiliar para mostrar el buffer void printArray(byte *buffer, byte bufferSize) { for (byte i = 0; i < bufferSize; i++) { Serial.print(buffer[i] < 0x10 ? " 0" : " "); Serial.print(buffer[i], HEX); } } void loop(void) { 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) { Serial.println("Tarjeta encontrada"); Serial.print("UID Longitud: "); Serial.print(uidLength, DEC);Serial.println(" bytes"); Serial.print("UID: "); printArray(uid, uidLength); Serial.println(""); delay(1000); } else { Serial.println("Tarjeta no encontrada"); } }
Carga el código a tu Arduino Uno y abre el monitor serie, cambia la velocidad de los baudio a “115200” y seleccionar la opción “Nueva línea”. El resultado que obtendrás es el siguiente:
Valoraciones
No hay valoraciones aún.