Módulo RFID Rc522 con Arduino

El Módulo Lector RFID-RC522 RF utiliza 3.3V como voltaje de alimentación y se controla a través del protocolo SPI, por lo que es compatible con casi cualquier micro controlador, Arduino o tarjeta de desarrollo. El RC522 utiliza un sistema avanzado de modulación y demodulación para todo tipo de dispositivos pasivos de 13.56Mhz


#include <MFRC522.h>

//Configuracion RFID
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key; 

void setup() {
  Serial.begin(9600);  
  while (!Serial);  // For Yun/Leo/Micro/Zero/...
  //SETUP RFID
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522 
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }
  Serial.print(F("Lector RFID inicializado"));
  //printHex(key.keyByte, MFRC522::MF_KEY_SIZE);
  Serial.println();
  delay(1000);
}

void loop() { 
  //LOOP PARA RFID
  //mensaje = "";
 // Reset the loop if no new card present on the sensor/reader. This saves the entire process when idle.
  if ( ! rfid.PICC_IsNewCardPresent())
    return;

  // Verify if the NUID has been readed
  if ( ! rfid.PICC_ReadCardSerial())
    return;

  Serial.print(F("Tipo de tarjeta: "));
  MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
  Serial.println(rfid.PICC_GetTypeName(piccType));

    Serial.print("Codigo de la tarjeta: ");
    Serial.println(leer_rfid(rfid.uid.uidByte, rfid.uid.size));
    delay(1000);

  // Halt PICC
  rfid.PICC_HaltA();

  // Stop encryption on PCD
  rfid.PCD_StopCrypto1();
 delay(50)  ;
}

//FUNCIONES DE RFID
String leer_rfid(byte *buffer, byte bufferSize) {
  String lectura="";
  for (byte i = 0; i < bufferSize; i++) {
    //Serial.print(buffer[i] < 0x10 ? " 0" : " ");
    lectura = lectura + buffer[i];
    //Serial.print(buffer[i], HEX);
  }
  return lectura;
}

Si necesitas asesoría en proyectos de Arduino, Raspberry, electrónica, estamos localizados en la ciudad de Quito Ecuador. Somos Microlab.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo no será publicada.


*