¿Qué es un lector RFID?
El etiquetado RFID es un sistema de identificación que utiliza pequeños dispositivos de identificación por radiofrecuencia con fines de identificación y seguimiento. Un sistema de etiquetado RFID incluye la etiqueta en sí, un dispositivo de lectura / escritura y una aplicación de sistema principal para la recopilación, el procesamiento y la transmisión de datos.
En palabras simples, una RFID utiliza campos electromagnéticos para transferir datos a distancias cortas. La RFID es útil para identificar personas, realizar transacciones, etc.
Puede utilizar un sistema RFID para abrir una puerta. Por ejemplo, solo la persona con la información correcta en su tarjeta puede ingresar. Un sistema RFID utiliza:
>> Etiquetas adheridas al objeto a identificar, en este ejemplo tenemos un llavero y una tarjeta electromagnética. Cada etiqueta tiene su propia identificación (UID).
>> transmisor-receptor de radio bidireccional, el lector , que envía una señal a la etiqueta y lee su respuesta
Especificaciones basicas:
- Voltaje de entrada: 3,3 V
- Frecuencia: 13,56 MHz
Ahora, antes de escribir el código necesario, debe descargar la biblioteca necesaria para este sensor desde este repositorio .
Extraiga el contenido de la carpeta zip «rfid-master» y agregue esta carpeta de biblioteca debajo de las bibliotecas existentes de Arduino.
Después de hacerlo, reinicie su ArduinoIDE.
Ahora, nuestro Arduino está listo para tomar comandos y ejecutarlos en consecuencia.
El código Arduino se ha cargado al final de este tutorial. Compile el código y elimine los errores tipográficos (si los hay).
Ahora es el momento de conectar nuestro Arduino con el lector RFID. Consulte el cableado PIN a continuación, así como el diagrama esquemático de conexión para una fácil referencia.
PinWiring a Arduino Uno
SDA ———————— Digital 10
SCK ———————— Digital 13
MOSI ———————- Digital 11
MISO ———————- Digital 12
IRQ ———————— desconectado
TIERRA ———————– TIERRA
RST ———————— Digital 9
3.3V ———————— 3.3V (NO CONECTE A 5V)
Leer datos de una etiqueta RFID
Después de tener el circuito listo, vaya a Archivo> Ejemplos> MFRC522> DumpInfo y cargue el código. Este código estará disponible en Arduino IDE (después de instalar la biblioteca RFID).
Luego, abra el monitor en serie. Debería ver algo como la figura siguiente:
Aproxima la tarjeta RFID o el llavero al lector. Deje que el lector y la etiqueta se acerquen hasta que se muestre toda la información.
Esta es la información que puede leer de la tarjeta, incluido el UID de la tarjeta que está resaltado en amarillo. La información se almacena en la memoria que se divide en segmentos y bloques como puedes ver en la imagen anterior.
Tiene 1024 bytes de almacenamiento de datos divididos en 16 sectores y cada sector está protegido por dos claves diferentes, A y B.
Anote su tarjeta UID porque la necesitará más adelante.
Sube el código Arduino que se ha agregado como sufijo aquí.
Demostración
Aproxima la tarjeta que ha elegido para dar acceso y verá:
Si aproxima otra etiqueta con otro UID, aparecerá el mensaje de denegación:
CÓDIGO
* /
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN 10
#define RST_PIN 9
MFRC522 mfrc522 ( SS_PIN , RST_PIN ); // Cree la instancia de MFRC522.
configuración vacía ()
{
Serial . comenzar ( 9600 ); // Iniciar una comunicación en serie
SPI . comenzar (); // Iniciar bus SPI
mfrc522 . PCD_Init (); // Iniciar MFRC522
Serial . println ( "Aproxima tu tarjeta al lector ..." );
Serial . println ();
}
bucle vacío ()
{
// Busque nuevas cartas
if ( ! mfrc522 . PICC_IsNewCardPresent ())
{
volver ;
}
// Selecciona una de las cartas
si ( ! mfrc522 . PICC_ReadCardSerial ())
{
volver ;
}
// Mostrar UID en el monitor serial
Serial . print ( "etiqueta UID:" );
String content = "" ;
letra de byte ;
para ( byte i = 0 ; i < mfrc522 . uid . tamaño ; i ++ )
{
Serial . print ( mfrc522 . uid . uidByte [ i ] < 0x10 ? "0" : "" );
Serial . imprimir ( mfrc522 . uid . uidByte [ i ], HEX );
contenido . concat ( String ( mfrc522 . uid . uidByte [ i ] < 0x10 ? "0" : "" ));
contenido . concat ( Cadena ( mfrc522 . uid . uidByte [ i ], HEX ));
}
Serial . println ();
Serial . imprimir ( "Mensaje:" );
contenido . toUpperCase ();
if ( content . substring ( 1 ) == "BD 31 15 2B" ) // cambia aquí el UID de la tarjeta / tarjetas a las que quieres dar acceso
{
Serial . println ( "Acceso autorizado" );
Serial . println ();
retraso ( 3000 );
}
else {
Serial . println ( "Acceso denegado" );
retraso ( 3000 );
}
}
-
Arduino ATmega 2560 R3¡Oferta!
$20.50$19.00 -
Arduino Uno Wifi¡Oferta!
$15.00$13.00 -
Arduino Mini USB Nano V3.0 CH340 Chip Board 5V 16M + Cable¡Oferta!
$9.00$8.50