Cómo hacer una cerradura RFID con Arduino paso a paso
Pierdes las llaves del taller dos veces al mes, o quieres que tu hermano pequeño deje de abrir el cajón de las herramientas.

Pierdes las llaves del taller dos veces al mes, o quieres que tu hermano pequeño deje de abrir el cajón de las herramientas. Una cerradura RFID con Arduino resuelve las dos cosas por menos de 20 euros: acercas una tarjeta o un llavero, suena un pitido y el pestillo se abre.
Yo monté la primera para el armario de componentes del hacklab, y lleva más de un año funcionando con cinco llaveros dados de alta. Aquí tienes la lista de piezas, el cableado pin a pin, la lógica del programa y los errores que me costaron una tarde entera.
Material para la cerradura RFID con Arduino
| Pieza | Precio aproximado | Notas |
|---|---|---|
| Arduino Uno o Nano | 4 a 8 euros | Un clon con CH340 sirve perfectamente |
| Lector RC522 con tarjeta y llavero | 2 a 4 euros | Funciona a 13,56 MHz |
| Cerradura de solenoide de 12 V | 5 a 9 euros | Tipo pestillo, consume entre 0,5 y 1 A |
| Módulo de relé de 5 V o MOSFET IRLZ44N | 1 a 2 euros | El MOSFET es más silencioso y dura más |
| Diodo 1N4007 | 0,10 euros | Imprescindible si usas MOSFET |
| Fuente de 12 V y 2 A | 5 a 8 euros | Puede ser un cargador viejo de router |
| Zumbador y LED verde y rojo | 1 euro | Opcionales pero muy útiles |
| Regulador o convertidor a 5 V | 1 a 2 euros | Para alimentar el Arduino desde los 12 V |
Si tienes una fuente de 12 V reciclada de un router o un disco externo, úsala. Ya contamos cómo sacar partido a esos aparatos en la guía para convertir un router viejo en repetidor wifi, y su cargador suele dar justo lo que necesita el solenoide.
Cableado del lector RC522
El RC522 se comunica por SPI y funciona a 3,3 V. Este es el punto donde más gente lo quema: si lo conectas al pin de 5 V, puede funcionar unos días y luego morir sin avisar. Conexiones para un Arduino Uno:
- SDA (SS) al pin digital 10
- SCK al pin 13
- MOSI al pin 11
- MISO al pin 12
- RST al pin 9
- 3.3V al pin de 3,3 V del Arduino
- GND a GND
- IRQ sin conectar
En un Nano los pines SPI son los mismos números. En un Mega cambian a 50, 51 y 52, así que revisa el esquema de tu placa.
Conectar el solenoide sin freír el Arduino
El solenoide nunca va directo a un pin del Arduino. Un pin da como mucho unos 40 mA y la cerradura pide hasta 1 A a 12 V. Tienes dos caminos:
- Con relé: el pin 7 del Arduino activa el módulo de relé, y el relé cierra el circuito de 12 V hacia el solenoide. Fácil y aislado, pero hace clic y el contacto se desgasta con miles de ciclos.
- Con MOSFET: el pin 7 va a la puerta del IRLZ44N a través de una resistencia de 220 ohmios, con una resistencia de 10 kilohmios de la puerta a GND. El drenador va al negativo del solenoide, el positivo del solenoide a 12 V y la fuente del MOSFET a GND. Coloca el diodo 1N4007 en paralelo con el solenoide, con la franja hacia el lado de 12 V.
Ese diodo es el que más se olvida. Cuando el solenoide se apaga genera un pico de tensión inversa que puede reiniciar el Arduino o matar el MOSFET. Si tu placa se reinicia cada vez que la cerradura se cierra, casi seguro falta el diodo o está al revés.
Une todas las masas: la de la fuente de 12 V, la del Arduino y la del MOSFET. Sin masa común nada funciona de forma fiable. Si dudas de alguna conexión, comprueba continuidad antes de enchufar; tenemos una guía para electrónica básica con el uso del multímetro paso a paso.
La lógica del programa
Instala la librería MFRC522 desde el gestor de librerías del IDE de Arduino. Con el ejemplo "DumpInfo" puedes leer el UID de cada tarjeta: una cadena de 4 bytes como 3A 7F 21 9C. Apunta los UID de los llaveros que quieras autorizar.
El programa principal hace esto en bucle:
- Espera a que haya una tarjeta nueva cerca del lector.
- Lee su UID y lo compara con la lista de UID autorizados guardada en un array.
- Si coincide, enciende el LED verde, da un pitido corto, pone el pin 7 en alto durante 3 segundos y luego lo vuelve a bajar.
- Si no coincide, enciende el LED rojo y da dos pitidos largos.
- Llama a la función que detiene la lectura de la tarjeta para no leerla veinte veces seguidas.
Lo de los 3 segundos importa. Un solenoide de pestillo no está pensado para estar activado de forma continua; si lo dejas encendido minutos se calienta mucho. Entre 2 y 5 segundos basta para abrir la puerta.
Lo que casi nadie te dice sobre la seguridad
Muchos tutoriales venden esta cerradura como un sistema de seguridad. No lo es, y conviene decirlo claro. Las tarjetas MIFARE Classic que vienen con el RC522 se pueden clonar con herramientas baratas, y comparar solo el UID es lo más fácil de engañar. Además, si alguien arranca la caja y une dos cables, abre el solenoide.
Mi opinión: úsala para un armario de herramientas, una caja de componentes o la puerta del taller dentro de casa, donde el objetivo es evitar curiosos, no ladrones. Para algo de valor real, mantén una cerradura mecánica de verdad. Y pon siempre una salida de emergencia: un pulsador interior o una llave mecánica, porque si se va la luz un solenoide normalmente cerrado se queda cerrado.
Montaje final y mejoras
Coloca el lector detrás de una tapa de madera o plástico de menos de 5 mm; el RC522 lee bien a través de ella y así queda oculto. Nunca detrás de metal, porque la lectura cae a cero. Deja el Arduino y la electrónica de potencia dentro del armario, no fuera.
Si quieres ir más allá, puedes guardar los UID en la EEPROM y añadir una tarjeta maestra para dar de alta llaveros nuevos sin reprogramar, o enviar un aviso a tu móvil con un ESP32 como hicimos en la estación meteorológica con ESP32 y BME280.
Preguntas frecuentes
¿El RC522 funciona a 5 V?
No, el módulo está diseñado para 3,3 V. Sus pines de datos suelen tolerar los 5 V del Uno en la práctica, pero la alimentación debe ir siempre al pin de 3,3 V para no dañarlo.
¿A qué distancia lee el RC522 una tarjeta?
Entre 2 y 4 centímetros con la antena integrada. A través de una tapa fina de plástico o madera sigue funcionando bien, pero el metal bloquea la señal por completo.
¿Puedo usar el móvil como llave con NFC?
A veces. Muchos móviles generan un UID aleatorio cada vez por privacidad, así que no sirve para comparar. Es más fiable usar llaveros o pegatinas NFC.
¿Qué pasa si se va la luz?
Con un solenoide normalmente cerrado, la puerta se queda cerrada. Por eso conviene un pulsador interior o una apertura mecánica de emergencia.
More in Proyectos
Proyectos
Estación meteorológica casera con ESP32 y sensor BME280
El primer invierno que montamos una estación meteorológica casera en el balcón del hacklab, marcaba 3 grados más que el...
Proyectos
Riego automático para macetas con Arduino paso a paso
El verano pasado me fui diez días de vacaciones y volví a encontrar la albahaca seca y el tomate cherry doblado sobre la...
Proyectos
Ventilador automático para Raspberry Pi con un transistor
Tengo una Raspberry Pi 4 metida en una carcasa de plástico debajo de la tele, haciendo de consola retro.