#include <SPI.h>
#include <MFRC522.h>
#define PINO_SS 10
#define PINO_RST 9
#define BUZZER 3
#define LED_RED 5
#define LED_GREEN 6
//Cria o item para configurar o módulo RC522
MFRC522 mfrc522(PINO_SS, PINO_RST);
void setup() {
Serial.begin(9600); // Inicializa a serial
SPI.begin();// Inicializa a comunicação SPI
mfrc522.PCD_Init(); // Inicializa o módulo MFRC522
Serial.println("Sistema Inicializado: Aproxime o token");
}
void loop() {
digitalWrite(6, HIGH);
if (!mfrc522.PICC_IsNewCardPresent()) return;// Aguarda a aproximação do token
if (!mfrc522.PICC_ReadCardSerial()) return; // Seleciona qual token vai ser utilizado
Serial.print("UID da tag:"); // Mostra UID do token na serial
String conteudo= ""; //Cria uma variável vazia, do tipo string
byte letra;
for (byte i = 0; i < mfrc522.uid.size; i++) {
if (mfrc522.uid.uidByte[i] < 0x10) {
Serial.print(" 0");
} else {
Serial.print(" ");
}
Serial.print(mfrc522.uid.uidByte[i], HEX); // Printa a mensagem convertida em hexadecimal
if (mfrc522.uid.uidByte[i] < 0x10) {
conteudo.concat(String(" 0"));
} else{
conteudo.concat(String(" "));
}
conteudo.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
conteudo.toUpperCase(); //Coloca todas as letras da string em maiúscula
if (conteudo.substring(1) == "60 85 73 A5") {
Serial.println("Acesso Permitido!");
}
delay(1000);
}