Code not working- No Errors

The code made the 4 LED Chaser go from the desired 1, 2, 3, 4, 1, 2, 3, 4 to 1, 2, 3, 4, 4, 3, 2, 1. I am assuming that you programmed the code to due this and it was more of a problem of articulation on my part. However, I spliced in the old code and everything is working as intended- sorry to come off as crass when you've essentially done my project for me. Just didn't feel the need to overly address a "problem" I already fixed.

“sorry to come off as crass” - No worries, you are not coming off as crass.

I now see that you wanted the 4 LEDs to go 1,2,3,4,1,2,3,4
but you wanted the bargraph to 1,2,3,4,5,6,7,8,7,6,5,4,3,2,1

If you got it to work, then all is good. Glad it works

I looked back the the code I stated was the final (now removed) was a copy/paste error; not even close to the final solution. Here is the code I am using, still not sure how to adjust the speed of Chaser 2 since it doesn’t have the defined times like chaser one.

void setup() {
  //4 LED chaser
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  //Bargraph chaser
  pinMode(22, OUTPUT); //always ON
    digitalWrite(22, LOW);
  pinMode(24, OUTPUT); //always ON
    digitalWrite(24, LOW);
  pinMode(26, OUTPUT);
  pinMode(28, OUTPUT);
  pinMode(30, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(34, OUTPUT);
  pinMode(36, OUTPUT);
  pinMode(38, OUTPUT);
  pinMode(40, OUTPUT);
  //Relay switch
  pinMode(A8, OUTPUT); //always ON
    digitalWrite(A8, LOW);
  //blinking light
  pinMode(A5, OUTPUT);
  //lights
  pinMode(31, OUTPUT); //always ON
    digitalWrite(31, LOW);
}

const unsigned long delayTime = 750;
const unsigned long blinkTime = 1000;

const unsigned long lowTime = 750;
const unsigned long highTime = 500;




unsigned long lastActionTime = 0;
unsigned long lastBlinkTime = 0;
signed char chaser1CurrentLED = 0; //LEDs
signed char chaser2CurrentLED = 0; //bargraph
unsigned long chaseTime;
byte chaseLed;

#define DOWN -1
#define UP 1
signed char direction1 = UP;
signed char direction2 = UP;

void loop() {
  unsigned long currentTime = millis();
  unsigned long topLoop = millis();

  //chaser LEDs
  if(currentTime - lastActionTime >= delayTime) {
    lastActionTime = currentTime;                //update timing

    //normal conditions
  
  if (chaseLed & 1) {
    if (topLoop  - chaseTime >= highTime)  {
      digitalWrite(A0 + (chaseLed >> 1), HIGH);
      if (++chaseLed > 7) {
        chaseLed = 0;
      }
      chaseTime = topLoop;
    }
  } else if (topLoop - chaseTime >= lowTime) {
    digitalWrite(A0 + (chaseLed >> 1), LOW);
    if (++chaseLed > 7) {
      chaseLed = 0;
    }
    
    //chaser 2
    if(direction2 == UP) {                       //direction is UP
      digitalWrite(26 + chaser2CurrentLED, LOW);//set led on
    }
    else {                                       //direction is DOWN
      digitalWrite(26 + chaser2CurrentLED, HIGH); //set led off
    }

    //update LEDs
    chaser1CurrentLED += direction1;             //move on to the next LED
    chaser2CurrentLED += direction2 << 1;        //move on to the next LED (increment by 2s)

    //end conditions

    //chaser 2
    if(direction2 == UP) {                       //direction is UP
      if(chaser2CurrentLED >= 15) {               //limit 0-7, after << 1 then 0-14, 26+14=40
        direction2 = DOWN;                       //reverse direction
        chaser2CurrentLED = 14;                   //move back into range
      }
    }
    else if(direction2 == DOWN) {                //direction is DOWN
      if(chaser2CurrentLED < 0) {                //limit 0-7, after << 1 then 0-14, 26+14=40
        direction2 = UP;                         //reverse direction
        chaser2CurrentLED = 0;                   //move back into range
      }
    }
  }

  //blinking LED
  if(currentTime - lastBlinkTime >= blinkTime) {
    lastBlinkTime = currentTime;
    digitalWrite(A5, !digitalRead(A5));          //invert state
  }
  }
}

They do have defined times, highTime and lowTime, the period is highTime + lowTime, so if you want it to go 2x as fast, but want to keep the same ratio of on-time to off-time, then simply divide both those numbers by 2.

Although your edit does have some problems in it, mainly that chaser1’s timing is dependent on chaser2’s timing, give me some time

There you go,
Just change these to make it faster/slower

const unsigned long chaser1HighTime = 250;
const unsigned long chaser1LowTime = 500;

Here is the updated, working code

void setup() {
  //4 LED chaser
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  //Bargraph chaser
  pinMode(22, OUTPUT); //always ON
    digitalWrite(22, HIGH);
  pinMode(24, OUTPUT); //always ON
    digitalWrite(24, HIGH);
  pinMode(26, OUTPUT);
  pinMode(28, OUTPUT);
  pinMode(30, OUTPUT);
  pinMode(32, OUTPUT);
  pinMode(34, OUTPUT);
  pinMode(36, OUTPUT);
  pinMode(38, OUTPUT);
  pinMode(40, OUTPUT);
  //Relay switch
  pinMode(A8, OUTPUT); //always ON
    digitalWrite(A8, HIGH);
  //blinking light
  pinMode(A5, OUTPUT);
  //lights
  pinMode(31, OUTPUT); //always ON
    digitalWrite(31, HIGH);
}

const unsigned long chaser1HighTime = 250;
const unsigned long chaser1LowTime = 500;
const unsigned long chaser2DelayTime = 750;
const unsigned long blinkTime = 1000;

unsigned long chaser1LastOnTime = 0;
unsigned long chaser1LastOffTime = 0;
unsigned long chaser2LastActionTime = 0;
unsigned long lastBlinkTime = 0;
signed char chaser1CurrentState = 0; //LEDs
signed char chaser2CurrentLED = 0;   //bargraph

#define DOWN -1
#define UP 1
signed char chaser2Direction = UP;

void loop() {
  unsigned long currentTime = millis();

  //chaser 1 LEDs
  if(chaser1CurrentState & 1) { //leds are currently on, we are waiting to turn them off
    if(currentTime - chaser1LastOnTime >= chaser1HighTime) {
      chaser1LastOffTime = currentTime;                   //update timing, we update off time here because this is when we turn off the LED
      chaser1CurrentState = (chaser1CurrentState + 1) % 8;//update LEDs and limit 0-7
      digitalWrite(A0 + (chaser1CurrentState >> 1), LOW); //turn led off
    }
  }
  else { //leds are currently off, we are waiting to turn them on
    if(currentTime - chaser1LastOffTime >= chaser1LowTime) {
      chaser1LastOnTime = currentTime;                    //update timing, we update off time here because this is when we turn on the LED
      chaser1CurrentState = (chaser1CurrentState + 1) % 8;//update LEDs and limit 0-7
      digitalWrite(A0 + (chaser1CurrentState >> 1), HIGH);//turn led on
    }
  }
  
  //chaser 2 LEDs
  if(currentTime - chaser2LastActionTime >= chaser2DelayTime) {
    chaser2LastActionTime = currentTime;         //update timing

    //normal conditions
    if(chaser2Direction == UP) {                 //direction is UP
      digitalWrite(26 + chaser2CurrentLED, HIGH);//set led on
    }
    else {                                       //direction is DOWN
      digitalWrite(26 + chaser2CurrentLED, LOW); //set led off
    }

    //update LEDs
    chaser2CurrentLED += chaser2Direction << 1;  //move on to the next LED (increment by 2s)

    //end conditions
    if(chaser2Direction == UP) {                 //direction is UP
      if(chaser2CurrentLED >= 15) {              //limit 0-7, after << 1 then 0-14, 26+14=40
        chaser2Direction = DOWN;                 //reverse direction
        chaser2CurrentLED = 14;                  //move back into range
      }
    }
    else if(chaser2Direction == DOWN) {          //direction is DOWN
      if(chaser2CurrentLED < 0) {                //limit 0-7, after << 1 then 0-14, 26+14=40
        chaser2Direction = UP;                   //reverse direction
        chaser2CurrentLED = 0;                   //move back into range
      }
    }
  }

  //blinking LED
  if(currentTime - lastBlinkTime >= blinkTime) {
    lastBlinkTime = currentTime;
    digitalWrite(A5, !digitalRead(A5));          //invert state
  }
}

The title of this thread made me think of Jack Nicholson's comment: "My mom never saw the irony in calling me a son of a bitch."

:) Kinda funny...there are errors, just not compiler errors

Ps991: :) Kinda funny...there are errors, just not compiler errors

That's what I was going for.

Sorry it took so long to post but I got slammed at work. I was about to post that it made the Bar Graph act wonky but then I realized I just needed to switch the HIGH's and LOW's. Thanks for the help, if I wanted to expand the bar graph to a few more LEDs what would I need to edit?

      if(chaser2CurrentLED >= 15) {              //limit 0-7, after << 1 then 0-14, 26+14=40
        chaser2Direction = DOWN;                 //reverse direction
        chaser2CurrentLED = 14;                  //move back into range

Change the 15 to ((<NUM_LEDS> * 2) - 1) and change the 14 to 1 less than that

Also make sure you use pins 42,44,46,… otherwise you need an array to map which pins. Easy enough to fix if needed.