lunes, 24 de abril de 2017

Arduino + RFID [Simulación Control de Acceso]

Que tal queridos lectores de este su Blog Favorito 😁.

Vamos a hacer una practica sencilla con Arduino y el modulo RFID Modelo MFRC522.


Al final habremos logrado leer un par de Tags y asignar uno como Permitido y el otro como NO Permitido para simular el acceso con dos leds.

Materiales usados en esta practica:
1 Arduino UNO.
1 Lector RFID Modelo MFRC522.
1 Led Verde.
1 Led Rojo.
Cables para conexión.

Aqui la conexión:

RFID según Wikipedia:
RFID (siglas de Radio Frequency IDentification, en español identificación por radiofrecuencia) es un sistema de almacenamiento y recuperación de datos remoto que usa dispositivos denominados etiquetastarjetastranspondedores o tags RFID. El propósito fundamental de la tecnología RFID es transmitir la identidad de un objeto (similar a un número de serie único) mediante ondas de radio. Las tecnologías RFID se agrupan dentro de las denominadas Auto ID (automatic identification, o identificación automática).
Las etiquetas RFID (RFID Tag, en inglés) son unos dispositivos pequeños, similares a una pegatina, que pueden ser adheridas o incorporadas a un producto, un animal o una persona. Contienen antenas para permitirles recibir y responder a peticiones por radiofrecuencia desde un emisor-receptor RFID. Las etiquetas pasivas no necesitan alimentación eléctrica interna, mientras que las activas sí lo requieren. Una de las ventajas del uso de radiofrecuencia (en lugar, por ejemplo, de infrarrojos) es que no se requiere visión directa entre emisor y receptor.

Para esta practica usaremos el protocolo SPI para la comunicación entre el modulo y Arduino.
A continuación les dejo una tabla con la conexión de el modulo a Arduino:


Características de el Modulo RFID MFRC522:
  • Corriente de operación: 13-26mA a 3.3V
  • Corriente de stand by: 10-13mA a 3.3V
  • Corriente de sleep-mode:80uA
  • Corriente 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 del módulo: 40 x 60 mm
  • Temperatura de operación: -20 a 80º
Primero tendremos que saber cual es el ID de nuestros TAGS, para eso vamos a cargar este codigo que les dejo a continuación:


Este código se encargara de mostrarnos el ID de cada TAG que acerquemos a el lector, en el monitor serial de esta manera:

Estos números los anotaremos para después incluirlos en el sketch principal, el cual les dejo a continuación:


El Tag ID que usaremos como "usuario permitido" lo ponemos en esta parte de el código:

Teniendo en cuenta de agregarlo después de "0x" para no tener ningún error, quedando como en la imagen de arriba.

Ejemplo: Si tu TAG te arrojó el ID "DA 05 90 AB", el arreglo quedaría así:
byte Usuario1[4]= {0xDA, 0x05, 0x90, 0xAB}.
Los ID de los TAGS que utilicemos como "NO Permitidos" no es necesario agregarlos.


El resultado final sera como el que se muestra en el siguiente video:

Hasta el próximo post Colegas, comentar es agradecer XD.

PD: Si tienes en mente algún proyecto y no sabes como empezar, deja tu comentario para darte una ayuda!!!

6 comentarios:

  1. Hola qisiera saber si se puede cargarle saldo a las tarjetas. Por ejemplo q se pueda acceder cierta cantidad d veces a un lugar y despues haya q cargarle d nuevo.

    ResponderBorrar
    Respuestas
    1. Hola, este modulo es solo Lector de tarjetas, no te sirve para escribir en ellas.
      Saludos!!

      Borrar
  2. No te permite escribir en ellas solo leerlas?, seria como principios de proyectos para tarjetas de buses para pagar pasaje como la Metrovía aca en Ecuador, excelente aporte amigo me ha servido de mucho
    Saludos desde Ecuador

    ResponderBorrar
    Respuestas
    1. Asi es Jonathan!!
      Este modulo solo permite leer los tags.
      Aunque si existen modulos escritores compatibles con Arduino.
      Saludos!!

      Borrar
  3. Saludos el proyecto esta genial, ahora lo que me necesito hacer es lo siguiente: 1. Leer la tarjeta 2.- Buscar el numero en una BD mysql 3.- Encender led rojo o verde dependiendo el resultado.
    Gracias!

    ResponderBorrar
    Respuestas
    1. Hola, cómo estás?, Pudiste encontrar una solución para buscar el número en una BD MySQL?

      Borrar