Módulo RFID-RC522 RF con Arduino UNO SPI

Módulo Lector RFID-RC522 RF con Arduino

RFID RC522 Arduino UNO

RFID RC522 Arduino UNO

DESCRIPCIÓN Módulo Lector RFID-RC522 RF

En primer lugar haremos uso del Arduino UNO y el Módulo Lector RFID-RC522 RF para dar uso de algunas funciones de la librería RFID. Las operaciones que  finalmente haremos en este tutorial, serán:

  1. Lectura de bloque de memoria de un tarjeta (rfid.read)
  2. Escritura en un bloque de memoria (rfid.write)
  3. Lectura de número de serie de  tarjeta   (rfid.numSerie)  

MATERIALES

CONEXIÓN Módulo Lector RFID-RC522 RF

A continuación se muestra una tabla con los pines del Módulo Lector RFID-RC522 RF, así como la conexión que tendrá con el Arduino UNO . Ten en cuenta que en la imagen de arriba se muestra la parte trasera del RFID RC552, en la parte inferior de esta imagen esta muestra los nombres correspondientes de los pines.

rfid pin arduino

RFID conexión RC522 con Arduino UNO

 

RFID TAG PN522

RFID RC522

 

Introducción

Módulo Lector RFID-RC522 RF con Arduino

El Módulo Lector RFID-RC522 RF utiliza 3.3V como voltaje de alimentación y se controla a través del protocolo SPI, así como el protocolo UART, por lo que es compatible con casi cualquier micro controlador, Arduino o tarjeta de desarrollo. El RC522 también utiliza un sistema avanzado de modulación y demodulación para todo tipo de dispositivos pasivos de 13.56Mhz.  Puesto que se hará una lectura y escritura de la tarjeta, es necesario conocer las características de los bloques de memoria una tarjeta: La tarjeta que viene con el módulo RFID cuenta con 64 bloques de memoria (0-63) donde se hace lectura y/o escritura. Cada bloque de memoria tiene la capacidad de almacenar sobre todo hasta 16 Bytes.  El número de serie consiste de 5  valores hexadecimales, se podría utilizar esto para hacer una operación dependiendo del  número de serie.  

Características del Módulo Lector RFID-RC522 RF

  • Modelo: MF522-ED
  • Corriente de operación: 13-26mA a 3.3V
  • Isb de stand by: 10-13mA a 3.3V
  • Ism de sleep-mode: <80uA
  • Im máxima: 30mA
  • Frecuencia de operación: 13.56Mhz
  • Distancia de lectura: 0 a 60mm
  • Protocolo de comunicación: SPI
  • Velocidad de datos máxima: 10Mbit/s
  • Dimensiones: 40 x 60 mm
  • Temperatura de operación: -20 a 80ºC
  • Humedad de operación: 5%-95%
  • Máxima velocidad de SPI: 10Mbit/s
  • Incluye pines, llavero y tarjeta

 

Descargas

 

Programa C Arduino UNO Lectura de Bloques Tags

//Módulo Lector RFID-RC522 RF
#include <SPI.h>;
#include <MFRC522.h>; 
RFID rfid(10,5); void setup() { Serial.begin(9600); SPI.begin(); rfid.init(); } unsigned char het[16]={'H','E','T','P','R','O',' ','R','F','I','D',' ','5','5','2',' '}; //Declaracion de cadena de caracteres unsigned char *writeData=het; //asigna het a char tipo puntero unsigned char *str; //char tipo puntero utilizado para la función de lectura de un bloque void loop() { if (rfid.isCard()) { rfid.write(8,writeData); //Función escritura (num de bloque, string) rfid.read(8,str); //Función lectura (num de bloque, str) guarda lo que está en el bloque a str Serial.print(str[0]); //Imprime lo que se guardó en str de la funcion read } rfid.halt(); } 

 

Detalles del programa

Incluir la librería SPI, la cual se encarga del protocolo SPI. También se incluye la librería RFID que contiene todas las funciones relacionado con el RFID.

#include <SPI.h>;
#include <MFRC522.h>;

 

En primer lugar se inicializa puerto Serial a 9600 Baudios, se inicializa RFID y SPI,

