Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // https://github.com/ljos/MFRC522
- /*
- RC522 MODULE Uno/Nano MEGA
- SDA D10 D9
- SCK D13 D52
- MOSI D11 D51
- MISO D12 D50
- IRQ N/A N/A
- GND GND GND
- RST D9 D8
- 3.3V 3.3V 3.3V
- */
- //#define SS_PIN 10 // Uno
- //#define RST_PIN 9 // Uno
- #define SS_PIN 9 // Mega
- #define RST_PIN 8 // Mega
- #include <MFRC522.h>
- #include <SPI.h>
- String conteudo = "";
- int accLib = 0;
- String Rf_cadastrados[10]
- { "FECDFBB",
- "44587688"
- };
- MFRC522 nfc(SS_PIN, RST_PIN);
- //-------------------------------------------------------
- void setup()
- {
- SPI.begin();
- Serial.begin(9600);
- nfc.begin();
- // Get the firmware version of the RFID chip
- byte version = nfc.getFirmwareVersion();
- if (! version)
- {
- Serial.print("Didn't find MFRC522 board.");
- while (1); //halt
- }
- Serial.print("Firmware ver. 0x");
- Serial.println(version, HEX);
- }
- //-------------------------------------------------------
- void loop()
- {
- byte status;
- byte data[MAX_LEN];
- byte serial[5];
- status = nfc.requestTag(MF1_REQIDL, data);
- if (status == MI_OK)
- {
- status = nfc.antiCollision(data);
- memcpy(serial, data, 5);
- Serial.print("O numero de serie da tag e' : ");
- for (int i = 0; i < 4; i++)
- {
- conteudo.concat(String(serial[i], HEX));
- }
- conteudo.toUpperCase(); // deixa o texto do conteudo em caixa alta.
- Serial.println(conteudo);
- if (conteudo != "") // Se conteudo for nulo não leu RF, se tiver qualquer coisa leu.
- {
- for (byte i = 0; i < 10; i++)
- {
- // Percorre o indice Rf_cadastrados para ver se o valor lido esta cadastrado.
- if (conteudo == Rf_cadastrados[i] )
- {
- accLib = 1;
- // Serial.println("Acesso liberado");
- }
- }
- if (accLib == 1)
- {
- Serial.println("Acesso liberado");
- accLib = 0;
- }
- else
- Serial.println("Acesso nao liberado");
- conteudo = ""; //Limpa variavel conteudo.
- }
- // Select the tag that we want to talk to. If we don't do this the
- // chip does not know which tag it should talk if there should be
- // any other tags in the area..
- nfc.selectTag(serial);
- // Stop the tag and get ready for reading a new tag.
- nfc.haltTag();
- }
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement