#include #include #include #include #include #include #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 void setup() { Serial.begin(9600); //Iniciamos La comunicacion serial SPI.begin(); //Iniciamos el SPI mfrc522.PCD_Init(); // Iniciamos MFRC522 Serial.println("INGRESE SU TARJETA:"); } byte ActualID[4]; //almacenará el Tag leído de los usuarios byte tarjeta_PNG[4]= {0x65, 0x97, 0x07, 0xA6} ; //código de la tarjeta PNG byte tarjeta_JPEG[4]= {0xCD, 0xB7, 0x26, 0x3B} ; //código del esquema JPEG byte tarjeta_SVG[4]= {0xD5, 0xA2, 0xB0, 0xA5} ; //código del esquema SVG byte tarjeta_WAV[4]= {0x9B, 0x86, 0x3F, 0xA} ; //código del esquema WAV byte tarjeta_MP3[4]= {0x7B, 0x82, 0x4A, 0xE3} ; //código del esquema MP3 void loop() { // Condicional para detectar nuevas tarjetas if ( mfrc522.PICC_IsNewCardPresent()) { //Selecciona una tarjeta if ( mfrc522.PICC_ReadCardSerial()) { // Enviamos la identificación de la tarjeta for (byte i = 0; i < mfrc522.uid.size; i++) { ActualID[i]=mfrc522.uid.uidByte[i]; } //comparamos los ID para determinar si es uno de nuestros usuarios if(compareArray(ActualID,tarjeta_PNG)) Serial.println("png"); else if(compareArray(ActualID,tarjeta_JPEG)) Serial.println("jpeg"); else if(compareArray(ActualID,tarjeta_SVG)) Serial.println("svg"); else if(compareArray(ActualID,tarjeta_WAV)) Serial.println("wav"); else if(compareArray(ActualID,tarjeta_MP3)) Serial.println("mp3"); else Serial.println("RFID/NO_REGISTRADA"); // Terminamos la lectura de la tarjeta actual mfrc522.PICC_HaltA(); } } } //Función para comparar dos vectores boolean compareArray(byte array1[],byte array2[]) { if(array1[0] != array2[0])return(false); if(array1[1] != array2[1])return(false); if(array1[2] != array2[2])return(false); if(array1[3] != array2[3])return(false); return(true); }