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

Popular posts from this blog

Python con Arduino + Interfaz

Te cuento mi aventura como mestra IB de Design y STEM

¡ParkingBot 3000! – Tu cochera con cerebro electrónico