i am trying to build a system in which i can turn on ac devices using an arduino

so i an trying to build an system in which i can turn on ac devices using relay with rfid arduino uno and rc522 rfid reader i have everything working but the relay wont turn on

first code that reads the rfid tags

#include <SPI.h>
#include <MFRC522.h>
#include <EEPROM.h>

#define RST_PIN 9
#define SS_PIN 10

byte readCard[4];
int successRead;

MFRC522 mfrc522(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

void setup()
{
Serial.begin(9600);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("RFID CARD SETUP BY ensarlevent");
Serial.println("--------------------------");
Serial.println("PLEASE SHOW YOUR 1. ID CARD.");
Serial.println();
do {
successRead = getID();
}
while (!successRead);
for ( int i = 0; i < mfrc522.uid.size; i++ )
{
EEPROM.write(i, readCard );

  • }*
  • Serial.println("CARD SAVED TO EEPROM");*
  • Serial.println();*
  • Serial.println("PLEASE SHOW YOUR 2. ID CARD.");*
  • Serial.println();*
  • do {*
  • successRead = getID();*
  • }*
  • while (!successRead);*
  • for ( int i = 0; i < mfrc522.uid.size; i++ )*
  • {*
    _ EEPROM.write(i + 4, readCard );_
    * }*
    * Serial.println("CARD SAVED TO EEPROM");*
    * Serial.println();*
    * Serial.println("CARDS SAVED PLEASE UPLOAD THE rfid_work CODE");
    _
    Serial.println("IF YOU HAVE A PROBLEM PLEASE CONTACT US.ensarlevent");_
    _
    }_
    void loop()
    _
    {_
    _
    }_
    int getID() {
    if ( ! mfrc522.PICC_IsNewCardPresent()) {
    _
    return 0;_
    _
    }_
    if ( ! mfrc522.PICC_ReadCardSerial()) {
    _
    return 0;_
    _
    }_
    _
    Serial.print("Card ID: ");_
    _
    for (int i = 0; i < mfrc522.uid.size; i++) {_
    readCard _= mfrc522.uid.uidByte;
    Serial.print(readCard, HEX);
    }
    Serial.println("");_

    mfrc522.PICC_HaltA();
    _ return 1;
    }
    second code that exicutes it
    #include <SPI.h>
    #include <MFRC522.h>
    #include <EEPROM.h>
    const int buttonPin = 5;
    int buttonState = 0;_

    #define RST_PIN 9*

    #define SS_PIN 10
    MFRC522 mfrc522(SS_PIN, RST_PIN);
    String lastRfid = "";
    String card1 = "";
    String card2 = "";
    MFRC522::MIFARE_Key key;
    void setup()
    *{ *
    * pinMode(buttonPin, INPUT);*
    * buttonState = digitalRead(buttonPin);*

* Serial.begin(9600);*
* SPI.begin();*
* mfrc522.PCD_Init();
_ Serial.println("RFID Card Reader");
Serial.println("--------------------------");
Serial.println();
readEEPROM();
}
void loop()
{_

if ( ! mfrc522.PICC_IsNewCardPresent())
_ {
return;
}_

if ( ! mfrc522.PICC_ReadCardSerial())
_ {
return;
}
String rfid = "";
for (byte i = 0; i < mfrc522.uid.size; i++)
{
rfid += mfrc522.uid.uidByte < 0x10 ? " 0" : " ";
rfid += String(mfrc522.uid.uidByte, HEX);
}
rfid.trim();
rfid.toUpperCase();*_

* if (rfid == lastRfid)*
* return;*
* lastRfid = rfid;*
* Serial.print("Card 1: ");*
* Serial.println(card1);*
* Serial.print("Card 2: ");*
* Serial.println(card2);*
* Serial.print("Now: ");*
* Serial.println(rfid);*
* Serial.println();*
* if (rfid == card1)*
* {*
* Serial.println("Turned On.");*
* delay (2000);*

* }*
* if (rfid == card2)*
* {*
* Serial.println("Turned Off");*
* delay (2000);*

* }*
* Serial.println();*
* delay(200);*
}
void readEEPROM()
{
* for (int i = 0 ; i < 4 ; i++)*
* {*
* card1 += EEPROM.read(i) < 0x10 ? " 0" : " ";*
* card1 += String(EEPROM.read(i), HEX);*
* }*
* for (int i = 4 ; i < 8 ; i++)*
* {*
* card2 += EEPROM.read(i) < 0x10 ? " 0" : " ";*
* card2 += String(EEPROM.read(i), HEX);*
* }*
* card1.trim();*
* card1.toUpperCase();*
* card2.trim();*
* card2.toUpperCase();*
}
please helppppp

Help yourself.
Edit your post and add the code tags.

And.... a circuit diagram.

Why not try a simple program to turn the relay on and off , to help identify what is wrong .

Add print output in your program to track what variables are doing to de bug it

String rfid

Don’t use the String class, use the string class - note the lower case “s”