[SOLVED] $20.00 - Simple(I assume) blinking Leds project

Hello, Im modifying my kid's Proton pack for Halloween and decided use the Arduino that I got inside a box for ages, Im not a programmer or programmed anything in my life. Using examples I came up with a code, I just want to 7 leds to blink in sequence and 4 leds to blink randomly. I have to separated codes that work by itself, but I realized that if I put then together they will fail. Probably is very simple, but I tried a few things and I get errors compiling. Thank you.

Sequence of blinking lights

int LED1 = 2;
int LED2 = 3;
int LED3 = 4;
int LED4 = 5;
int LED5 = 6;
int LED6 = 7;
int LED7 = 8;




void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
  pinMode(LED3, OUTPUT);
  pinMode(LED4, OUTPUT);
  pinMode(LED5, OUTPUT);
  pinMode(LED6, OUTPUT);
  pinMode(LED7, OUTPUT);


}


void loop() {
  digitalWrite(LED1, HIGH);    // turn on LED1
  delay(100);                  // wait for 200ms
  digitalWrite(LED2, HIGH);    // turn on LED2
  delay(100);                  // wait for 200ms
  digitalWrite(LED3, HIGH);    // turn on LED3
  delay(100);                  // wait for 200ms
  digitalWrite(LED4, HIGH);    // turn on LED1
  delay(100);                  // wait for 200ms
  digitalWrite(LED5, HIGH);    // turn on LED2
  delay(100);                  // wait for 200ms
  digitalWrite(LED6, HIGH);    // turn on LED3
  delay(100);                  // wait for 200ms
  digitalWrite(LED7, HIGH);    // turn on LED1
  delay(100);                  // wait for 200ms




  digitalWrite(LED1, LOW);     // turn off LED1
  delay(100);                  // wait for 300ms
  digitalWrite(LED2, LOW);     // turn off LED2
  delay(100);                  // wait for 300ms
  digitalWrite(LED3, LOW);     // turn off LED3
  delay(100);                  // wait for 300ms before running program all over again
  digitalWrite(LED4, LOW);     // turn off LED1
  delay(100);                  // wait for 300ms
  digitalWrite(LED5, LOW);     // turn off LED2
  delay(100);                  // wait for 300ms
  digitalWrite(LED6, LOW);     // turn off LED3
  delay(100);                  // wait for 300ms before running program all over again
  digitalWrite(LED7, LOW);     // turn off LED1
  delay(100);                  // wait for 300ms

}

Random 4 leds blinking

#define numberOfLEDs 4
long nextFlash[4];
int ledPin[] = { 9, 10, 11, 12}; // LED pins to use.
int ledState[4];

void setup(){
for(int i = 0; i<numberOfLEDs; i++){
  pinMode(ledPin[i],OUTPUT);
  ledState[i] = LOW;
  digitalWrite(ledPin[i], LOW); // all LEDs off
    nextFlash[i] = millis() +random(100, 1000);
} 
}

void loop(){
for(int i = 0; i<numberOfLEDs; i++){
if(millis() > nextFlash[i]){
 if(ledState[i] == LOW) ledState[i] = HIGH; else ledState[i] = LOW;
 digitalWrite(ledPin[i],ledState[i]);
 nextFlash[i] = millis()+random(100, 1000) ; // next toggle random time
} }
}

Do you want the 7 LEDs to sequence and then the 4 to blink or do you want the 4 blinking at the same time as the 7 are sequencing?

DKWatson:
Do you want the 7 LEDs to sequence and then the 4 to blink or do you want the 4 blinking at the same time as the 7 are sequencing?

Inputs 2 to 8 sequencing

Inputs 9 to 12 randomly blinking

All the same time

Have this one on me but please learn from it

const byte sequenceLedPins[] = {3, 5, 6};
const byte flashingLedPins[] = {9};
const byte SEQUENCE_LED_COUNT = sizeof(sequenceLedPins);
const byte FLASHING_LED_COUNT = sizeof(flashingLedPins);
unsigned long sequencePeriod = 700;
unsigned long flashingPeriod = 300;
unsigned long currentTime;
unsigned long flashStartTime;
unsigned long sequenceStartTime;
byte currentSequenceLed = 0;

void setup()
{
  Serial.begin(115200);
  for (int led = 0; led < FLASHING_LED_COUNT; led++)
  {
    pinMode(flashingLedPins[led], OUTPUT);
  }
  for (int led = 0; led < SEQUENCE_LED_COUNT; led++)
  {
    pinMode(sequenceLedPins[led], OUTPUT);
  }
  Serial.println();
}

void loop()
{
  currentTime = millis();
  flashLeds();
  sequenceLeds();
}

void flashLeds()
{
  if (currentTime - flashStartTime >= flashingPeriod)
  {
    for (int led = 0; led < FLASHING_LED_COUNT; led++)
    {
      digitalWrite(flashingLedPins[led], !digitalRead(flashingLedPins[led]));
    }
    flashStartTime = currentTime;
  }
}

void sequenceLeds()
{
  if (currentTime - sequenceStartTime >= sequencePeriod)
  {
    Serial.println(currentSequenceLed % SEQUENCE_LED_COUNT);
    digitalWrite(sequenceLedPins[currentSequenceLed % SEQUENCE_LED_COUNT], HIGH);
    currentSequenceLed++;
    digitalWrite(sequenceLedPins[currentSequenceLed % SEQUENCE_LED_COUNT], LOW);
    sequenceStartTime = currentTime;
  }
}

Put your actual LED pin numbers in the 2 arrays. You may need/want to exchange the on/off logic levels in the sequence function depending on your wiring and requirements.