En esta lección vas a aprender cómo usar el módulo lector RFID RC522 con una placa ESP32. Este componente utiliza el bus de Interfaz Periférica Serial (SPI) para comunicarse con controladores como Arduino, Raspberry Pi o BeagleBoard.
Componentes necesarios
- (1) Elegoo ESP32
- (1) Módulo RFID RC522
- (2) Protoboards de 400 puntos
- (7) Cables M-M (Macho a Macho)
Introducción al componente
El MFRC522 es un lector/grabador altamente integrado para comunicación sin contacto a 13,56 MHz. Este módulo soporta el modo ISO 14443A / MIFARE®.
La parte del transmisor interno del MFRC522 es capaz de manejar una antena diseñada para comunicarse con tarjetas y transpondedores ISO/IEC 14443A/MIFARE® sin necesidad de circuitería activa adicional. La sección digital se encarga del entramado completo y la detección de errores (Paridad y CRC). El dispositivo admite comunicaciones con velocidades de transferencia de hasta 848 kbit/s en ambas direcciones y ofrece interfaces SPI, UART serial e I2C.
Esquema de conexión y cableado
El módulo MFRC522 utiliza el protocolo SPI, que requiere cuatro conexiones fundamentales: SCK (Reloj Serial generado por el ESP32), MOSI (Salida del Maestro, Entrada del Esclavo), MISO (Entrada del Maestro, Salida del Esclavo) y SS (Selector de Esclavo para iniciar la comunicación).
Código
Podés descargar el archivo del programa a tu computadora y, una vez que termine la descarga, hacé doble clic para abrirlo. Antes de ejecutarlo, asegurate de tener instalado el entorno de desarrollo Arduino IDE, los paquetes de soporte para la placa ESP32 y los drivers correspondientes.
IMPORTANTE: Antes de correr el programa, verificá que tenés instalada la librería <rfid>. La ubicación de los pines SPI puede variar entre diferentes chips, por lo que es posible que tengas que hacer una pequeña modificación en la asignación de pines del código.
Configuración de software
El código incluye SPI.h para la comunicación y MFRC522.h para las operaciones del lector. Los pines definidos por defecto son el GPIO 5 para el Reset (RST_PIN) y el GPIO 21 para el Slave Select (SS_PIN). En la función setup(), se inicializa la comunicación serial a 9600 baudios, se activa el bus SPI y se arranca el lector con el comando mfrc522.PCD_Init().
Tené en cuenta que el código de ejemplo está configurado para trabajar con una clave MIFARE estándar (inicializada en FFFFFFFFFFFFh de fábrica) para la autenticación de las tarjetas.
Fuente: Adaptado al español desde el wiki oficial Elegoo (licencia CC BY-SA). Revisión técnica por equipo Breva.