void setup()
{
  Serial.begin(9600);
  SPI.begin();
  rfid.init();
}

Comando de la librería RFID para poner tarjeta en hibernación

rfid.halt()

Declaración de cadena de caracteres la cual se define con “{}”, se debe de poner cada carácter entre apostrofes seguido de una coma si es necesario.

unsigned char het[16]={'H','E','T','P','R','O',' ','R','F','I','D',' ','5','5','2',' '};

Se declara un carácter de tipo puntero y toma el valor de char het.

unsigned char *writeData=het;

Declaracion un carácter tipo puntero que será utilizado para la función de lectura de un bloque

unsigned char *str;

Programa C Arduino UNO Lectura de numero de Serie

#include <SPI.h>;
#include <MFRC522.h>;
RFID rfid(10,5); 
void setup() { 
Serial.begin(9600); //Inicializa la velocidad de Serial 
SPI.begin(); //Función que inicializa SPI 
rfid.init(); //Función que inicializa RFID 
} 
void loop() { 
if (rfid.isCard()) { //Verifica si hay una tarjeta 
if (rfid.readCardSerial()) { //Funcion que lee la tarjeta 
Serial.println(" "); 
Serial.println(" "); 
Serial.println("El numero de serie de la tarjeta es : "); 
for(int i=0;i<=4; i++){ 
if(i!=4){ 
Serial.print(rfid.serNum[i],HEX); //rfid.serNum lee el número de serie unico de la tarjeta 
Serial.print(" "); 
} 
else{ 
Serial.print(rfid.serNum[i],HEX); 
Serial.print(" "); 
} 
} 
delay(1000); 
} 
} 
rfid.halt(); 
} 

RFID Serial Numero Módulo Lector RFID-RC522 RF
RFID Terminal Arduino, Numero de Serie. 

RFID tarjeta tag

RFID Lectura tarjeta Tag

 

RFID Arduino Lectura Terminal Módulo Lector RFID-RC522 RF

RFID Arduino Lectura Terminal

 

Actualización para Arduino Leonardo:

Ten en cuenta que para el Arduino leonardo la conexión es como se muestra a continuación.

Fuente: Arduino.CN

Módulo Lector RFID-RC522 RF

Esquematico Leonardo RFID SPI

