Construye un Cerco RFID Portátil con Arduino – Guía Paso a Paso
Componentes y Suministros
- Arduino UNO × 1
- Módulo Lector RFID RC522 × 1
- Cables Dupont (genéricos) × 1
- Cable USB-A a Micro-USB × 1
- ControlEverything.com Controlador de Relé 4 Canales I2C × 1
Aplicaciones y Servicios en Línea
- Arduino IDE
Sobre este Proyecto
En este tutorial aprenderás a construir un cerco RFID portátil con Arduino. El sistema utiliza un módulo lector RFID RC522 para identificar tarjetas o llaveros autorizados y activar un relé que puede controlar una cerradura eléctrica, un LED u otro dispositivo.
Visión General del Hardware – Módulo Lector/Escritor RFID RC522
¿Qué es un lector RFID? La identificación por radiofrecuencia (RFID) es un sistema de identificación que utiliza pequeños dispositivos de radiofrecuencia para identificación y seguimiento. Un sistema RFID incluye la etiqueta (tag), un dispositivo de lectura/escritura y una aplicación host para recolección, procesamiento y transmisión de datos.
En términos simples, el RFID utiliza campos electromagnéticos para transferir datos a corta distancia. Es útil para identificar personas, realizar transacciones, control de acceso, etc.
Funcionamiento Básico
- Etiquetas (Tags): Adjuntas al objeto a identificar (tarjeta o llavero). Cada etiqueta tiene su propio identificador único (UID).
- Lector: Consiste en un módulo de radiofrecuencia y una antena que genera un campo electromagnético de alta frecuencia. La etiqueta suele ser un dispositivo pasivo (sin batería) que contiene un microchip para almacenar/procesar información y una antena para recibir/transmitir señales.
Para leer la información de una etiqueta, se coloca cerca del lector (no requiere línea de vista directa). El lector genera un campo electromagnético que induce corriente en la antena de la etiqueta, alimentando el chip y permitiendo la comunicación.
Especificaciones del Módulo RC522
- Voltaje de entrada: 3.3V
- Frecuencia: 13.56 MHz
- Memoria de etiqueta: 1 KB
- Capacidad de lectura y escritura
- Costo: menos de $4 USD
Conexión del Módulo RC522 a Arduino UNO
| Pin RC522 | Pin Arduino |
|---|---|
| SDA | Digital 10 |
| SCK | Digital 13 |
| MOSI | Digital 11 |
| MISO | Digital 12 |
| IRQ | No conectado |
| GND | GND |
| RST | Digital 9 |
| 3.3V | 3.3V (NO conectar a 5V) |
Lectura del UID de una Etiqueta RFID
- Instala la librería
MFRC522desde el Gestor de Librerías de Arduino IDE. - Ve a Archivo → Ejemplos → MFRC522 → DumpInfo y sube el código.
- Abre el Monitor Serie (9600 baudios).
- Acerca la tarjeta o llavero al lector hasta que se muestre toda la información.
- Copia el UID (resaltado en amarillo en la salida) – lo necesitarás para el código final.
Código Principal del Cerco RFID
#include <SPI.h>
#include <MFRC522.h>
#define RELAY_PIN 8
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
pinMode(RELAY_PIN, OUTPUT);
digitalWrite(RELAY_PIN, HIGH); // Relé apagado por defecto (activo en LOW)
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println(F("Acerque su tarjeta al lector..."));
Serial.println();
}
void loop() {
// Buscar nuevas tarjetas
if (!mfrc522.PICC_IsNewCardPresent()) return;
if (!mfrc522.PICC_ReadCardSerial()) return;
// Mostrar UID en monitor serie
Serial.print(F("UID tag: "));
String content = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
Serial.print(F("Mensaje: "));
content.toUpperCase();
// CAMBIA ESTE UID POR EL TUYO
if (content.substring(1) == "89 18 79 63") {
Serial.println(F("Acceso autorizado"));
Serial.println(F("Relé activado"));
digitalWrite(RELAY_PIN, LOW); // Activar relé
delay(1000);
digitalWrite(RELAY_PIN, HIGH); // Desactivar tras 1 segundo
} else {
Serial.println(F("Acceso denegado"));
Serial.println(F("Relé desactivado"));
digitalWrite(RELAY_PIN, HIGH);
}
delay(1000);
}
Demostración
Al acercar la tarjeta autorizada, el monitor serie mostrará "Acceso autorizado" y el relé se activará durante 1 segundo. Si se acerca una tarjeta no autorizada, aparecerá "Acceso denegado" y el relé permanecerá inactivo.
Notas Importantes
- El módulo RC522 funciona a 3.3V – nunca lo conectes a 5V o se dañará.
- El relé usado en este ejemplo es de lógica inversa (LOW = encendido, HIGH = apagado). Ajusta según tu módulo.
- Puedes agregar múltiples UIDs autorizados expandiendo la condición
ifcon operadores||(OR). - Para uso real en una puerta, conecta el relé a una cerradura eléctrica (fail-safe o fail-secure según necesidad) y asegura la alimentación adecuada.
Proceso de manufactura
- Construye un reloj Numitron retro con Arduino: Simple, fiable y eficiente energéticamente
- Construye un Cerrajero RFID Seguro con Arduino y RC522 (MIFARE 13.56 MHz)
- Crea un Cerrojo RFID Seguro con Arduino – Guía Paso a Paso
- Sistema de Asistencia RFID Fiable con Arduino y Python
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
- Construir una rueda medidora DIY precisa con Arduino Nano y encoder rotativo
- Construye un monitor de calidad del aire preciso con el sensor Sharp GP2Y1010AU0F
- Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet
- Juego Pong 1D con Arduino Nano y tira LED WS2812: Tutorial paso a paso