Nota

¡Hola! Bienvenidos a la comunidad de entusiastas de SunFounder para Raspberry Pi, Arduino y ESP32 en Facebook. Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto con otros apasionados.

¿Por qué unirse?

  • Soporte de Expertos: Soluciona problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.

  • Aprende y Comparte: Intercambia consejos y tutoriales para mejorar tus habilidades.

  • Avances Exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos.

  • Descuentos Especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.

  • Promociones y Sorteos Festivos: Participa en sorteos y promociones especiales en días festivos.

👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy.

2.2.7 Módulo RFID MFRC522

Introducción

La identificación por radiofrecuencia (RFID) se refiere a tecnologías que utilizan comunicación inalámbrica entre un objeto (o etiqueta) y un dispositivo interrogador (o lector) para rastrear e identificar automáticamente dichos objetos.

Algunas de las aplicaciones más comunes de esta tecnología incluyen cadenas de suministro en comercios y entornos militares, métodos de pago automatizados, seguimiento de equipaje, gestión de documentos y control de medicamentos, entre otros.

En este proyecto, utilizaremos RFID para lectura y escritura.

Componentes

../_images/list_2.2.71.png

Principio

RFID

La identificación por radiofrecuencia (RFID) involucra tecnologías que utilizan comunicación inalámbrica entre un objeto (o etiqueta) y un dispositivo interrogador (o lector) para rastrear e identificar automáticamente dichos objetos. El alcance de transmisión de la etiqueta está limitado a varios metros desde el lector. No es necesariamente requerida una línea de vista directa entre el lector y la etiqueta.

La mayoría de las etiquetas contienen al menos un circuito integrado (IC) y una antena. El microchip almacena información y gestiona la comunicación de radiofrecuencia (RF) con el lector. Las etiquetas pasivas no tienen una fuente de energía independiente y dependen de una señal electromagnética externa proporcionada por el lector para operar. Las etiquetas activas contienen una fuente de energía independiente, como una batería, lo que permite capacidades de procesamiento y transmisión ampliadas, así como un mayor alcance.

../_images/image2302.png

MFRC522

El MFRC522 es un chip de lectura y escritura de tarjetas. Comúnmente usado en radios a 13.56 MHz, fue lanzado por la compañía NXP y es una solución de bajo voltaje, bajo costo y tamaño reducido, ideal para instrumentos inteligentes y dispositivos portátiles.

El MF RC522 utiliza un concepto avanzado de modulación y demodulación compatible con todos los métodos de comunicación y protocolos sin contacto pasivos de 13.56 MHz. Además, soporta el algoritmo de encriptación CRYPTO1 para verificar productos MIFARE. El MFRC522 también es compatible con la serie MIFARE para comunicación sin contacto de alta velocidad, con una tasa de transmisión de datos de hasta 424 kbit/s. Como nuevo miembro de la serie de lectores de tarjetas integrados de 13.56 MHz, el MF RC522 es muy similar a los modelos MF RC500 y MF RC530, aunque presenta diferencias significativas. Se comunica con la máquina anfitriona mediante una conexión serie, que requiere menos cableado. Puedes elegir entre los modos SPI, I2C y UART serie (similar a RS232), lo que ayuda a reducir conexiones, ahorra espacio en la placa PCB y reduce costos.

Diagrama de Circuito

../_images/image3311.png

Procedimientos Experimentales

Paso 1: Construye el circuito.

../_images/image2321.png

Paso 2: Configura SPI (consulta el Configuración de SPI para más detalles. Si ya tienes configurado SPI, omite este paso).

Paso 3: Ve a la carpeta del código.

cd ~/davinci-kit-for-raspberry-pi/c/2.2.7/

Paso 4: Compila el código.

make read
make write

Nota

Hay dos ejemplos para leer o escribir el ID de la tarjeta; puedes elegir uno de acuerdo a tus necesidades.

Paso 5: Después de ejecutar ./write, ingresa la información, como el nombre de la persona, y luego coloca la etiqueta o tarjeta en el módulo MRC522 y espera a que se complete la escritura.

sudo ./write

Paso 6: Ahora ejecuta ./read para leer la información de la etiqueta o tarjeta que has escrito.

sudo ./read

Nota

Si no funciona tras ejecutar el código, o aparece el mensaje de error: "wiringPi.h: No such file or directory», consulta ¿El código en C no funciona?.

Explicación del Código

InitRc522();

Esta función se usa para inicializar el módulo RFID RC522.

uint8_t read_card_data();

Esta función se usa para leer los datos de la tarjeta, y si la lectura es exitosa, devolverá «1».

uint8_t write_card_data(uint8_t *data);

Esta función se usa para escribir los datos en la tarjeta y devuelve «1» si la escritura es exitosa. *data es la información que se escribirá en la tarjeta.