How Do I Make This More Concise?

I am a massive noob and I did an LED lightshow for a school project. I was wondering if there was a way to make it more concise because the endless high, low, high, low gets boring after a while. I did not make the randomizer at the bottom, I collaborated with my teacher on that.

// Starter Code
// 
void setup()
{
  pinMode(2, OUTPUT); //LED 1 is at pin 2
  pinMode(3, OUTPUT); //LED 2 is at pin 3
  pinMode(4, OUTPUT); //LED 1 is at pin 2
  pinMode(5, OUTPUT); //LED 2 is at pin 3
  pinMode(6, OUTPUT); //LED 1 is at pin 2
  pinMode(7, OUTPUT); //LED 2 is at pin 3
  pinMode(8, OUTPUT); //LED 1 is at pin 2
  pinMode(9, OUTPUT); //LED 2 is at pin 3
  pinMode(10, OUTPUT); //LED 1 is at pin 2
  pinMode(11, OUTPUT); //LED 2 is at pin 3
  
  
 
}


//How you want the lights to flash goes here
void loop()
{//start flash
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);

   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(450);
  //End Flash
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  //slow light up
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW); 
   delay(250);

   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  //end slow light up
  
  //seemingly random turn off
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  //end random turn off
  
  //TRANSITION
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(500);
  //start in from outside.
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(200);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(200);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(200);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(200);
  //end in from outside
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(310);
  //start end from outside
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(300);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(300);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(300);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(300);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(300);
  //end in from outside
  
   //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  //start alternater
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(250);
  //end alternater
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  
  //start travelling light
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(250);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH); 
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(250);
  //end traveling light
  
   //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  //start 2 at once
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(450);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  //end 2 at once
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  //start 3 at once
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  //end 3 at once
  
  //start out from middle
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(450);
  
   digitalWrite(2, HIGH); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, HIGH);
   digitalWrite(11, HIGH);
   delay(450);
  //end out from middle
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  
 //start traveling light
   digitalWrite(2, HIGH); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, HIGH);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, HIGH); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, HIGH);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
    digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, HIGH); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, HIGH);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, HIGH); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, HIGH);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, HIGH);
   digitalWrite(11, LOW);
   delay(350);
  
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, HIGH);
   delay(350);
  //end traveling light
  
  //TRANSITION
   digitalWrite(2, LOW); 
   digitalWrite(3, LOW);  
   digitalWrite(4, LOW); 
   digitalWrite(5, LOW);  
   digitalWrite(6, LOW); 
   digitalWrite(7, LOW);  
   digitalWrite(8, LOW); 
   digitalWrite(9, LOW);  
   digitalWrite(10, LOW);
   digitalWrite(11, LOW);
   delay(500);
  //start randomizer
   for(int i=0; i<10; i++){
   int a = random(2,13);
   int h = random(0,2);
   digitalWrite(a, h);
     delay(250);}
  
   for(int i=0; i<10; i++){
   int a = random(2,13);
   int h = random(0,2);
   digitalWrite(a, h);
     delay(250);}
  
   for(int i=0; i<10; i++){
   int a = random(2,13);
   int h = random(0,2);
   digitalWrite(a, h);
     delay(250);}
  //end ramdomizer
  //END LIGHTSHOW
   
     
   }

Pack each pattern into a single "int".
Use bitRead if your bit-twiddling skills aren't up to scratch

  pinMode(2, OUTPUT); //LED 1 is at pin 2

Maybe get your teacher to explain why this sort of thing is a bad idea.

1 Like

if you don't mind the German comments, I can offer an old example from 2017:

// http://forum.arduino.cc/index.php?topic=518131.0
// Variante 3: Definition eines Musters das abgearbeitet wird:

#define DEBUG_UART 1                   // Debugausgaben auf Serieller Schnittstelle falls man keine 10 LEDs hat: 0 nein / 1 ja 

