RFID + Arduino
Objetivo de Aprendizaje:
-
Comprender cómo funcionan los sistemas de identificación por radiofrecuencia (RFID).
-
Integrar el módulo RFID RC522 con Arduino para leer tarjetas.
-
Activar una respuesta sonora (buzzer) al detectar una tarjeta válida.
🧰 Materiales necesarios:
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Módulo RFID RC522 | 1 |
| Tarjeta y llavero RFID | 1 cada uno |
| Buzzer (activo) | 1 |
| Cables dupont | 10 |
| Protoboard | 1 |
🗂️ Conexiones del Módulo RFID RC522:
| RFID RC522 | Arduino UNO |
|---|---|
| SDA | Pin 10 |
| SCK | Pin 13 |
| MOSI | Pin 11 |
| MISO | Pin 12 |
| GND | GND |
| RST | Pin 9 |
| 3.3V | 3.3V |
⚠️ Importante: El módulo RFID trabaja con 3.3V, no lo conectes a 5V.
🔊 Conexión del buzzer:
| Buzzer | Arduino UNO |
|---|---|
| VCC (+) | Pin 7 |
| GND (-) | GND |
💻 Código Arduino:
Asegúrate de instalar la librería MFRC522 desde el Gestor de Librerías.
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
#define BUZZER_PIN 7
MFRC522 rfid(SS_PIN, RST_PIN);
byte tarjetaPermitida[] = {0xDE, 0xAD, 0xBE, 0xEF}; // Reemplaza con el UID real de tu tarjeta
void setup() {
Serial.begin(9600);
SPI.begin();
rfid.PCD_Init();
pinMode(BUZZER_PIN, OUTPUT);
digitalWrite(BUZZER_PIN, LOW);
Serial.println("Acerque su tarjeta RFID");
}
void loop() {
if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
return;
}
Serial.print("UID detectado: ");
bool esValida = true;
for (byte i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i], HEX);
Serial.print(" ");
if (rfid.uid.uidByte[i] != tarjetaPermitida[i]) {
esValida = false;
}
}
Serial.println();
if (esValida) {
Serial.println("✅ Acceso permitido");
digitalWrite(BUZZER_PIN, HIGH);
delay(500);
digitalWrite(BUZZER_PIN, LOW);
} else {
Serial.println("❌ Acceso denegado");
}
rfid.PICC_HaltA(); // Detener lectura
}
🧪 Actividad sugerida:
-
Cambia el UID en el código por el de tu tarjeta.
-
Prueba con diferentes tarjetas para ver cómo reacciona el buzzer.
-
Puedes crear un sistema con múltiples tarjetas válidas, agregando varias en una lista.
Extensión de la clase:
-
Agrega un LED verde y uno rojo para mostrar acceso permitido/denegado.
-
Guarda los UID permitidos en una EEPROM o archivo externo.
-
Usa un servomotor para simular una puerta que se abre.

Comments
Post a Comment