Perdida de conexion bluetooth hc-05 maestro - esclavo

Buen día, Tengo un problema muy especifico con el bluetooth hc-05 y radica en el configurado como maestro...

Envio una señal al hc-05 esclavo para que realice una función que esta perfecto..
Luego le digo que prenda un foco con un rele y que tenga un retardo , es decir que
deje el foco prendido por 60 seg...

Cuando llega al delay la conexion del bluetooth se pierde , queda parpadeando continuamente..

Como puedo mejorar mi codigo o que puedo quitar...??

#include <BH1750.h>
#include <Wire.h>  
#include <SoftwareSerial.h>


BH1750 lightMeter;
  #define led 13
  #define led2 12
     
SoftwareSerial mySerial(2,3);// RX,TX
         
     const int sensorPin = 5;
     int State = 0;   

void setup()
{   
   Serial.begin(9600);
   mySerial.begin(9600);
   lightMeter.begin();
   pinMode(sensorPin, INPUT);    
   pinMode(led2, OUTPUT);   
}
void loop()
{
               State = digitalRead(sensorPin);
  
                if (State == HIGH) {     
                  mySerial.write('1');                   
                  digitalWrite ( led , HIGH) ;                    
                } 
                else if (State == LOW) 
                {
                  mySerial.write('0');                  
                  digitalWrite( led , LOW) ;
                }
                                
                Serial.println("State");
                Serial.println(State);
                delay (2000);                                                   
                digitalWrite( led , LOW) ;                       
                
              uint16_t lux = lightMeter.readLightLevel();
              Serial.print("Light: ");
              Serial.print(lux);
              delay(1000);

                if (State == HIGH) 
               {                      
                  if ( lux < 10 )
                   {     
                   digitalWrite ( led2 , LOW) ;                                         
                   Serial.println(" lx  prende < 10");
                   Serial.print(lux);
              
                   delay(60000);
                   } 
                  if ( lux > 10 )
                   {     
                   digitalWrite ( led2 , HIGH) ;                                         
                   Serial.println(" lx  apago > 10");
                   Serial.print(lux);
                   }
                }
}

umm super peligrosa esa funcion delay si no se sabe administrar .. creo que va a ser por este lado
mi problema ..

http://www.educachip.com/razones-no-usar-funcion-delay-en-arduino/