Tecnología de Comunicación de Campo Cercano: NFC (Near Field Communication)

NFC (Near Field Communication) es una tecnología de comunicación inalámbrica de corto alcance (unos pocos centímetros) que permite el intercambio de datos entre dispositivos compatibles. Es la base de pagos contactless, llaves digitales, tarjetas de transporte y más.

En electrónica de prototipado, NFC se usa para interactuar con tarjetas, llaveros y smartphones compatibles.

Hay varios módulos disponibles en el mercado para incorporar NFC en proyectos con microcontroladores. Aquí vamos a explicar los dos más comunes y dar ejemplos prácticos para usarlos.

1️⃣ Módulo PN532 V3 (el “rojo”)

Este es uno de los más populares. Se reconoce por su PCB roja (versión v3 más frecuente) y su chip PN532, compatible con ISO/IEC 14443 (MIFARE, NFC-A).

✔️ Características:

  • Compatible con SPI, I2C y UART
  • Soporta lectura y escritura de tarjetas MIFARE Classic y Ultralight
  • Puede actuar como lector o emulador
  • Buen soporte en bibliotecas

✔️ Uso típico:

  • Lectura de llaveros y tarjetas NFC
  • Proyectos de acceso sin llave
  • Pagos simulados o demo
  • Comunicación con smartphones (algunos soportan lectura)

🔧 Ejemplo de conexión (ESP32 o Arduino UNO)

  • VCC → 3.3V o 5V (según versión)
  • GND → GND
  • SDA → Pin 21 (ESP32) o A4 (Arduino UNO)
  • SCL → Pin 22 (ESP32) o A5 (Arduino UNO)
#include <Wire.h>
#include <Adafruit_PN532.h>

// ESP32 pins
#define SDA_PIN 21
#define SCL_PIN 22

Adafruit_PN532 nfc(SDA_PIN, SCL_PIN);

void setup() {
  Serial.begin(115200);
  Serial.println("Iniciando NFC...");

  nfc.begin();
  uint32_t versiondata = nfc.getFirmwareVersion();
  if (!versiondata) {
    Serial.println("No se encontró el PN532");
    while (1);
  }
  nfc.SAMConfig();
  Serial.println("Esperando tarjeta...");
}

void loop() {
  uint8_t success;
  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };
  uint8_t uidLength;

  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);

  if (success) {
    Serial.print("UID de tarjeta: ");
    for (uint8_t i=0; i < uidLength; i++) {
      Serial.print(uid[i], HEX); Serial.print(" ");
    }
    Serial.println();
    delay(1000);
  }
}

2️⃣ Módulo MFRC522

Otro muy común y muy barato. Es más limitado pero muy usado en makerspaces.

✔️ Características:

  • Compatible con SPI
  • Lectura de tarjetas MIFARE Classic
  • Muy económico
  • Buen soporte en Arduino IDE

✔️ Limitaciones:

  • No soporta todos los estándares NFC
  • No puede actuar como emulador

🔧 Ejemplo de conexión (ESP32 o Arduino UNO)

  • VCC → 3.3V
  • GND → GND
  • RST → Pin 5
  • SDA → Pin 21 (ESP32) o 10 (Arduino UNO)
  • MOSI → Pin 23 (ESP32) o 11 (Arduino UNO)
  • MISO → Pin 19 (ESP32) o 12 (Arduino UNO)
  • SCK → Pin 18 (ESP32) o 13 (Arduino UNO)
#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 21
#define RST_PIN 5

MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(115200);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("Aproxime la tarjeta NFC...");
}

void loop() {
  if (!mfrc522.PICC_IsNewCardPresent() || !mfrc522.PICC_ReadCardSerial()) return;

  Serial.print("UID de tarjeta: ");
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  }
  Serial.println();
  mfrc522.PICC_HaltA();
}

¿Cuál elegir?

PN532 (rojo v3)

  • Más versátil
  • Emulación y lectura
  • I2C/SPI/UART
  • Mejor para NFC con móviles

MFRC522

  • Muy barato
  • Simple
  • Solo lectura MIFARE Classic
  • Solo SPI

Algunas imagenes sobre tags (mas viejunos)

-> Comunicación de Campo cercano (NFC)

-> Etiquetas de frecuencia ultra alta (UHF)

En la implementación de una solución RFID, es primordial comprender las diferencias entre cada tipo de RFID.

¿Qué son las etiquetas RFID?

La tecnología RFID se basa en ondas de radio para enviar y recibir información entre una etiqueta y un lector. En su nivel más simple, un lector RFID envía una señal a una etiqueta RFID y la etiqueta devuelve una señal con información.

Se puede programar información única, por ejemplo:

Código Electrónico de Producto (EPC) GS1 / GS1 Electronic Product Code™ (EPC)

Cada etiqueta RFID individual, se puede fijar a productos, cajas, llaveros y teléfonos móviles.

Al igual que con los clásicos «Códigos de barras», las etiquetas RFID se usan para recuperar de manera rápida información a nivel de producto (o paquete, o pallet con muchos productos).

Como las etiquetas RFID usan tecnología de ondas de radio, no requieren una línea de visión directa para ser leídas, lo que permite que se pueden leer contenedores enteros o camiones repletos de productos de a cientos de productos por segundo.

Esto otorga que las etiquetas RFID una clara ventaja cuando se trata de impulsar la visibilidad y la eficiencia a nivel de la cadena de suministro (lo que se denomina seguimiento inteligente de etiquetas o «smart label tracking» en inglés).

Además de los beneficios en el campo de la logística, instituciones de toda índole están aprovechando las etiquetas RFID para interactuar con el público a nivel personal, lo que permite acceder a contenido en bares, centros educativas, lugares recreativos y más.

Proyectos:

guest
0 Comentarios
Más antiguo
Más nuevo Más votado
Inline Feedbacks
View all comments

GDPR