PROBLEM 8 LED sequence. Digital outputs not working (ARDUINO UNO R3)

Hello everybody, I have done a LED sequence set, which contains 8 LED to independent digital outputs (Well conected and with their 220 Ohm resistor)
Every led is conected (short pin ---> ground // long pin --->resistor --->digital output

I am using pins: [4,5,6,7,8,9,10,11]

The fact.. is that I could check by doing a blinking code that every output is working properly, BUT!
when I connect the 8 outputs, and I run the code of LEDs sequence, the outputs [4,5,6,7] do not shine properly (just a little).

When I connect these LEDs to another OUTPUT (like 8,9,10,11) it shines perfectly.

The code contains a part for IR remote control signals and interruptions.

Any tipp?
Here I drop my code, but I thing that it must be a hardware problem...Like if Arduino UNO R3 can not support 8 digital outputs at the same time (which sounds riddiculous..)

I will post 2 codes:

first one is the one that has the IR remote control ---> PINS 4,5,6,7 NOT WORKING

second one has the similar sequences and ALL the PINS are WORKING

FIRST CODE

#include <IRLremote.h>
/*
 Command: (HEX)1=0x8877 2=0x48B7 3=0xC837 4=0x28D7
*/

int IR=3;

int LEDs[8]={4,5,8,9,10,11,6,7};
int led;

int i;

uint8_t oldSREG;
volatile uint8_t protocolo;
volatile uint32_t codigo;

void setup(){
  Serial.begin(9600);
  Serial.println("Startup");
//Declaración leds
  for(i=8;i<12;i++){
    pinMode(i,OUTPUT);
  }
  //Declaración IR(DATA)
    pinMode(IR,INPUT);
  IRLbegin<IR_ALL>(digitalPinToInterrupt(IR));
  protocolo=0;
}
void IREvent (uint8_t protocol, uint16_t address, uint32_t comand){
  protocolo=protocol;
  codigo=comand;
  }
void loop(){
  oldSREG=SREG;
  cli();
  
  if(protocolo){
    Serial.println(codigo);
                switch (codigo){
                    case 0x8877:
                        Serial.println("MODE 1");
                        led=1;
                    break;
                    case 0x48B7:
                        Serial.println("MODE 2");
                        led=2;
                    break;
                    case 0xC837:
                        Serial.println("MODE 3");
                        led=3;                    
                    break;
                    case 0x28D7:
                        Serial.println("MODE 4");
                        led=4;
                    break;
                    default:
                        led=0;
                    break;
                  
                  }
    
    protocolo=0;
    }
SREG=oldSREG;
  if(led==0) TurnOff();
  else if (led== 1) {
      TurnOff();
      delay(250);
      TurnOn();
      delay(250);
      }
  else if (led== 2) {
      OneByOne();
      }
  else if (led==3){
      TurnOff();
            Snake();
            TurnOff();
            SnakeInverse();
      }
  else if (led== 4){
      blueLEDsOn();
      delay(250);
      blueLEDsOff();
      redLEDsOn();
      delay(300);
      redLEDsOff();
      yellowLEDsOn();
      delay(250);
      yellowLEDsOff();
      delay(300);
      TurnOn();
      delay(400);
      TurnOff();
      delay(250);
      }
}

// SNAKE MODE
void Snake(){

   for( int k=0; k<8; k++){
        for(int j=0; j<8;j++){
          if(j<=k)  digitalWrite(LEDs[j],1);
          else      digitalWrite(LEDs[j],0);
        }
        delay(250);
}
}     

//SNAKE INVERSE MODE
void SnakeInverse(){
digitalWrite(LEDs[7],1);
delay(250);
digitalWrite(LEDs[6],1);
delay(250);
digitalWrite(LEDs[5],1);
delay(250);
digitalWrite(LEDs[4],1);
delay(250);
digitalWrite(LEDs[3],1);
delay(250);
digitalWrite(LEDs[2],1);
delay(250);
digitalWrite(LEDs[1],1);
delay(250);
digitalWrite(LEDs[0],1);
delay(250);
}

// Turn on function
void TurnOn(){
  for (int j=0; j<8; j++){
  digitalWrite(LEDs[j],1);
  }
}

// Turn Off function
void TurnOff(){
  for (int j=0; j<8; j++){
  digitalWrite(LEDs[j],0);
  }
}
void OneByOne(){

      for( int k=0; k<8; k++){
        for(int j=0; j<8;j++){
          if(j==k)  digitalWrite(LEDs[j],1);
          else      digitalWrite(LEDs[j],0);
        }
        delay(250);
      }

}
void blueLEDsOn(){
  for (i=0;i<2;i++){
  digitalWrite(LEDs[i],1);
  }
  for (i=7;i>5;i--){
  digitalWrite(LEDs[i],1);
  }
}
void blueLEDsOff(){
  for (i=0;i<2;i++){
  digitalWrite(LEDs[i],0);
  }
  for (i=7;i>5;i--){
  digitalWrite(LEDs[i],0);
  }
}
void redLEDsOn(){
  for (i=3;i<5;i++){
  digitalWrite(LEDs[i],1);
  }
}
void redLEDsOff(){
  for (i=3;i<5;i++){
  digitalWrite(LEDs[i],0);
  }
}
void yellowLEDsOn(){
  digitalWrite(LEDs[2],1);
  digitalWrite(LEDs[5],1);
}
void yellowLEDsOff(){
  digitalWrite(LEDs[2],0);
  digitalWrite(LEDs[5],0);
}

SECOND CODE

//Declaring leds vector (8 length)
int LEDs[8]={4,5,8,9,10,11,6,7};

// SNAKE MODE
void Snake(){

   for( int k=0; k<8; k++){
        for(int j=0; j<8;j++){
          if(j<=k)  digitalWrite(LEDs[j],1);
          else      digitalWrite(LEDs[j],0);
        }
        delay(250);
}
}     

//SNAKE INVERSE MODE
void SnakeInverse(){
digitalWrite(LEDs[7],1);
delay(250);
digitalWrite(LEDs[6],1);
delay(250);
digitalWrite(LEDs[5],1);
delay(250);
digitalWrite(LEDs[4],1);
delay(250);
digitalWrite(LEDs[3],1);
delay(250);
digitalWrite(LEDs[2],1);
delay(250);
digitalWrite(LEDs[1],1);
delay(250);
digitalWrite(LEDs[0],1);
delay(250);
}

// Turn on function
void TurnOn(){
  for (int j=0; j<8; j++){
  digitalWrite(LEDs[j],1);
  }
}

// Turn Off function
void TurnOff(){
  for (int j=0; j<8; j++){
  digitalWrite(LEDs[j],0);
  }
}
void OneByOne(){

      for( int k=0; k<8; k++){
        for(int j=0; j<8;j++){
          if(j==k)  digitalWrite(LEDs[j],1);
          else      digitalWrite(LEDs[j],0);
        }
        delay(250);
      }

}
// ------------------------------------------------------- S E T       U P -----------------------------------------------------------------------------------
void setup() {



for(int i=0; i<3;i++){
  pinMode(LEDs[i],OUTPUT);
}
for(int i=0; i<8; i++)
  {
  pinMode(LEDs[i],OUTPUT);
  }

}
//--------------------------------------------------------------- L O O P -----------------------------------------------------------------------------------
void loop() {

                         
                      for(int k=0; k<2; k++){
                      
                        TurnOn();
                          delay(500);
                        TurnOff();
                          delay(500);
                        }

                      for(int k=0; k<2; k++){
                      OneByOne();
                      }

                      for(int k=0; k<5; k++){
                      TurnOff();
                      Snake();
                      TurnOff();
                      SnakeInverse();
                     
                      } 
                                              
}

Thank you! And if you have some idea please let me know.

Check your pinMode assignment, looks not all pins are OUTPUTs

for(i=8;i<12;i++){
    pinMode(i,OUTPUT);
  }

should be

for(i=0;i<8;i++){
    pinMode(LEDs[i],OUTPUT);
  }

WOOOOOW! What a silly mistake! Thank you so much for your time. I was convinced that the arduino was short cuted..

Bless to PaulRB and CrossRoads <3

Now it works :slight_smile: