#include #include #include #define SS_PIN 10 #define RST_PIN 9 MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance. int emagnets = 6; int id_skaits = 1; const String correctIDs[5] = {"83dce51a"}; String dump_byte_array(byte *buffer, byte bufferSize) { String read_rfid = ""; for (byte i = 0; i < bufferSize; i++) { read_rfid = read_rfid + String(buffer[i], HEX); } return read_rfid; } void setup() { Serial.begin(9600); SPI.begin(); // Initiate SPI bus pinMode(emagnets, OUTPUT); Serial.println("Communication started"); } void loop() { mfrc522.PCD_Init(); // Initiate MFRC522 digitalWrite(emagnets, LOW); //Show UID on serial monitor //Serial.print("UID tag :"); String content= ""; byte letter; // If the sensor detects a tag and is able to read it if(mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) { // Extract the ID from the tag content = dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); } for (int i = 0; i < id_skaits ; i++) { if(content != correctIDs[i]) { //Serial.print(content); Serial.println(" Access denied"); return; } else { digitalWrite(emagnets, HIGH); Serial.println("Authorized access"); Serial.println(); delay(10000); } } }