[Solucionado] Problema con relés y bluetooth

Utilizo un Arduino UNO con un modulo Bluetooth

El circuito que uso es el siguiente:

Debo controlar un motor de 24V, para ello usé 3 relés SPDT, uno para ON/OFF y los otros dos para regular el giro (no encontré ningún relé DPDT que me sirviera). Para gobernar los relés uso un transistor y un LED que me indica si el relé está activo.
Ahora mismo no puedo colgar el circuito, en cuanto pueda lo subo.

El código es el siguiente:

int fca; 
int fcc; 
int pulsador;

void setup()
{
   Serial.begin(9600);  //LECTURA BLUETOOTH
   pinMode(5, OUTPUT); //ON-OFF
   pinMode(7, OUTPUT); //GIRO
   pinMode(10, INPUT); //Final de carrera 1
   pinMode(11, INPUT); //Final de carrera 2
   pinMode(12, INPUT); //Pulsador
  
}

void loop() {
   byte dato;
   
   if(Serial.available()>0)
   {
     dato=Serial.read();
       switch(dato) 
       {        
        case 116: {    //ABRIR
             
                if(digitalRead(10)==LOW)
                {    
                fca=digitalRead(10);  // leemos el valor del final de carrera
                 pulsador=digitalRead(12);
                 Serial.println("ABRIENDO\n\n");
                 while(fca==LOW && pulsador==LOW) 
                 { 
                 digitalWrite(7,HIGH);  //GIRO
                 digitalWrite(5, HIGH); //Abrimos
                 fca=digitalRead(10); //Y leemos el valor del final de carrera
                 pulsador=digitalRead(12);
                 }  //Fin while  
                 digitalWrite(5,LOW); //Paramos motor
                 Serial.println("ABIERTO\n\n");
                }
                else 
                Serial.println("YA ESTA ABIERTO\n\n");
                  break;
       } // fin case
       
       pulsador=LOW;
          case 122: { //CERRAR
         
       if(digitalRead(11)==LOW)
       { 
           fcc=digitalRead(11);
           pulsador=digitalRead(12);
           Serial.println("CERRANDO\n\n");
           while(fcc==LOW && pulsador==LOW)
           {
             digitalWrite(7,LOW);
             digitalWrite(5,HIGH);
             fcc=digitalRead(11);
             pulsador=digitalRead(12);
           }
           digitalWrite(5,LOW); //Paramos motor
           Serial.println("CERRADO\n\n");
       }
       else
        Serial.println("YA ESTA CERRADO\n\n");
        break;
       }   
       
} //fin switch
   } //fin if

   }

Si se desconecta el arduino y se vuelve a conectar se activan solos los relés, como si se hubiera mandado por bluetooth el código 116. Si se presiona el final de carrera "fca" todo funciona como es debido.