page-title-bg2
  >  Blog   >  Lectura de tarjetas RFID con Arduino: Tutorial paso a paso
RFID con pantalla LCD

Lectura de tarjetas RFID con Arduino: Tutorial paso a paso

Comparte en RRSS
 

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?

RFIDcard

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:

 

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…

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

Lector-tarjeta-RFID-4

  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 RFIDLector-tarjeta-RFID-2

 

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.

I2CLCD

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 LCDConexLCD

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 RFIDLector-tarjeta-RFID-3

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. 

Post a Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.