Construye un Cerrajero RFID Seguro con Arduino y RC522 (MIFARE 13.56 MHz)
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| RFID RC522 | 1 |
| Servo TG9e | 1 |
| Anillo NeoPixel Adafruit: WS2812 5050 RGB LED | 1 |
| Etiqueta RFID | 2 |
Sobre el proyecto
Te mostraré cómo hacer fácilmente un cerrojo RFID usando Arduino UNO y RFID RC522 (protocolo MIFARE). También puedes verlo aquí: Arduino RFID lock.
Paso 1: Componentes
- Arduino UNO
- RFID RC522
- Servo TG9e
- LED RGB - WS2812
- 2 x Etiqueta RFID
Paso 2: Esquemático
Paso 3: Software
Al principio importamos todas las librerías necesarias:
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
Luego configuramos e inicializamos: velocidad UART, iniciamos RC522, ponemos servo a cero.
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Para más: https://geek.adachsoft.com");
Serial.println("Arduino RFID lock");
Serial.println("");
myservo.attach(SERVO_PIN);
myservo.write(0);
pixels.begin();
pixels.setPixelColor(0, 32, 32, 32);
pixels.show();
delay(500);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
}
Tras leer el UID de la etiqueta, lo comparamos con el UID correcto. Si coincide, activamos el servo.
if (content == "77-39-50-39") {
Serial.println("Acceso autorizado");
myservo.write(90);
pixels.setPixelColor(0, 0, 32, 0);
pixels.show();
delay(1000);
myservo.write(0);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
} else {
Serial.println("Acceso denegado");
pixels.setPixelColor(0, 32, 0, 0);
pixels.show();
delay(500);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
}
Descarga el código fuente: RFID_with_servo.ino
Paso 4: Final y comprobación
Código completo
RFID_with_servo.ino
/* https://geek.adachsoft.com */
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#include <Adafruit_NeoPixel.h>
#define LED_PIN A0
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(1, LED_PIN, NEO_GRB + NEO_KHZ800);
#define SERVO_PIN 3
Servo myservo;
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("For more: https://geek.adachsoft.com");
Serial.println("Arduino RFID lock");
Serial.println("");
myservo.attach(SERVO_PIN);
myservo.write(0);
pixels.begin();
pixels.setPixelColor(0, 32, 32, 32);
pixels.show();
delay(500);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
}
void loop() {
if (!mfrc522.PICC_IsNewCardPresent()) return;
if (!mfrc522.PICC_ReadCardSerial()) return;
String content = "";
byte letter;
for (byte i = 0; i < mfrc522.uid.size; i++) {
content.concat(String(mfrc522.uid.uidByte[i], HEX));
if (i < mfrc522.uid.size - 1) content += "-";
}
content.toUpperCase();
Serial.println();
Serial.println("UID tag :'" + content + "'");
if (content == "77-39-50-39") {
Serial.println("Authorized access");
myservo.write(90);
pixels.setPixelColor(0, 0, 32, 0);
pixels.show();
delay(1000);
myservo.write(0);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
} else {
Serial.println("Access denied");
pixels.setPixelColor(0, 32, 0, 0);
pixels.show();
delay(500);
pixels.setPixelColor(0, 0, 0, 0);
pixels.show();
}
delay(1000);
}
Esquemático
Proceso de manufactura
- Crea un Cerrojo RFID Seguro con Arduino – Guía Paso a Paso
- Sistema de Asistencia RFID Fiable con Arduino y Python
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Facilitar la comunicación sordo‑ciego usando 1Sheeld y Arduino
- Alcancía Inteligente: Controla un Aceptador de Monedas con Arduino Nano
- Controla un LED por Bluetooth con Arduino – Guía DIY paso a paso
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Proyecto HMI Interactivo con Nextion, Arduino Mega y Múltiples Sensores
- Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
- Sistema electrónico de check-in inteligente para hackerspaces
- Medición Precisa de Radiación Solar con Arduino UNO y Shield Ethernet