Erro de codigos

Bom dia, sou novo na area de programação para arduino, estou realizando dois projetos em uma unica placa arduino. O problema é que o codigo que estou usando além de não rodar, esta implicando no outro programa.

Tenho uma sequencia de leds (com vetor) que ascende X vezes em X sequencias. E outro que liga e desliga com o clique do botão, só que quando executo alem de não mostrar erro, ele deixa um led do meu vetor acesso .

Pesquisei em diversos topicos, mais não encontrei solução. Já inseri um codigo de cada vez e os dois estão funcionando, o erro é só quando junto os dois.

Segue codigo abaixo:

long int ledPinos[] = {13, 11, 9, 7, 5, 3, 1};
int cont=0;
int numero;
int tempo=200;

//FASE02
int led12 = 2;
int botao11 = 4;
int estado_botao = 0;
int flag_botao = 0;
int estado_led = 1;
//FIM02

void setup(){
//Serial.begin(9600);
  
  for(int pino=0; pino<=6; pino++){
    pinMode(ledPinos[pino], OUTPUT); 
  } 
  
  //FASE02
  
  pinMode(botao11, INPUT);
  pinMode(led12, OUTPUT);
  //FIM02
  
}
 
void loop(){ 

  //FASE02
    estado_botao = digitalRead(botao11);
  
  if ((estado_botao == 1) && (flag_botao == 0)) {
    flag_botao = 1;
    if(estado_led == 1){
     estado_led = 0; 
    digitalWrite(led12, HIGH);
      Serial.println("Ligado");
    }
  else if (estado_led == 0){
    estado_led = 1;
    digitalWrite(led12, LOW);
      Serial.println("Desligado");
  }
  }
  if (estado_botao == 0){
   flag_botao = 0;
        
  }
  
  //FIM02
  
  
//*******FUNNCIONAL!!  
  while(cont<5){
  for(int pino=0; pino<=6; pino++){
  numero = ledPinos[random(0, 6)];    // sorteia um número de 5 a 10
  digitalWrite(numero, HIGH);   // acende o LED no endereço do pino sorteado
  delay(tempo);               // espera
  digitalWrite(numero, LOW);    // apaga o mesmo LED
  }
   cont++;
  }    
  cont=0; 
  
  
  while(cont<3){
  for(int pino=0; pino<=6; pino++){
  digitalWrite(ledPinos[pino], HIGH);
  delay(600);     
  }
  for(int pino=6; pino>=0; pino--)
  {
  digitalWrite(ledPinos[pino], LOW);
  delay(200);
  }   
    cont++;
  }    
   cont=0;
  
  while(cont<3){    
  for(int pino=6; pino>=0; pino--){
  digitalWrite(ledPinos[pino], HIGH);
  delay(30);
  }  
  for(int pino=6; pino>=0; pino--){
  digitalWrite(ledPinos[pino], LOW);
  delay(30);
  } 
 cont++;   
}
 cont=0;
  
  while(cont<3){
  for(int pino=0; pino<=6; pino++)
  digitalWrite(ledPinos[pino], HIGH);
  delay(600);     
  for(int pino=6; pino>=0; pino--)
  digitalWrite(ledPinos[pino], LOW);
  delay(200);
    cont++;
  }    
  cont=0;
    
}

Desde já meu obrigado.

arduino.PNG

Testa esse código aí, faltaram algumas chaves no seu código e nem sei como ele rodou.

void setup(){
//Serial.begin(9600);
  
  for(int pino=0; pino<=6; pino++){
    pinMode(ledPinos[pino], OUTPUT);
  }
  
  //FASE02
  
  pinMode(botao11, INPUT);
  pinMode(led12, OUTPUT);
  //FIM02
  
}
 
void loop(){

  //FASE02
  estado_botao = digitalRead(botao11);
  
  if ((estado_botao == 1) && (flag_botao == 0)) {
  	flag_botao = 1;
  	if(estado_led == 1){
  		estado_led = 0;
  		digitalWrite(led12, HIGH);
  		Serial.println("Ligado");
  	}
  	else if (estado_led == 0){
  		estado_led = 1;
  		digitalWrite(led12, LOW);
  		Serial.println("Desligado");
  	}
  } 
  else if (estado_botao == 0){
  	
	flag_botao = 0;        
  }
  
  //FIM02
  
  
//*******FUNNCIONAL!!  
  while(cont<5){
  	for(int pino=0; pino<=6; pino++){
  		numero = ledPinos[random(0, 6)];    // sorteia um número de 5 a 10
  		digitalWrite(numero, HIGH);   // acende o LED no endereço do pino sorteado
  		delay(tempo);               // espera
  		digitalWrite(numero, LOW);    // apaga o mesmo LED
  	}
   	cont++;
  }    
  cont=0;
  
  
  while(cont<3){
  	for(int pino=0; pino<=6; pino++){
  		digitalWrite(ledPinos[pino], HIGH);
  		delay(600);    
  	}
  	for(int pino=6; pino>=0; pino--){
  		digitalWrite(ledPinos[pino], LOW);
  		delay(200);
  	}  
    	cont++;
  }    
  cont=0;
  
  while(cont<3){    
  	for(int pino=6; pino>=0; pino--){
  		digitalWrite(ledPinos[pino], HIGH);
  		delay(30);
  	}  
  	for(int pino=6; pino>=0; pino--){
  		digitalWrite(ledPinos[pino], LOW);
  		delay(30);
  	}
 	cont++;  
  }
  cont=0;
  
  while(cont<3){
  	for(int pino=0; pino<=6; pino++){
  		digitalWrite(ledPinos[pino], HIGH);
  		delay(600);
	}    
	for(int pino=6; pino>=0; pino--){
  		digitalWrite(ledPinos[pino], LOW);
  		delay(200);
    	cont++;
       }    
  cont=0;
    
 }
}