Problema con SPI, RFID, Memoria SD

Buenas Tardes

Soy nuevo en el foro, Vengo con una duda, mi cuestión que es mi primer problema que me ha pasado con arduino, es un problema con el bus SPI, no se porque el programa se queda congelado cuando ejecuto cierta acción, verán la función del código es que debo leer una tarjeta rfid y ese ID debe ser guardado en una memoria SD, la cuestión es que si yo retiro el modulo de la memoria el programa como tal funciona sin problemas o si le desconecto namas el alambre del MISO al modulo, alguien me podría decir porque me sucede esto cada uno del dispositivo tiene su CS, anexo mi código.

La ultima modificacion que hice en el codigo fue en el “void Lectura SD” ,donde pongo en alto o bajo el pin de CS del modulo SD pero hace lo mismo se congela. Si pudieran decirme que estoy haciendo mal, ya que no se me habia presentado un problema al conectar varios dispositivos SPI.

Gracias.

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

const int SS_Pin = 8;
const int RST_Pin = 9;
const int CS_Pin = 4;

MFRC522 RFID(SS_Pin,RST_Pin); //Creamos el objeto para el RC522, Pin 10 para el SS (SDA) del RC522 y Pin 9 para el reset del RC522
File Archivo;

String uidString;

void setup() {
Serial.begin(9600);
while(!Serial);
SPI.begin();
RFID.PCD_Init();
Serial.println(“Iniciando modulo memoria SD”);
if(!SD.begin(CS_Pin)) {
Serial.println(“No se pudo iniciar modulo de memoria”);
return;
}
Serial.println(“Modulo SD Iniciado.”);

}

void loop() {

if(RFID.PICC_IsNewCardPresent()) {
LecturaTarjeta();
LecturaSD();
}
delay(10);
}

void LecturaTarjeta() {

RFID.PICC_ReadCardSerial();
Serial.print("Tag UID: ");
uidString = String(RFID.uid.uidByte[0]) + " " + String(RFID.uid.uidByte[1]) + " " +
String(RFID.uid.uidByte[2]) + " " + String(RFID.uid.uidByte[3]);
Serial.println(uidString);
delay(100);
}

void LecturaSD() {
digitalWrite(CS_Pin,LOW);

Archivo=SD.open(“DATA.txt”, FILE_WRITE);
if (Archivo) {
Serial.println(“Abrinedo archivo”);
Archivo.print(uidString);
Serial.println(“Dato guardado en memoria SD”);
Archivo.close();
}
else {
Serial.println(“Error”);
}
digitalWrite(CS_Pin,HIGH);
}