Lector tarjeta RFID

Lectura de tarjetas RFID con Arduino: Tutorial paso a paso

En este tutorial vamos a aprender cómo se pueden leer las tarjetas RFID, muy comunes en la vida cotidiana.

A continuación vamos a explicar cómo funcionan estas tarjetas, sus usos y cómo podemos hacer un lector de tarjetas RFID con Arduino.

¿Qué son las tarjetas RFID?

Lo primero de todo, las siglas RFID significan Radio Frequency Identification. En español significa Identificación por radiofrecuencia.

Es una forma de almacenamiento de datos basada en datos que se almacenan en dispositivos (en este caso las tarjetas) que al acercarse a un receptor puede leer la información de este dispositivo y hacer alguna acción como  aperturas de puertas, pagos en tiendas….

Las tarjetas RFID lo que llevan en su interior es un circuito que recorre toda la tarjeta que hace de antena que va conectado a un pequeño chip que es el que tiene la información. Las más comunes por dentro de estas el circuito sería de la siguiente manera:

RFIDcard

No solo son las tarjetas las que pueden tener este sistema, también lo podemos encontrar en pulseras, etiquetas de ropa, alarmas de tiendas, móviles, llaveros “tag”… Todo esto actualmente se usa para muchísimas cosas. Lo podemos encontrar en nuestras tarjetas de crédito o débito para el pago solo acercando la tarjeta al datáfono, las tarjetas de abono transporte, apertura de puertas electrónicas…

Llavero tag

Componentes necesarios para el lector de tarjetas RFID

Todos los componentes están disponibles en shop.flexbot.es

Todos estos componentes están disponibles en un pack en la tienda de Flexbot – Ver pack en tienda

Esquema de lector RFID

Esquema tarjeta RFID

  1. El lector RFID tiene muchas conexiones a la placa de Arduino, así es como tenemos que conectarlo:
  • SDA (SS) -> D10
  • SCK -> D13
  • MOSI -> D11
  • MISO -> D12
  • IRQ -> NO CONECTADO
  • GND -> GND
  • RST -> D9
  • 3.3v -> 3.3v

El esquema quedaría de la siguiente manera

Esquema conexión tarjeta RFID

Conexión Arduino tarjeta RFID

Esquema Pantalla LCD

La pantalla LCD que vamos a usar tiene 16 pines, esto para conectarlo seria una locura, pero hay pantallas LCD que tiene incorporado un pequeño controlador (módulo IIC/I2C) que para de esos 16 pines a solo 4, así es mucho más fácil de trabajar.

Pantalla LCD con IIC/I2C

2. Para conectar esta pantalla a nuestro Arduino tendremos que conectar 4 pines de la siguiente forma:

  • GND -> GND
  • VCC -> 5V
  • SDA -> A4
  • SCL -> A5

Si conectamos la pantalla no tiene que quedar algo así:

Esquema conexión LCD

Conexión Arduino LCD

3. Si juntamos el circuito del lector de RFID y el de la Pantalla LCD este sería el esquema del circuito.

Esquema circuito tarjeta RFID

Circuito terminado tarjeta RFID

Hora de programar

Este es el código que tenemos que reproducir, para que el proyecto funcione tenemos que importar las librerías del LCD y del Lector:

Libreria del lector RFID – Descargar

Librería Pantalla LCD – Descargar

Puedes descargar el fichero dando click aquí.

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

//Crear el objeto lcd dirección 0x3F y 16 columnas x 2 filas

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

#define RST_PIN 9 //Pin 9 para el reset del RC522
#define SS_PIN 10 //Pin 10 para el SS (SDA) del RC522
MFRC522 mfrc522(SS_PIN, RST_PIN); //Creamos el objeto para el RC522

LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);

void setup() {
Serial.begin(9600); //Iniciamos la comunicación serial
SPI.begin(); //Iniciamos el Bus SPI
mfrc522.PCD_Init(); // Iniciamos el MFRC522

lcd.begin(16,2); //Definimos las dimensiones de nuestra pantalla ancho x alto
lcd.backlight();

lcd.setCursor (0, 0);

// Escribimos el Mensaje en el LCD.
lcd.print("Lectura RFID");
Serial.println("Lectura del UID");
lcd.setCursor (0, 1);
lcd.print("Pasar Tarjeta");
}

void loop() {
lcd.setCursor(0, 0);
// Revisamos si hay nuevas tarjetas presentes
if ( mfrc522.PICC_IsNewCardPresent())
{
//Seleccionamos una tarjeta
if ( mfrc522.PICC_ReadCardSerial())
{
// Enviamos serialemente su UID
lcd.clear();
lcd.print("Card UID");
Serial.print("Card UID:");
lcd.setCursor(0, 1);
for (byte i = 0; i < mfrc522.uid.size; i++) {
Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
lcd.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(mfrc522.uid.uidByte[i], HEX);
lcd.print(mfrc522.uid.uidByte[i], HEX);
}
Serial.println();
// Terminamos la lectura de la tarjeta actual
mfrc522.PICC_HaltA();
}
delay(2000);
lcd.clear();
lcd.setCursor (0, 0);
lcd.print("Lectura RFID");
lcd.setCursor (0, 1);
lcd.print("Pasar Tarjeta");

}
}

 

Si hemos seguido todos los pasos correctamente, ya podemos disfrutar de nuestro lector de tarjetas RFID y ver que cuáles de todas nuestras tarjetas cuentan con esta tecnología y llevar el proyecto mucho mas allá haciendo controles de acceso a nuestra habitación por RFID, apertura de armarios, traspaso de información…

Si te ha gustado este proyecto y quieres reproducirlo, compártelo por las redes sociales y etiquétanos para verlo! Facebook y Twitter. 

Related Post

Pulsera con luz LED sin cables: tutorial paso a pa... ¿Se puede crear una pulsera con luz LED y sin cables? La respuesta es un sí rotundo, y en este tutorial paso a paso vas a comprobar lo sencillo y rápi...
Anime japonés de robots: qué es el género Mecha A colación del Día del niño te venimos a presentar el género Mecha del anime japonés. Si has levantado las cejas con sorpresa sigue leyendo porque te ...
Mujeres informáticas que debes conocer: 5 nombres ... Hay mujeres informáticas que han aportado muchísimo en su campo profesional, y queremos darte nombres y apellidos para contribuir con su visibilizació...
 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *