Nota

Hola, ¡bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.

¿Por qué unirse?

  • Soporte de expertos: Resuelve problemas posventa y desafíos técnicos con 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 por festividades.

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

2.35 Módulo RFID-RC522

Descripción general

En esta lección, aprenderás a utilizar el módulo RFID. RFID es la abreviatura de Identificación por Radiofrecuencia. Su principio de funcionamiento consiste en llevar a cabo una comunicación de datos sin contacto entre el lector y la etiqueta para lograr el objetivo de identificar el objetivo. La aplicación de RFID es muy amplia, siendo los usos típicos actuales chips para animales, inmovilizadores, control de accesos, control de estacionamiento, automatización de cadenas de producción, gestión de materiales, entre otros.

Componentes necesarios

../_images/Part_two_35.png

Circuito Fritzing

En este ejemplo, insertamos el módulo RFID en la protoboard. Conecta el pin de 3.3V del RFID a 3.3V, GND a GND, RST al pin 2, SDA al pin 6, SCK al pin 5, MOSI al pin 4, MISO al pin 3, e IRQ al pin 7.

../_images/image259.png

Diagrama esquemático

../_images/image260.png

Código

Nota

  • Puedes abrir el archivo 2.35_RFID.ino en la ruta sunfounder_vincent_kit_for_arduino\code\2.35_RFID directamente.

  • Aquí se utiliza la librería RFID1; consulta Instalación Manual para un tutorial de instalación.

Cargados los códigos en la placa Mega2560, acerca tu tarjeta RFID (clave secreta) al lector RFID. El módulo leerá la información de la tarjeta y la imprimirá en el monitor serial.

Análisis del Código

Las funciones del módulo están incluidas en la librería rfid1.h.

#include <rfid1.h>

Funciones de la librería:

RFID1

Crea una nueva instancia de la clase rfid1 que representa un módulo RFID específico conectado a tu Arduino.

void begin(IRQ_PIN,SCK_PIN,MOSI_PIN,MISO_PIN,SDA_PIN,RST_PIN)

Configuración de pines.

  • IRQ_PIN, SCK_PIN, MOSI_PIN, MISO_PIN: los pines usados para la comunicación SPI.

  • SDA_PIN: Adaptador de datos sincrónico.

  • RST_PIN: El pin usado para el reinicio.

void init()

Inicializa el RFID.

uchar request(uchar reqMode, uchar *TagType);

Busca la tarjeta y lee el tipo de tarjeta, devolviendo el estado de lectura actual del RFID y MI_OK si tiene éxito.

  • reqMode: Métodos de búsqueda. PICC_REQIDL está definido como 0x26 en bits de comando (busca tarjetas que no están en modo de suspensión en el área de la antena).

  • *TagType: Se usa para almacenar el tipo de tarjeta, y su valor puede ser de 4 bytes (p. ej., 0x0400).

char * readCardType(uchar *TagType)

Esta función decodifica el número hexadecimal de cuatro dígitos de *TagType en el tipo de tarjeta específico y devuelve una cadena. Si se pasa 0x0400, se devolverá «MFOne-S50».

uchar anticoll(uchar *serNum);

Previene conflictos y lee el número de serie de la tarjeta. La función devolverá el estado de lectura actual del RFID, regresando MI_OK si es exitoso.

  • *serNum: Se usa para almacenar el número de serie de la tarjeta,

devolviendo el número de serie de 4 bytes. El quinto byte es el byte de verificación (por ejemplo, el ID de mi tarjeta magnética es 5AE4C955).

Imagen del Fenómeno

2.35