//       a987654321              // das Muster, einfach als Bitfolge dann kann man es einfach in der IDE "hinmalen"
const uint16_t     pattern[] = {0b0000000000000001,     
                                0b0000000000000010,
                                0b0000000000000100,
                                0b0000000000001000,
                                0b0000000000010000,
                                0b0000000000100000,
                                0b0000000001000000,
                                0b0000000010000000,
                                0b0000000100000000,
                                0b0000001000000000,
                                0b0000000100000000,
                                0b0000000010000000,
                                0b0000000001000000,
                                0b0000000000100000,
                                0b0000000000010000,
                                0b0000000000001000,
                                0b0000000000000100,
                                0b0000000000000010,
                                0b0000000000000001,             // 19 pattern haben wir jetzt
                                0b0000000000000001,             // ex hinundher() Durchgang 2
                                0b0000000000000010,
                                0b0000000000000100,
                                0b0000000000001000,
                                0b0000000000010000,
                                0b0000000000100000,
                                0b0000000001000000,
                                0b0000000010000000,
                                0b0000000100000000,
                                0b0000001000000000,
                                0b0000000100000000,
                                0b0000000010000000,
                                0b0000000001000000,
                                0b0000000000100000,
                                0b0000000000010000,
                                0b0000000000001000,
                                0b0000000000000100,
                                0b0000000000000010,
                                0b0000000000000001,         // 38 pattern haben wir jetzt
                                0b0000000000110000,         // ex ausbreiten()
                                0b0000000001001000,
                                0b0000000010000100,
                                0b0000000100000010,
                                0b0000001000000001,
                                0b0000000100000010,
                                0b0000000010000100,
                                0b0000000001001000,
                                0b0000000000110000,
                                0b0000000000110000,         // ex ausbreiten() - 2
                                0b0000000001001000,
                                0b0000000010000100,
                                0b0000000100000010,
                                0b0000001000000001,
                                0b0000000100000010,
                                0b0000000010000100,
                                0b0000000001001000,
                                0b0000000000110000
                               };

const size_t totalNoPattern = sizeof(pattern) / sizeof(pattern[0]);   // Ermittlung wie viele Pattern definiert wurden
uint8_t  actualPattern = 0;            // welches Muster soll aktuell ausgegeben werden
uint32_t lastMillis = 0;               // wann wurde das letzte mal ein Update der LEDs gemacht
const uint8_t myIntervall = 200;       // Achtung falls mehr als 255ms gewünscht umstellen auf ein uint16_t
const byte firstPin = 2;               // 0 and 1 are reserved for serial, so first usable pin is 2
const byte usedPins = 10;              // how many pins are used as output

void setup() {
#if DEBUG_UART
  Serial.begin(115200);
#endif
  for (uint8_t i = 0; i < usedPins; i++) {
    pinMode(i + firstPin, OUTPUT);
  }
}

void loop() {
  if (millis() - lastMillis >= myIntervall)
  {
    actualPattern++;
    if (actualPattern >= totalNoPattern) actualPattern = 0;
    for (uint8_t i = 0; i < usedPins; i++)                       
    {
      if (pattern[actualPattern] & (1 << i)) {
#if DEBUG_UART
        Serial.print(F("X"));
#endif
        digitalWrite(i + firstPin, HIGH);
      }
      else {
#if DEBUG_UART
        Serial.print(F(" "));
#endif
        digitalWrite(i + firstPin, LOW);
      }
    }
#if DEBUG_UART
    Serial.print(F(" - "));
    Serial.println(actualPattern);
#endif
    lastMillis = millis();
  }
  // do what ever you want unblocked here
}

#define CLR(x,y) (x&=(~(1<<y)))
#define SET(x,y) (x|=(1<<y))
#define SetPinAsHigh(b) ( (b)<8 ? PORTD |=(1<<(b)) : PORTB |=(1<<(b-8)) )
#define SetPinAsLow(b) ( (b)<8 ? PORTD &=~(1<<(b)) : PORTB &=~(1<<(b-8)) )
#define readOutput(b) ( (b)<8 ? (PORTD &(1<<(b))) : (PORTB &(1<<(b-8))) )
#define readInput(b) ( (b)<8 ? (PIND &(1<<(b))): (PINB &(1<<(b-8))) )

 void setup(){
   DDRD |= B11111100;
   DDRB |= B00001111;
}
void loop(){
//start flash
  PORTD &=~(B11111100);
  PORTB &=~(B00001111);
  delay(450);
  PORTD |=B11111100;
  PORTB |=B00001111;
  delay(450);
//Flashing - copy/paste if needed or make FOR cycle

 //TRANSITION
SetPinAsHigh(2);
delay(500);
SetPinAsHigh(3);
...........

//seemingly random turn off
  SetPinAsLow(3);
  delay(250);
  SetPinAsLow(8);
  delay(250);
  SetPinAsLow(6);
.........

// and so on
}

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.