148 Comments

  1. Domingo Mestra Septiembre 15, 2014
  2. CLIENTE Septiembre 24, 2014
    • Administrador Septiembre 24, 2014
    • Andres Junio 5, 2015
      • Cristián Junio 9, 2015
        • Nissim Julio 31, 2015
          • Yuli Septiembre 24, 2016
          • Saul Jesus Septiembre 27, 2016
          • Marlee Enero 6, 2017
          • http://www.osucvcgolf.com/ Febrero 15, 2017
    • Fabian Julio 11, 2015
  3. Andrés Felipe Marín Arcila Septiembre 30, 2014
    • Administrador Octubre 1, 2014
      • Administrador Octubre 1, 2014
      • Andrés Felipe Marín Arcila Octubre 1, 2014
  4. Domingo Mestra Octubre 1, 2014
    • Administrador Octubre 1, 2014
      • Domingo Mestra Octubre 2, 2014
        • Juan Diego Marzo 20, 2016
  5. Nacho Octubre 6, 2014
    • Administrador Octubre 6, 2014
  6. Adrián Octubre 14, 2014
    • Administrador Octubre 14, 2014
  7. Ronald Ocampo Noviembre 6, 2014
  8. Fernando Noviembre 7, 2014
    • Administrador Noviembre 7, 2014
  9. Alejandro Noviembre 14, 2014
    • Administrador Noviembre 14, 2014
  10. Ignacio Noviembre 22, 2014
    • Administrador Noviembre 24, 2014
  11. Elena Noviembre 25, 2014
    • Administrador Diciembre 8, 2014
    • Ice Enero 6, 2017
  12. jesus Diciembre 6, 2014
    • Administrador Diciembre 8, 2014
  13. Erwin Diciembre 31, 2014
    • Hector Torres Enero 1, 2015
  14. Jhon Enero 16, 2015
    • Administrador Enero 16, 2015
  15. ricardo sanchez Enero 23, 2015
    • Administrador Enero 23, 2015
  16. Luis Pintado Abril 3, 2015
  17. LAURA GOMEZ Abril 3, 2015
  18. Francisco Abril 20, 2015
  19. zhely Mayo 17, 2015
    • Orlando Mayo 20, 2015
      • Alfredo Ramirez Mayo 9, 2017
        • Hector Torres Mayo 11, 2017
  20. Cristián Junio 5, 2015
  21. pepe Julio 8, 2015
  22. Jorge Agosto 16, 2015
    • Hector Torres Agosto 21, 2015
  23. Diego Agosto 20, 2015
    • Hector Torres Agosto 21, 2015
  24. seba Octubre 3, 2015
  25. Óscar Octubre 7, 2015
    • Hector Torres Octubre 22, 2015
  26. Óscar Octubre 13, 2015
  27. Oscar Octubre 17, 2015
  28. Santiago Noviembre 1, 2015
  29. juan carlos Noviembre 11, 2015
    • Hector Torres Diciembre 7, 2015
  30. OMar Noviembre 15, 2015
  31. javier Noviembre 23, 2015
  32. Rodrigo Enero 21, 2016
    • Hector Torres Enero 24, 2016
    • Edgar Julio 28, 2017
  33. abraham Febrero 1, 2016
    • Hector Torres Febrero 2, 2016
  34. omar perez Febrero 3, 2016
  35. omar perez Febrero 3, 2016
  36. omar perez Febrero 3, 2016
  37. omar perez Febrero 4, 2016
    • Hector Torres Febrero 4, 2016
  38. Darling Chavez Febrero 4, 2016
    • Hector Torres Febrero 4, 2016
  39. omar perez Febrero 5, 2016
    • Hector Torres Febrero 5, 2016
  40. Jose Febrero 23, 2016
  41. Carles Febrero 29, 2016
    • Hector Torres Marzo 1, 2016
      • Carles Marzo 1, 2016
        • Hector Torres Marzo 1, 2016
          • Carles Marzo 2, 2016
          • Hector Torres Marzo 3, 2016
  42. Jairo Andres Rojas Marzo 22, 2016
    • Hector Torres Marzo 26, 2016
  43. Juan David Montero Baquero Mayo 5, 2016
  44. Javi Mayo 11, 2016
    • Hector Torres Mayo 12, 2016
  45. enrique Mayo 17, 2016
  46. Eric Perusquía Junio 28, 2016
  47. Eric Perusquía Junio 28, 2016
    • Hector Torres Julio 4, 2016
  48. Jose Mejia Agosto 15, 2016
    • Jose Mejia Agosto 15, 2016
      • Saul Jesus Agosto 15, 2016
      • Nicole Octubre 21, 2016
        • Jose Mejia Octubre 21, 2016
          • Saul Jesus Octubre 22, 2016
  49. williamfj Agosto 23, 2016
    • Saul Jesus Agosto 23, 2016
      • williamfj Agosto 23, 2016
        • Saul Jesus Agosto 23, 2016
  50. Fernando Agosto 31, 2016
    • Saul Jesus Septiembre 1, 2016
      • Fernando Septiembre 1, 2016
        • Saul Jesus Septiembre 2, 2016
  51. oscarnu88 Septiembre 15, 2016
    • Saul Jesus Septiembre 20, 2016
  52. Agustin Noviembre 9, 2016
    • Saul Jesus Noviembre 11, 2016
  53. AARON MIRANDA Noviembre 24, 2016
    • Saul Jesus Noviembre 24, 2016
  54. Mónica Gutiérrez Noviembre 27, 2016
    • Saul Jesus Noviembre 28, 2016
  55. Cristian Enero 6, 2017
  56. Xavier Enero 27, 2017
  57. Jesus Marzo 14, 2017
  58. Buby Abril 12, 2017
  59. Luis Abril 18, 2017
  60. Eduardo Abril 29, 2017
    • Hector Torres Mayo 1, 2017
  61. andres Mayo 2, 2017
  62. Berni Junio 2, 2017
    • Hector Torres Junio 11, 2017
  63. Adolfo Junio 9, 2017

Leave a Reply