El lector RFID PN532 es uno de los módulos más versátiles y avanzados disponibles para trabajar con la tecnología NFC (Near Field Communication). Este pequeño dispositivo permite leer, grabar e incluso emular etiquetas NFC, lo que lo convierte en una herramienta imprescindible para proyectos de seguridad, domótica o automatización.
Conectar y configurar este módulo con una placa Arduino puede ser más sencillo de lo que parece. A continuación, te enseñaremos no solo cómo realizar las conexiones físicas con el Arduino, sino también cómo instalar las bibliotecas necesarias, entender los modos de comunicación y utilizar ejemplos prácticos de código. Prepárate para descubrir el potencial de este módulo en tus proyectos.
¿Qué es el módulo RFID PN532?
El módulo PN532 es un controlador NFC ampliamente utilizado, que permite la comunicación entre dispositivos NFC y otros elementos como tarjetas RFID, teléfonos móviles compatibles o incluso actuar como una etiqueta NFC. Entre sus prestaciones destacan:
- Compatibilidad: Puede operar con tarjetas y dispositivos compatibles con el estándar MIFARE.
- Flexibilidad de comunicación: Permite conexiones mediante SPI, I2C y UART (HSU).
- Soporte de múltiples modos: Incluye capacidades lectoras/escritoras, emulación de tarjeta y comunicación Peer-to-Peer.
- Facilidad de integración: Compatible con placas Arduino y microcontroladores similares.
Materiales necesarios
Para comenzar a trabajar con el módulo PN532, necesitas los siguientes componentes:
- Una placa Arduino (por ejemplo, Arduino UNO).
- El módulo NFC PN532.
- Tarjetas NFC o llaveros RFID compatibles.
- Cables de conexión Dupont o similares.
- Un ordenador con el IDE de Arduino instalado.
Conexiones físicas
El módulo PN532 puede conectarse al Arduino mediante diferentes interfaces de comunicación: I2C, SPI o UART. A continuación, te explicamos cómo realizar las conexiones para cada caso:
Conexión por I2C
La comunicación I2C es simple y solo requiere de unos pocos pines:
- 5V del módulo al pin 5V del Arduino.
- GND del módulo al pin GND del Arduino.
- SDA del módulo al pin A4 del Arduino.
- SCL del módulo al pin A5 del Arduino.
Conexión por SPI
Para usar SPI, debes conectar estos pines:
- MOSI del módulo al pin 11 del Arduino.
- MISO del módulo al pin 12 del Arduino.
- SCK del módulo al pin 13 del Arduino.
- SS del módulo al pin 10 del Arduino.
Conexión por UART
Si prefieres el UART (también conocido como HSU), necesitas realizar las siguientes conexiones:
- TX del módulo al pin RX del Arduino (pin 0).
- RX del módulo al pin TX del Arduino (pin 1).
Configurar Arduino IDE e instalar la biblioteca
Para trabajar con el PN532, debes instalar la biblioteca adecuada. Sigue estos pasos:
- Abre el IDE de Arduino y ve a Sketch > Incluir Biblioteca > Administrar Bibliotecas.
- Busca «PN532» en la barra de búsqueda.
- Selecciona la biblioteca Adafruit PN532 y haz clic en Instalar.
Modos de operación
El PN532 soporta varios modos de funcionamiento, incluyendo:
- Lector/Grabador: Permite leer y escribir datos en tarjetas NFC.
- Emulación de tarjeta: Funciona como un tag NFC.
- Comunicación Peer-to-Peer: Intercambia datos con otros dispositivos NFC.
Código de ejemplo
Una vez configurado todo, puedes cargar un código básico para leer el UID de las tarjetas NFC compatibles:
#include #include #include #define IRQ_PIN 2 #define RESET_PIN 3 Adafruit_PN532 nfc(IRQ_PIN, RESET_PIN); void setup() { Serial.begin(115200); nfc.begin(); uint32_t version = nfc.getFirmwareVersion(); if (!version) { Serial.println("PN532 no detectado"); while (1); } nfc.SAMConfig(); Serial.println("Esperando tarjeta..."); } void loop() { uint8_t success; uint8_t uid[7]; uint8_t uidLength; success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength); if (success) { Serial.print("UID detectado: "); for (int i = 0; i < uidLength; i++) { Serial.print(uid[i], HEX); Serial.print(" "); } Serial.println(); } }
Pruebas y aplicaciones
Una vez cargado el código, conecta el Arduino al ordenador y abre el monitor serial. Al acercar una tarjeta NFC al módulo, deberías ver su UID impreso en la consola. Este simple experimento abre un mundo de posibilidades, como:
- Control de acceso con identificación única.
- Automatización de procesos basados en tarjetas NFC.
- Creación de sistemas de pago en proyectos DIY.
El lector PN532 ofrece una amplia gama de funcionalidades, desde leer tarjetas NFC hasta emularlas. Gracias a su flexibilidad y facilidad de uso, es ideal tanto para principiantes como para expertos. Prepárate para explorar el mundo de la comunicación inalámbrica con este fantástico módulo.