Problems when interfacing multiple Unos to control relay with RFID/RC522

The project in question requires the following: four Unos read and authenticate or deny a specific RFID tag (using a Sunfounder RC522), then each sends a signal to a master Uno (receiving a total of four inputs). When all four inputs are received as valid, the master Uno sends +5v via relay pin, 12, to open the circuit. It opens a maglock.

The problem I encounter is that although I get a correct UID read in serial monitor and the boards light up LEDs when exposed to the correct UID (obviously sending voltage out), my readings are wacked out on my master Uno.

I will post the code I am using below for master Uno. I believe the others are doing their jobs (they all light up their respective LEDs so the code is solid for these other boards) and therefore will only post the relatively short code for the master board.

As far as hookup goes, I have each of my RFID reader Unos (which are attached via SPI to RC522s) send via Digital Pin 2 an output signal (thru 330ohm resistor>LED>splits here and goes to the respective analog pin(1,2,3,4) on the master and also back to the ground of the RFID reading Unos). As I just stated, on the master Uno there is A1-A4 receiving input from the digital pin 2 of each respective Uno - however the input is not coming in properly (I will re-iterate; the LEDs are lit so it must be something about this Uno which receives input from all or the code) and therefore not sending signal to S on relay from Pin 12. (+5v and GND also connected to relay).

Here is the complete code for the master Uno. All wiring is solid, in serial monitor I see 0 for A1 and A4; A3 and A2 are giving values, whereas they all should be reading. A3 and A2 are, however, reading extremely unpredictable results, even when OUTPUT is LOW!

Any help solving this would be appreciated!

int rfid1Pin = A1;
int rfid2Pin = A2;
int rfid3Pin = A3;
int rfid4Pin = A4;
int relayPin = 12;
int rfid1Reading;
int rfid2Reading;
int rfid3Reading;
int rfid4Reading;

void setup() {
  pinMode(relayPin, OUTPUT);

void loop() {
  rfid1Reading = analogRead(rfid1Pin);
  rfid2Reading = analogRead(rfid2Pin);
  rfid3Reading = analogRead(rfid3Pin);
  rfid4Reading = analogRead(rfid4Pin);
  Serial.print("Analog reading = ");
  if (rfid1Reading !=0 && rfid2Reading !=0 && rfid3Reading !=0 && rfid4Reading !=0)
  digitalWrite(relayPin, HIGH);
    digitalWrite(relayPin, LOW);

define "wacked out"

Show a drawing or picture of your wiring. I think it is wrong, but can't tell if I am reading the text description the way you intended. The output pin should be connected to the input pin directly, not through the resistor and diode.

I would recommend either using digital inputs or use a threshold to determine high/low inputs. It is likely that the analog reading will not be 0 counts when the digital output is low. It will be a low number but it won't be zero.