Sequencing 6 relays and an SSR

!!!edit: accidentally posted twice, the second posting has the edited photo with labels on it attached to the post!!!

hi guys,

searched for an hour or so and couldn’t find anything helpful threads so here goes, feel free to berate me if you think I should have been able to find a helpful thread. I have a setup that I’m using to sequence 6 high pressure solenoid valves, and a pressure washer. Here’s a link to the relay board I’m using they are controlling peter paul series 20 model H22 high pressure solenoid valves. And I’m using a Crydom HAC60D150 SSR to control a Northern Tools Northstar 2000psi 120V single phase powered pressure washer. I’m fairly certain its not the code, It works perfectly before I connect 120 volts to that side of the circuit, but i’ll include the code here.

  //constants dont change
  const int valveOPENtime = 1500;  //valve hold open time in milliseconds
  const int offdebouncedelay = 400;
  const int ondebouncedelay = 5000;
  const int presswashdelay = 2000;
  
  //output pins
  const int pressurewasher = 8;  //pressure washer is connected to pin 8
  
  //input pins
  const int Sbutton = 9;  //start sequence button is connected to pin 9
  const int Cbutton = 10;  //cancel button is connected to pin 10
  const int PWbutton = 11;  //pressure washer button is connected to pin 11

  //variables will/can change:
  int i = 2; //counter for loop
  int Sbuttonstate = LOW;  //variable for reading button state
  int PWbuttonstate = LOW; 
  unsigned long beginloop = 0;
  unsigned long PWdelay = 0;
  unsigned long debounce = 0;

void setup() {  

  // put your setup code here, to run once:
  pinMode(2,OUTPUT); //valve 1 is on pin 2
  pinMode(3,OUTPUT); //valve 2 is on pin 3
  pinMode(4,OUTPUT); //valve 3 is on pin 4
  pinMode(5,OUTPUT); //valve 4 is on pin 5
  pinMode(6,OUTPUT); //valve 5 is on pin 6
  pinMode(7,OUTPUT); //valve 6 is on pin 7
  pinMode(pressurewasher,OUTPUT);  //pressure washer is on pin 8

  //set input pins as input
  pinMode(Sbutton,INPUT);
  pinMode(Cbutton,INPUT);
  pinMode(PWbutton,INPUT);

  //begin the loop with all relays off (relays are reversed logic except pressurewasher
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  digitalWrite(4,HIGH);
  digitalWrite(5,HIGH);
  digitalWrite(6,HIGH);
  digitalWrite(7,HIGH);
  digitalWrite(pressurewasher,LOW);
  
}

void loop(){


//    turning on/off pressure washer with button    

    if(digitalRead(PWbutton) == HIGH && PWbuttonstate == HIGH && (millis() - debounce > ondebouncedelay)){
      digitalWrite(pressurewasher,LOW);
      PWbuttonstate = LOW;
      debounce = millis();
      PWdelay = millis();
    }
    else if (digitalRead(PWbutton) == HIGH && PWbuttonstate == LOW && (millis() - debounce > offdebouncedelay)){
      digitalWrite(pressurewasher,HIGH);
      PWbuttonstate = HIGH;
      debounce = millis();
      //PWdelay = millis();
    }
    

//   start button and cancel button operations    

    //read start button and change state of placeholder
    if (digitalRead(Sbutton) == HIGH){
        Sbuttonstate = HIGH;
         
        //while loop for HIGH start button state
        while(Sbuttonstate == HIGH){          

              //turn on pressure washer if not already on
              if(digitalRead(pressurewasher) == LOW){  
                  digitalWrite(pressurewasher,HIGH);
                  PWbuttonstate = HIGH;
                  PWdelay = millis();                           
              }

              //check for proper pressure washer delay then begin opening valves in sequence
              if(millis() - PWdelay > presswashdelay){
                  beginloop = millis();    
                  while(i<=7){    
                  digitalWrite(i,LOW);    
                
                      if(millis() - beginloop > valveOPENtime){
                          
                          digitalWrite(i,HIGH);
                          delay(1000);
                          i++;
                          beginloop = millis();
                      }          
                      if(digitalRead(Cbutton) == HIGH){
                          digitalWrite(i,HIGH);
                          i = 2;
                          Sbuttonstate = LOW;
                          break;
                      }              
                  }  //end of while loop
            
                Sbuttonstate = LOW;
            
              }
        i=2;
        
        }
    }      
          
    }  // end of void loop()

I’m not using the arduino Uno board, I have the ATmega328 chip mounted on a breadboard and am powering through a 5V breadboard mounted power supply you can see in the attached picture. the terminal blocks in the picture are connected directly to a 120V wall outlet, as you can see from the attached picture I tapped power from those terminal blocks for all of the relays including the SSR.
The issue I’m having with it is that the valves don’t sequence all the way through, half of the time it seems the code stops running and it is stuck with the third valve open, occasionally it will cycle all the way through to the 5th valve. also the solid state relay does not turn on the pressure washer. I have everything temporarily mounted on a piece of plywood to keep it from shorting out while i’m testing it.
I thought that maybe a delay between turning off one valve and turning on the next would alleviate the valves not cycling (that’s why the delay function is in the code) but that had really no effect at all. any thoughts guys and gals?