Led lighting function

hey, so i'm creating a code that controls a row of leds both by the use of a timer and potentiometer. idea is that when the potentiometer moves a certain amount, it will light up specific leds to a certain brightness, else if it has not moved for a set amount of time, the leds will follow a wave pattern. the main issue that I am facing is that there is no delay between the potentiometer reading and the wave behavior ( I am not trying to use delay() command ), i have tried getting my input_timer to restart both by setting to zero or reapply millis() to it but they only appear to work as the potentiometer moves and returns to wave patterning immediately. what would be a feasible way of resetting that timer? I am attaching a copy of my code below:

// locations of pins
int pot = A0;             // setting potentiometer to A0
int led1 = 2;             // setting led1 to 2
int led2 = 3;             // setting led2 to 3
int led3 = 4;             // setting led3 to 4
int led4 = 5;             // setting led4 to 5
int led5 = 6;             // setting led5 to 6
int led6 = 7;             // setting led6 to 7
int led7 = 8;             // setting led7 to 8
int led8 = 9;             // setting led8 to 9

// potentiometer values
int pot_0 = 0;            // minimum potentiometer values
int pot_1 = 1023;         // maximum potentiometer values

// brightness values
int brightness_0 = 0;     //minimum brightness value
int brightness_1 = 256;  //maximum brightness value

unsigned long previous_timer = millis();    // store last time timer was updated
unsigned long delay_duration = 500;         // delay before wave behavior
void setup() {
// start serial comms
Serial.begin(9600);

// applying input to potentiometer
pinMode(pot, INPUT);
// applying output to the LED's
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);



}

void loop() {
  
//take initial and secondary potentiometer readings 
float initial_pot_reading = analogRead(pot);  //              //initial potentiometer reading 
delay(100) ;                                                  // delay for secondary potentiometer reading
float secondary_pot_reading = analogRead(pot);                // secondary potentiometer reading



// take the difference in potentiometer readings 
float reading_difference = abs( initial_pot_reading - secondary_pot_reading ) ; // applying variable to reading differences 

//set way to to get timer to stop once reading difference has passed certain limits and apply led changing portion, else to follow the timed pattern portion

// start timer to decide action
volatile unsigned long input_timer = millis() ;  

//if potentiometer reading has not changed limits, apply timed pattern

if ( (reading_difference <10 && input_timer > delay_duration )){
  
  // creating total time variable
  unsigned long total_wave_time = 5000;             // applying total time to total_wave_time variable

  // creating pattern timing variable
  unsigned long led_wave_timer = millis() % (total_wave_time); // variable to keep track of timing





  // creating time step
  float dt = total_wave_time / 13 ;     //[ms] chosen timestep

  //creating timing variables
  float t1 = 0;       //start timer of pattern and start lighting led 1 to led 2
  float t2 = dt;      // start lighting led 2 to led 3
  float t3 = 2*dt;    // start lighting led 3 to led 4
  float t4 = 3*dt;    // start lighting led 4 to led 5
  float t5 = 4*dt;    // start lighting led 5 to led 6
  float t6 = 5*dt;    // start lighting led 6 to led 7
  float t7 = 6*dt;    // start lighting led 7 to led 8
  float t8 = 7*dt;    // start lighting led 8 to led 7
  float t9 = 8*dt;    // start lighting led 7 to led 6
  float t10 = 9*dt;   // start lighting led 6 to led 5
  float t11 = 10*dt;  // start lighting led 5 to led 4
  float t12 = 11*dt;  // start lighting led 4 to led 3
  float t13 = 12*dt;  // start lighting led 3 to led 2
  float t14 = 13*dt;  // start lighting led 2 to led 1




//creating time dependent behavior 

// for t1 < timer < t2 , led 1 and led 2 will be lit
  if (led_wave_timer <= t2){                                       // for t1 < t < t2
    float timed_dimming_brightness = 256 - 256/dt * led_wave_timer ;    //  brightness factor for led 1 
    float timed_lifting_brightness = 256/dt * led_wave_timer;         //  brightness factor for led 2

    //applying brightness to leds
    analogWrite(led1, timed_dimming_brightness);                    // applying output to led 1
    analogWrite(led2, timed_lifting_brightness);                    // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // graphing variable
    Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t2 < timer < t3, led 2 and led 3 will be lit
} else if (led_wave_timer > t2 && led_wave_timer <= t3){                   // for t2 < t < t3
    float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t2);   // brightness factor for led 2
    float timed_lifting_brightness = 256/dt * (led_wave_timer - t2);        // brightness factor for led 3

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    analogWrite(led2, timed_dimming_brightness);                    // applying output to led 2
    analogWrite(led3, timed_lifting_brightness);                    // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8
  
    // graphing variable
    Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t3 < timer < t4, led 3 and led 4 will be lit
} else if (led_wave_timer > t3 && led_wave_timer <= t4){                  // for t3 < t < t4
   float timed_dimming_brightness = 256 - 256/dt * led_wave_timer - t3;   // brightness factor for led 3
   float timed_lifting_brightness = 256/dt * (led_wave_timer - t3);        // brightness factor for led 4
  
    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    analogWrite(led3, timed_dimming_brightness);                    // applying output to led 3
    analogWrite(led4, timed_lifting_brightness);                    // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8
    
    // graphing variable
    Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t4 < timer < t5, led 4 and led 5 will be lit
} else if (led_wave_timer > t4 && led_wave_timer <= t5){                  // for t4 < t < t5 
    float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t4);   // brightness factor for led 4
    float timed_lifting_brightness = 256/dt * (led_wave_timer - t4);        // brightness factor for led 5

  // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    analogWrite(led4, timed_dimming_brightness);                    // applying output to led 4
    analogWrite(led5, timed_lifting_brightness);                    // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8 

    // graphing variable
    Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t5 < timer < t6, led 5 and led 6 will be lit
} else if (led_wave_timer > t5 && led_wave_timer <= t6){
   float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t5);   // brightness factor for led 5
   float timed_lifting_brightness = 256/dt * (led_wave_timer - t5);        // brightness factor for led 6
  
  // applying brightness to leds
   digitalWrite(led1, LOW);                                  // applying output to led 1
   digitalWrite(led2, LOW);                                  // applying output to led 2
   digitalWrite(led3, LOW);                                  // applying output to led 3
   digitalWrite(led4, LOW);                                  // applying output to led 4
   analogWrite(led5, timed_dimming_brightness);                    // applying output to led 5
   analogWrite(led6, timed_lifting_brightness);                    // applying output to led 6
   digitalWrite(led7, LOW);                                  // applying output to led 7
   digitalWrite(led8, LOW);                                  // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t6 < timer < t7, led 6 and led 7 will be lit
} else if (led_wave_timer > t6 && led_wave_timer <= t7){
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t6);   // brightness factor for led 6
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t6);        // brightness factor for led 7

  // applying brightness to leds
   digitalWrite(led1, LOW);                                  // applying output to led 1
   digitalWrite(led2, LOW);                                  // applying output to led 2
   digitalWrite(led3, LOW);                                  // applying output to led 3
   digitalWrite(led4, LOW);                                  // applying output to led 4
   digitalWrite(led5, LOW);                                  // applying output to led 5
   analogWrite(led6, timed_dimming_brightness);                    // applying output to led 6
   analogWrite(led7, timed_lifting_brightness);                    // applying output to led 7
   digitalWrite(led8, LOW);                                  // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t7 < timer < t8, led 7 and led 8 will be lit
} else if (led_wave_timer > t7 && led_wave_timer <= t8){
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t7);   // brightness factor for led 7
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t7);        // brightness factor for led 8

  // applying brightness to leds
   digitalWrite(led1, LOW);                                  // applying output to led 1
   digitalWrite(led2, LOW);                                  // applying output to led 2
   digitalWrite(led3, LOW);                                  // applying output to led 3
   digitalWrite(led4, LOW);                                  // applying output to led 4
   digitalWrite(led5, LOW);                                  // applying output to led 5
   digitalWrite(led6, LOW);                                  // applying output to led 6
   analogWrite(led7, timed_dimming_brightness);                    // applying output to led 7
   analogWrite(led8, timed_lifting_brightness);                    // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t8 < timer < t9, led 8 and led 7 will be lit
} else if (led_wave_timer > t8 && led_wave_timer <= t9) {
   float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t8);   // brightness factor for led 8
   float timed_lifting_brightness = 256/dt * (led_wave_timer - t8);        // brightness factor for led 7

  // applying brightness to leds
   digitalWrite(led1, LOW);                                  // applying output to led 1
   digitalWrite(led2, LOW);                                  // applying output to led 2
   digitalWrite(led3, LOW);                                  // applying output to led 3
   digitalWrite(led4, LOW);                                  // applying output to led 4
   digitalWrite(led5, LOW);                                  // applying output to led 5
   digitalWrite(led6, LOW);                                  // applying output to led 6
   analogWrite(led7, timed_lifting_brightness);                    // applying output to led 7
   analogWrite(led8, timed_dimming_brightness);                    // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t9 < timer < t10, led 7 and led 6 will be lit
} else if (led_wave_timer > t9 && led_wave_timer <= t10) {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t9);   // brightness factor for led 7
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t9);        // brightness factor for led 6

  // applying brightness to leds
  digitalWrite(led1, LOW);                                  // applying output to led 1
  digitalWrite(led2, LOW);                                  // applying output to led 2
  digitalWrite(led3, LOW);                                  // applying output to led 3
  digitalWrite(led4, LOW);                                  // applying output to led 4
  digitalWrite(led5, LOW);                                  // applying output to led 5
  analogWrite(led6, timed_lifting_brightness);                    // applying output to led 6
  analogWrite(led7, timed_dimming_brightness);                    // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t10 < timer < t11, led 6 and led 5 will be lit
} else if (led_wave_timer > t10 && led_wave_timer <= t11) {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t10);   // brightness factor for led 6
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t10);        // brightness factor for led 5

  // applying brightness to leds
  digitalWrite(led1, LOW);                                  // applying output to led 1
  digitalWrite(led2, LOW);                                  // applying output to led 2
  digitalWrite(led3, LOW);                                  // applying output to led 3
  digitalWrite(led4, LOW);                                  // applying output to led 4
  analogWrite(led5, timed_lifting_brightness);                    // applying output to led 5
  analogWrite(led6, timed_dimming_brightness);                    // applying output to led 6
  digitalWrite(led7, LOW);                                  // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 

  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t11 < timer < t12, led 5 and led 4 will be lit
} else if (led_wave_timer > t11 && led_wave_timer <= t12) {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t11);   // brightness factor for led 5
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t11);        // brightness factor for led 4

  // applying brightness to leds
  digitalWrite(led1, LOW);                                  // applying output to led 1
  digitalWrite(led2, LOW);                                  // applying output to led 2
  digitalWrite(led3, LOW);                                  // applying output to led 3
  analogWrite(led4, timed_lifting_brightness);                    // applying output to led 4
  analogWrite(led5, timed_dimming_brightness);                    // applying output to led 5
  digitalWrite(led6, LOW);                                  // applying output to led 6
  digitalWrite(led7, LOW);                                  // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 

  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t12 < t < t13, led 4 and led  3 will be lit
} else if (led_wave_timer > t11 && led_wave_timer <= t12) {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t12);   // brightness factor for led 4
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t12);        // brightness factor for led 3

  // applying brightness to leds
  digitalWrite(led1, LOW);                                  // applying output to led 1
  digitalWrite(led2, LOW);                                  // applying output to led 2
  analogWrite(led3, timed_lifting_brightness);                    // applying output to led 3
  analogWrite(led4, timed_dimming_brightness);                    // applying output to led 4
  digitalWrite(led5, LOW);                                  // applying output to led 5
  digitalWrite(led6, LOW);                                  // applying output to led 6
  digitalWrite(led7, LOW);                                  // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 

  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t12 < t < t13, led 3 and led  2 will be lit
} else if (led_wave_timer > t12 && led_wave_timer <= t13) {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t13);   // brightness factor for led 3
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t13);        // brightness factor for led 2

  // applying brightness to leds
  digitalWrite(led1, LOW);                                  // applying output to led 1
  analogWrite(led2, timed_lifting_brightness);                    // applying output to led 2
  analogWrite(led3, timed_dimming_brightness);                    // applying output to led 3
  digitalWrite(led4, LOW);                                  // applying output to led 4
  digitalWrite(led5, LOW);                                  // applying output to led 5
  digitalWrite(led6, LOW);                                  // applying output to led 6
  digitalWrite(led7, LOW);                                  // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 

  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase

// for t13 < t < t14, led 2 and led 1 will be lit
} else {
  float timed_dimming_brightness = 256 - 256/dt * (led_wave_timer - t14);   // brightness factor for led 3
  float timed_lifting_brightness = 256/dt * (led_wave_timer - t14);        // brightness factor for led 2

  // applying brightness to leds
  analogWrite(led1, timed_lifting_brightness);              // applying output to led 1
  analogWrite(led2, timed_dimming_brightness);              // applying output to led 2
  digitalWrite(led3, LOW);                                  // applying output to led 3
  digitalWrite(led4, LOW);                                  // applying output to led 4
  digitalWrite(led5, LOW);                                  // applying output to led 5
  digitalWrite(led6, LOW);                                  // applying output to led 6
  digitalWrite(led7, LOW);                                  // applying output to led 7
  digitalWrite(led8, LOW);                                  // applying output to led 8 
  
  // graphing variable
   Serial.println(led_wave_timer);                     // input the variable for graphing during current phase
}
}


//if pot has moved enough in last 500 ms, it will control led location

else {

// creating potentiometer step value
float pot_step = 146;
//defining potentiometer values
float potv1 = 0; 
float potv2 = pot_step;
float potv3 = 2 * pot_step;
float potv4 = 3 * pot_step;
float potv5 = 4 * pot_step;
float potv6 = 5 * pot_step;
float potv7 = 6 * pot_step;


// if the potentiometer values range between potv1 and potv2, led 1 and led 2 will be lit
if (initial_pot_reading <= potv2 ){                                            // for potentiometer value <146
  float dimming_brightness = 256 - initial_pot_reading * 1.75 ;                // brightness factor for led 1
  float lifting_brightness = initial_pot_reading * 1.75;                       // brightness factor for led 2
  
  // applying outputs to leds
  analogWrite(led1, dimming_brightness);                  // applying output to led 1
  analogWrite(led2, lifting_brightness);                  // applying output to led 2
  digitalWrite(led3, LOW);                                // applying output to led 3
  digitalWrite(led4, LOW);                                // applying output to led 4
  digitalWrite(led5, LOW);                                // applying output to led 5
  digitalWrite(led6, LOW);                                // applying output to led 6
  digitalWrite(led7, LOW);                                // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer

  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase
  
// for potentiometer values between potv2 and potv3, led 2 and led 3 will be lit
}else if (initial_pot_reading > potv2 && initial_pot_reading <= potv3) {                     // for potentiometer values between 146 & 292
  float dimming_brightness = 256 - (initial_pot_reading - potv2) * 1.75 ;                         // brightness factor for led 2
  float lifting_brightness = (initial_pot_reading - potv2) * 1.75;                                // brightness factor for led 3
  
  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  analogWrite(led2, dimming_brightness);                 // applying output to led 2
  analogWrite(led3,  lifting_brightness);                  // applying output to led 3
  digitalWrite(led4, LOW);                                // applying output to led 4
  digitalWrite(led5, LOW);                                // applying output to led 5
  digitalWrite(led6, LOW);                                // applying output to led 6
  digitalWrite(led7, LOW);                                // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer                         
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase

// for potentiometer values between potv3 and potv4, led 3 and led 4 will be lit

} else if (initial_pot_reading > potv3 && initial_pot_reading <= potv4){                     // for potentiometer values between 512 & 768

  float dimming_brightness = 256 - (initial_pot_reading - potv3) * 1.75;                           // brightness factor for led 5
  float lifting_brightness = (initial_pot_reading - potv3) *1.75;                                  // brightness factor for led 6 
 
  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  digitalWrite(led2, LOW);                                // applying output to led 2
  analogWrite(led3, dimming_brightness);                  // applying output to led 3
  analogWrite(led4, lifting_brightness);                  // applying output to led 4
  digitalWrite(led5, LOW);                                // applying output to led 5
  digitalWrite(led6, LOW);                                // applying output to led 6
  digitalWrite(led7, LOW);                                // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase

// for potentiometer values between potv4 and potv5, led 4 and led 5 will be lit

} else if (initial_pot_reading > potv4 && initial_pot_reading <= potv5){              // for potentiometer values between 512 & 768
  float dimming_brightness = 256 - (initial_pot_reading - potv4) *1.75 ;                    // brightness factor for led 5
  float lifting_brightness = (initial_pot_reading - potv4) *1.75;                           // brightness factor for led 6 

  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  digitalWrite(led2, LOW);                                // applying output to led 2
  digitalWrite(led3, LOW);                                // applying output to led 3
  analogWrite(led4, dimming_brightness);                  // applying output to led 4
  analogWrite(led5, lifting_brightness);                  // applying output to led 5
  digitalWrite(led6, LOW);                                // applying output to led 6
  digitalWrite(led7, LOW);                                // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase

// for potentiometer values between potv5 and potv6, led 5 and led 6 will be lit

} else if (initial_pot_reading > potv5 && initial_pot_reading <= potv6){              // for potentiometer values between 512 & 768
  float dimming_brightness = 256 - (initial_pot_reading - potv5) *1.75 ;                 // brightness factor for led 5
  float lifting_brightness = (initial_pot_reading - potv5) *1.75;                        // brightness factor for led 6 
  
  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  digitalWrite(led2, LOW);                                // applying output to led 2
  digitalWrite(led3, LOW);                                // applying output to led 3
  digitalWrite(led4, LOW);                                // applying output to led 4
  analogWrite(led5, dimming_brightness);                  // applying output to led 5
  analogWrite(led6, lifting_brightness);                  // applying output to led 6
  digitalWrite(led7, LOW);                                // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase

// for potentiometer values between 730 and 876, led 6 and led 7 will be lit

} else if (initial_pot_reading > potv6 && initial_pot_reading <= potv7){              // for potentiometer values between 512 & 768
  float dimming_brightness = 256 - (initial_pot_reading - potv6) *1.75 ;                   // brightness factor for led 6
  float lifting_brightness = (initial_pot_reading - potv6) *1.75;                          // brightness factor for led 7 
  
  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  digitalWrite(led2, LOW);                                // applying output to led 2
  digitalWrite(led3, LOW);                                // applying output to led 3
  digitalWrite(led4, LOW);                                // applying output to led 4
  digitalWrite(led5, LOW);                                // applying output to led 5
  analogWrite(led6, dimming_brightness);                  // applying output to led 6
  analogWrite(led7, lifting_brightness);                  // applying output to led 7
  digitalWrite(led8, LOW);                                // applying output to led 8
  input_timer = millis();                                        //restarting input timer
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase

}

// for potentiometer values between 876 and 1023, led 7 and led 8 will be lit

else {                                                     
  float dimming_brightness = 256 - (initial_pot_reading - potv7) *1.75;     // brightness factor for led 7
  float lifting_brightness = (initial_pot_reading - potv7)*1.75;            // brightness factor for led 8 
 
  // applying outputs to leds
  digitalWrite(led1, LOW);                                // applying output to led 1
  digitalWrite(led2, LOW);                                // applying output to led 2
  digitalWrite(led3, LOW);                                // applying output to led 3
  digitalWrite(led4, LOW);                                // applying output to led 4
  digitalWrite(led5, LOW);                                // applying output to led 5
  digitalWrite(led6, LOW);                                // applying output to led 6
  analogWrite(led7, dimming_brightness);                  // applying output to led 7
  analogWrite(led8, lifting_brightness);                  // applying output to led 8
  input_timer = millis();                                        //restarting input timer
  // graphing variable
  Serial.println(input_timer);                     // input the variable for graphing during current phase
}


}
 }






Look into Arduino.cc/examples! Use this link: Built-in Examples | Arduino Documentation

1 Like

Hello

Not related to your problem, but you have twice the same condition:
else if (led_wave_timer > t11 && led_wave_timer <= t12)

Typical mistake when you copy/paste repeated code, that you should avoid (by using arrays)

1 Like

thanks for the referral, my issue is that i have been testing those out . for example i tested out the method in the blink without delay and am still facing the same issue. the main thing im seeing is that my input_timer variable is jumping to zero when im moving the potentiometer but immediately reverts back to the original values when i stop.

Thanks! i fixed that up and got the wave to flow more smoothly

A couple of things to note

  1. you are using a lot of floating point variables that don't need to be floating point. All the potentiometer stuff should be int
  2. if you are using an UNO, not all your led pins are capable of doing analogWrite()
  3. With a bit of math, all your brightness calculations could be reduced down to one line rather than repeated inside each if() statement.
  4. your giant if/else statement inside loop() can be made much more readable if you use some functions...

Something like this should get you close

// locations of pins
int pot = A0;             // setting potentiometer to A0
int led1 = 2;             // setting led1 to 2
int led2 = 3;             // setting led2 to 3
int led3 = 4;             // setting led3 to 4
int led4 = 5;             // setting led4 to 5
int led5 = 6;             // setting led5 to 6
int led6 = 7;             // setting led6 to 7
int led7 = 8;             // setting led7 to 8
int led8 = 9;             // setting led8 to 9

// potentiometer values
int pot_0 = 0;            // minimum potentiometer values
int pot_1 = 1023;         // maximum potentiometer values

// brightness values
int brightness_0 = 0;     //minimum brightness value
int brightness_1 = 256;  //maximum brightness value

//unsigned long previous_timer = millis();    // store last time timer was updated
//const unsigned long delay_duration = 500;         // delay before wave behavior

unsigned long lastPotChangeTime;
const unsigned long potDelayInterval = 500;

void setup() {
  // start serial comms
  Serial.begin(9600);

  // applying input to potentiometer
  pinMode(pot, INPUT);
  // applying output to the LED's
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
}

void loop() {

  int  lastPotReading = analogRead(pot);
  delay(100);
  int potReading = analogRead(pot);

  // reset timing if value has changed

  int readingDifference = abs( potReading - lastPotReading );
  if ( readingDifference > 10 ) {
    lastPotChangeTime = millis();
  }

  if ( lastPotChangeTime >= potDelayInterval ) {
    // start doing the wave
    wave();
  }
  else {
    //if pot has moved enough in last 500 ms, it will control led location
    potControl(potReading);
  }
}

void wave() {

  // creating total time variable
  const unsigned long total_wave_time = 5000;             // applying total time to total_wave_time variable

  // creating pattern timing variable
  unsigned long led_wave_timer = millis() % (total_wave_time); // variable to keep track of timing

  // creating time step
  float dt = total_wave_time / 13 ;     //[ms] chosen timestep

  //creating timing variables
  float t1 = 0;       //start timer of pattern and start lighting led 1 to led 2
  float t2 = dt;      // start lighting led 2 to led 3
  float t3 = 2 * dt;  // start lighting led 3 to led 4
  float t4 = 3 * dt;  // start lighting led 4 to led 5
  float t5 = 4 * dt;  // start lighting led 5 to led 6
  float t6 = 5 * dt;  // start lighting led 6 to led 7
  float t7 = 6 * dt;  // start lighting led 7 to led 8
  float t8 = 7 * dt;  // start lighting led 8 to led 7
  float t9 = 8 * dt;  // start lighting led 7 to led 6
  float t10 = 9 * dt; // start lighting led 6 to led 5
  float t11 = 10 * dt; // start lighting led 5 to led 4
  float t12 = 11 * dt; // start lighting led 4 to led 3
  float t13 = 12 * dt; // start lighting led 3 to led 2
  float t14 = 13 * dt; // start lighting led 2 to led 1

  //creating time dependent behavior

  // for t1 < timer < t2 , led 1 and led 2 will be lit
  if (led_wave_timer <= t2) {                                      // for t1 < t < t2
    float timed_dimming_brightness = 256 - 256 / dt * led_wave_timer ;  //  brightness factor for led 1
    float timed_lifting_brightness = 256 / dt * led_wave_timer;       //  brightness factor for led 2

    //applying brightness to leds
    analogWrite(led1, timed_dimming_brightness);                    // applying output to led 1
    analogWrite(led2, timed_lifting_brightness);                    // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t2 < timer < t3, led 2 and led 3 will be lit
  } else if (led_wave_timer > t2 && led_wave_timer <= t3) {                  // for t2 < t < t3
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t2); // brightness factor for led 2
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t2);      // brightness factor for led 3

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    analogWrite(led2, timed_dimming_brightness);                    // applying output to led 2
    analogWrite(led3, timed_lifting_brightness);                    // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t3 < timer < t4, led 3 and led 4 will be lit
  } else if (led_wave_timer > t3 && led_wave_timer <= t4) {                 // for t3 < t < t4
    float timed_dimming_brightness = 256 - 256 / dt * led_wave_timer - t3; // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t3);      // brightness factor for led 4

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    analogWrite(led3, timed_dimming_brightness);                    // applying output to led 3
    analogWrite(led4, timed_lifting_brightness);                    // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t4 < timer < t5, led 4 and led 5 will be lit
  } else if (led_wave_timer > t4 && led_wave_timer <= t5) {                 // for t4 < t < t5
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t4); // brightness factor for led 4
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t4);      // brightness factor for led 5

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    analogWrite(led4, timed_dimming_brightness);                    // applying output to led 4
    analogWrite(led5, timed_lifting_brightness);                    // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t5 < timer < t6, led 5 and led 6 will be lit
  } else if (led_wave_timer > t5 && led_wave_timer <= t6) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t5); // brightness factor for led 5
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t5);      // brightness factor for led 6

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    analogWrite(led5, timed_dimming_brightness);                    // applying output to led 5
    analogWrite(led6, timed_lifting_brightness);                    // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t6 < timer < t7, led 6 and led 7 will be lit
  } else if (led_wave_timer > t6 && led_wave_timer <= t7) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t6); // brightness factor for led 6
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t6);      // brightness factor for led 7

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    analogWrite(led6, timed_dimming_brightness);                    // applying output to led 6
    analogWrite(led7, timed_lifting_brightness);                    // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t7 < timer < t8, led 7 and led 8 will be lit
  } else if (led_wave_timer > t7 && led_wave_timer <= t8) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t7); // brightness factor for led 7
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t7);      // brightness factor for led 8

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    analogWrite(led7, timed_dimming_brightness);                    // applying output to led 7
    analogWrite(led8, timed_lifting_brightness);                    // applying output to led 8

    // for t8 < timer < t9, led 8 and led 7 will be lit
  } else if (led_wave_timer > t8 && led_wave_timer <= t9) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t8); // brightness factor for led 8
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t8);      // brightness factor for led 7

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    analogWrite(led7, timed_lifting_brightness);                    // applying output to led 7
    analogWrite(led8, timed_dimming_brightness);                    // applying output to led 8

    // for t9 < timer < t10, led 7 and led 6 will be lit
  } else if (led_wave_timer > t9 && led_wave_timer <= t10) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t9); // brightness factor for led 7
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t9);      // brightness factor for led 6

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    analogWrite(led6, timed_lifting_brightness);                    // applying output to led 6
    analogWrite(led7, timed_dimming_brightness);                    // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t10 < timer < t11, led 6 and led 5 will be lit
  } else if (led_wave_timer > t10 && led_wave_timer <= t11) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t10); // brightness factor for led 6
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t10);      // brightness factor for led 5

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    analogWrite(led5, timed_lifting_brightness);                    // applying output to led 5
    analogWrite(led6, timed_dimming_brightness);                    // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t11 < timer < t12, led 5 and led 4 will be lit
  } else if (led_wave_timer > t11 && led_wave_timer <= t12) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t11); // brightness factor for led 5
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t11);      // brightness factor for led 4

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    analogWrite(led4, timed_lifting_brightness);                    // applying output to led 4
    analogWrite(led5, timed_dimming_brightness);                    // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t12 < t < t13, led 4 and led  3 will be lit
  } else if (led_wave_timer > t11 && led_wave_timer <= t12) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t12); // brightness factor for led 4
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t12);      // brightness factor for led 3

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    digitalWrite(led2, LOW);                                  // applying output to led 2
    analogWrite(led3, timed_lifting_brightness);                    // applying output to led 3
    analogWrite(led4, timed_dimming_brightness);                    // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t12 < t < t13, led 3 and led  2 will be lit
  } else if (led_wave_timer > t12 && led_wave_timer <= t13) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t13); // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t13);      // brightness factor for led 2

    // applying brightness to leds
    digitalWrite(led1, LOW);                                  // applying output to led 1
    analogWrite(led2, timed_lifting_brightness);                    // applying output to led 2
    analogWrite(led3, timed_dimming_brightness);                    // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8

    // for t13 < t < t14, led 2 and led 1 will be lit
  } else {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t14); // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t14);      // brightness factor for led 2

    // applying brightness to leds
    analogWrite(led1, timed_lifting_brightness);              // applying output to led 1
    analogWrite(led2, timed_dimming_brightness);              // applying output to led 2
    digitalWrite(led3, LOW);                                  // applying output to led 3
    digitalWrite(led4, LOW);                                  // applying output to led 4
    digitalWrite(led5, LOW);                                  // applying output to led 5
    digitalWrite(led6, LOW);                                  // applying output to led 6
    digitalWrite(led7, LOW);                                  // applying output to led 7
    digitalWrite(led8, LOW);                                  // applying output to led 8
  }

  // graphing variable
  Serial.println(led_wave_timer);                     // input the variable for graphing during current phase
}

void potControl(int initial_pot_reading) {

  unsigned long input_timer = millis();
  
  // creating potentiometer step value
  float pot_step = 146;
  //defining potentiometer values
  float potv1 = 0;
  float potv2 = pot_step;
  float potv3 = 2 * pot_step;
  float potv4 = 3 * pot_step;
  float potv5 = 4 * pot_step;
  float potv6 = 5 * pot_step;
  float potv7 = 6 * pot_step;


  // if the potentiometer values range between potv1 and potv2, led 1 and led 2 will be lit
  if (initial_pot_reading <= potv2 ) {                                           // for potentiometer value <146
    float dimming_brightness = 256 - initial_pot_reading * 1.75 ;                // brightness factor for led 1
    float lifting_brightness = initial_pot_reading * 1.75;                       // brightness factor for led 2

    // applying outputs to leds
    analogWrite(led1, dimming_brightness);                  // applying output to led 1
    analogWrite(led2, lifting_brightness);                  // applying output to led 2
    digitalWrite(led3, LOW);                                // applying output to led 3
    digitalWrite(led4, LOW);                                // applying output to led 4
    digitalWrite(led5, LOW);                                // applying output to led 5
    digitalWrite(led6, LOW);                                // applying output to led 6
    digitalWrite(led7, LOW);                                // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8

    // for potentiometer values between potv2 and potv3, led 2 and led 3 will be lit
  } else if (initial_pot_reading > potv2 && initial_pot_reading <= potv3) {                     // for potentiometer values between 146 & 292
    float dimming_brightness = 256 - (initial_pot_reading - potv2) * 1.75 ;                         // brightness factor for led 2
    float lifting_brightness = (initial_pot_reading - potv2) * 1.75;                                // brightness factor for led 3

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    analogWrite(led2, dimming_brightness);                 // applying output to led 2
    analogWrite(led3,  lifting_brightness);                  // applying output to led 3
    digitalWrite(led4, LOW);                                // applying output to led 4
    digitalWrite(led5, LOW);                                // applying output to led 5
    digitalWrite(led6, LOW);                                // applying output to led 6
    digitalWrite(led7, LOW);                                // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8

    // for potentiometer values between potv3 and potv4, led 3 and led 4 will be lit

  } else if (initial_pot_reading > potv3 && initial_pot_reading <= potv4) {                    // for potentiometer values between 512 & 768

    float dimming_brightness = 256 - (initial_pot_reading - potv3) * 1.75;                           // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv3) * 1.75;                                 // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    digitalWrite(led2, LOW);                                // applying output to led 2
    analogWrite(led3, dimming_brightness);                  // applying output to led 3
    analogWrite(led4, lifting_brightness);                  // applying output to led 4
    digitalWrite(led5, LOW);                                // applying output to led 5
    digitalWrite(led6, LOW);                                // applying output to led 6
    digitalWrite(led7, LOW);                                // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8

    // for potentiometer values between potv4 and potv5, led 4 and led 5 will be lit

  } else if (initial_pot_reading > potv4 && initial_pot_reading <= potv5) {             // for potentiometer values between 512 & 768
    float dimming_brightness = 256 - (initial_pot_reading - potv4) * 1.75 ;                   // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv4) * 1.75;                          // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    digitalWrite(led2, LOW);                                // applying output to led 2
    digitalWrite(led3, LOW);                                // applying output to led 3
    analogWrite(led4, dimming_brightness);                  // applying output to led 4
    analogWrite(led5, lifting_brightness);                  // applying output to led 5
    digitalWrite(led6, LOW);                                // applying output to led 6
    digitalWrite(led7, LOW);                                // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8

    // for potentiometer values between potv5 and potv6, led 5 and led 6 will be lit

  } else if (initial_pot_reading > potv5 && initial_pot_reading <= potv6) {             // for potentiometer values between 512 & 768
    float dimming_brightness = 256 - (initial_pot_reading - potv5) * 1.75 ;                // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv5) * 1.75;                       // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    digitalWrite(led2, LOW);                                // applying output to led 2
    digitalWrite(led3, LOW);                                // applying output to led 3
    digitalWrite(led4, LOW);                                // applying output to led 4
    analogWrite(led5, dimming_brightness);                  // applying output to led 5
    analogWrite(led6, lifting_brightness);                  // applying output to led 6
    digitalWrite(led7, LOW);                                // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8

    // for potentiometer values between 730 and 876, led 6 and led 7 will be lit

  } else if (initial_pot_reading > potv6 && initial_pot_reading <= potv7) {             // for potentiometer values between 512 & 768
    float dimming_brightness = 256 - (initial_pot_reading - potv6) * 1.75 ;                  // brightness factor for led 6
    float lifting_brightness = (initial_pot_reading - potv6) * 1.75;                         // brightness factor for led 7

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    digitalWrite(led2, LOW);                                // applying output to led 2
    digitalWrite(led3, LOW);                                // applying output to led 3
    digitalWrite(led4, LOW);                                // applying output to led 4
    digitalWrite(led5, LOW);                                // applying output to led 5
    analogWrite(led6, dimming_brightness);                  // applying output to led 6
    analogWrite(led7, lifting_brightness);                  // applying output to led 7
    digitalWrite(led8, LOW);                                // applying output to led 8
  }

  // for potentiometer values between 876 and 1023, led 7 and led 8 will be lit

  else {
    float dimming_brightness = 256 - (initial_pot_reading - potv7) * 1.75;    // brightness factor for led 7
    float lifting_brightness = (initial_pot_reading - potv7) * 1.75;          // brightness factor for led 8

    // applying outputs to leds
    digitalWrite(led1, LOW);                                // applying output to led 1
    digitalWrite(led2, LOW);                                // applying output to led 2
    digitalWrite(led3, LOW);                                // applying output to led 3
    digitalWrite(led4, LOW);                                // applying output to led 4
    digitalWrite(led5, LOW);                                // applying output to led 5
    digitalWrite(led6, LOW);                                // applying output to led 6
    analogWrite(led7, dimming_brightness);                  // applying output to led 7
    analogWrite(led8, lifting_brightness);                  // applying output to led 8
  }
    // graphing variable
    Serial.println(input_timer);                     // input the variable for graphing during current phase
}
1 Like

Thanks a lot for the attempt! the code you provided didnt work, it was stuck on a couple lights and when the potentiometer moved, it got stuck on the repeating loop. But the void commands you gave explained the concept pretty well. ill give it another go testing them out!

Hence my comment "should get you close"

You have the hardware and you will have to do some testing/debugging

1 Like

Thank you, I finally got it working the way that I wanted! turns out the biggest problem was with the way i set up the timing variables in the beginning of my loop, I made it more complicated than it needed to be, i am also attaching a copy of my code to this in case anyone is interested.




// locations of pins
int pot = A0;  // setting potentiometer to A0
int led1 = 2;  // setting led1 to 2
int led2 = 3;  // setting led2 to 3
int led3 = 4;  // setting led3 to 4
int led4 = 5;  // setting led4 to 5
int led5 = 6;  // setting led5 to 6
int led6 = 7;  // setting led6 to 7
int led7 = 8;  // setting led7 to 8
int led8 = 9;  // setting led8 to 9

// potentiometer values
int pot_0 = 0;     // minimum potentiometer values
int pot_1 = 1023;  // maximum potentiometer values

// brightness values
int brightness_0 = 0;    //minimum brightness value
int brightness_1 = 255;  //maximum brightness value

//timer values
volatile unsigned long current_timer;       //
volatile unsigned long previous_timer = 0;  // store last time timer was updated
const unsigned long delay_duration = 1500;  // delay before wave behavior



void setup() {
  // start serial comms
  Serial.begin(9600);

  // applying input to potentiometer
  pinMode(pot, INPUT);
  // applying output to the LED's
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);
}

void loop() {


  //take initial and secondary potentiometer readings
  int initial_pot_reading = analogRead(pot);    //initial potentiometer reading
  delay(10);                                    // delay for secondary potentiometer reading
  int secondary_pot_reading = analogRead(pot);  // secondary potentiometer reading

  // take the difference in potentiometer readings
  volatile int reading_difference = abs(secondary_pot_reading - initial_pot_reading) * 2;  // applying variable to reading differences

  //reset timer if reading_difference is large enough

  // start timer if reading difference < 10
  if (reading_difference < 10) {
    current_timer = millis();

    // if reading difference > 10, update the previous timer
  } else {
    previous_timer = current_timer;
  }
  // difference in timing values
  long timer_difference = abs(current_timer - previous_timer);

  //float long
  Serial.println(timer_difference);

  //if the timer is longer than delay duration and the reading difference is not large enough, it will follow the timed wave pattern
  if (timer_difference >= delay_duration && reading_difference < 10) {
    // start doing the wave
    wave();

    //if pot has moved enough in the last 500 ms, it will control led location
  } else {
    potdial(initial_pot_reading);
  }
}

void wave() {

  // creating total time variable
  const unsigned long total_wave_time = 10000;  // applying total time to total_wave_time variable

  // creating pattern timing variable
  unsigned long led_wave_timer = millis() % (total_wave_time);  // variable to keep track of timing

  // creating time step
  float dt = total_wave_time / 14;  //[ms] chosen timestep

  //creating timing variables
  float t1 = 0;         //start timer of pattern and start lighting led 1 to led 2
  float t2 = dt;        // start lighting led 2 to led 3
  float t3 = 2 * dt;    // start lighting led 3 to led 4
  float t4 = 3 * dt;    // start lighting led 4 to led 5
  float t5 = 4 * dt;    // start lighting led 5 to led 6
  float t6 = 5 * dt;    // start lighting led 6 to led 7
  float t7 = 6 * dt;    // start lighting led 7 to led 8
  float t8 = 7 * dt;    // start lighting led 8 to led 7
  float t9 = 8 * dt;    // start lighting led 7 to led 6
  float t10 = 9 * dt;   // start lighting led 6 to led 5
  float t11 = 10 * dt;  // start lighting led 5 to led 4
  float t12 = 11 * dt;  // start lighting led 4 to led 3
  float t13 = 12 * dt;  // start lighting led 3 to led 2
  float t14 = 13 * dt;  // start lighting led 2 to led 1
  float t15 = 14 * dt;  // led 1 is fully lit

  //creating time dependent behavior

  // for t1 < timer < t2 , led 1 and led 2 will be lit
  if (led_wave_timer <= t2) {                                          // for t1 < t < t2
    float timed_dimming_brightness = 256 - 256 / dt * led_wave_timer;  //  brightness factor for led 1
    float timed_lifting_brightness = 256 / dt * led_wave_timer;        //  brightness factor for led 2

    //applying brightness to leds
    analogWrite(led1, timed_dimming_brightness);  // applying output to led 1
    analogWrite(led2, timed_lifting_brightness);  // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t2 < timer < t3, led 2 and led 3 will be lit
  } else if (led_wave_timer > t2 && led_wave_timer <= t3) {                   // for t2 < t < t3
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t2);  // brightness factor for led 2
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t2);        // brightness factor for led 3

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    analogWrite(led2, timed_dimming_brightness);  // applying output to led 2
    analogWrite(led3, timed_lifting_brightness);  // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t3 < timer < t4, led 3 and led 4 will be lit
  } else if (led_wave_timer > t3 && led_wave_timer <= t4) {                   // for t3 < t < t4
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t3);  // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t3);        // brightness factor for led 4

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    analogWrite(led3, timed_dimming_brightness);  // applying output to led 3
    analogWrite(led4, timed_lifting_brightness);  // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t4 < timer < t5, led 4 and led 5 will be lit
  } else if (led_wave_timer > t4 && led_wave_timer <= t5) {                   // for t4 < t < t5
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t4);  // brightness factor for led 4
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t4);        // brightness factor for led 5

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    analogWrite(led4, timed_dimming_brightness);  // applying output to led 4
    analogWrite(led5, timed_lifting_brightness);  // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t5 < timer < t6, led 5 and led 6 will be lit
  } else if (led_wave_timer > t5 && led_wave_timer <= t6) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t5);  // brightness factor for led 5
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t5);        // brightness factor for led 6

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    analogWrite(led5, timed_dimming_brightness);  // applying output to led 5
    analogWrite(led6, timed_lifting_brightness);  // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t6 < timer < t7, led 6 and led 7 will be lit
  } else if (led_wave_timer > t6 && led_wave_timer <= t7) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t6);  // brightness factor for led 6
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t6);        // brightness factor for led 7

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    analogWrite(led6, timed_dimming_brightness);  // applying output to led 6
    analogWrite(led7, timed_lifting_brightness);  // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t7 < timer < t8, led 7 and led 8 will be lit
  } else if (led_wave_timer > t7 && led_wave_timer <= t8) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t7);  // brightness factor for led 7
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t7);        // brightness factor for led 8

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    analogWrite(led7, timed_dimming_brightness);  // applying output to led 7
    analogWrite(led8, timed_lifting_brightness);  // applying output to led 8

    // for t8 < timer < t9, led 8 and led 7 will be lit
  } else if (led_wave_timer > t8 && led_wave_timer <= t9) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t8);  // brightness factor for led 8
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t8);        // brightness factor for led 7

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    analogWrite(led7, timed_lifting_brightness);  // applying output to led 7
    analogWrite(led8, timed_dimming_brightness);  // applying output to led 8

    // for t9 < timer < t10, led 7 and led 6 will be lit
  } else if (led_wave_timer > t9 && led_wave_timer <= t10) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t9);  // brightness factor for led 7
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t9);        // brightness factor for led 6

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    analogWrite(led6, timed_lifting_brightness);  // applying output to led 6
    analogWrite(led7, timed_dimming_brightness);  // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t10 < timer < t11, led 6 and led 5 will be lit
  } else if (led_wave_timer > t10 && led_wave_timer <= t11) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t10);  // brightness factor for led 6
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t10);        // brightness factor for led 5

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    analogWrite(led5, timed_lifting_brightness);  // applying output to led 5
    analogWrite(led6, timed_dimming_brightness);  // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t11 < timer < t12, led 5 and led 4 will be lit
  } else if (led_wave_timer > t11 && led_wave_timer <= t12) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t11);  // brightness factor for led 5
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t11);        // brightness factor for led 4

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    analogWrite(led4, timed_lifting_brightness);  // applying output to led 4
    analogWrite(led5, timed_dimming_brightness);  // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t12 < t < t13, led 4 and led  3 will be lit
  } else if (led_wave_timer > t12 && led_wave_timer <= t13) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t12);  // brightness factor for led 4
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t12);        // brightness factor for led 3

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    digitalWrite(led2, LOW);                      // applying output to led 2
    analogWrite(led3, timed_lifting_brightness);  // applying output to led 3
    analogWrite(led4, timed_dimming_brightness);  // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t12 < t < t13, led 3 and led  2 will be lit
  } else if (led_wave_timer > t13 && led_wave_timer <= t14) {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t13);  // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t13);        // brightness factor for led 2

    // applying brightness to leds
    digitalWrite(led1, LOW);                      // applying output to led 1
    analogWrite(led2, timed_lifting_brightness);  // applying output to led 2
    analogWrite(led3, timed_dimming_brightness);  // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8

    // for t13 < t < t14, led 2 and led 1 will be lit
  } else {
    float timed_dimming_brightness = 256 - 256 / dt * (led_wave_timer - t14);  // brightness factor for led 3
    float timed_lifting_brightness = 256 / dt * (led_wave_timer - t14);        // brightness factor for led 2

    // applying brightness to leds
    analogWrite(led1, timed_lifting_brightness);  // applying output to led 1
    analogWrite(led2, timed_dimming_brightness);  // applying output to led 2
    digitalWrite(led3, LOW);                      // applying output to led 3
    digitalWrite(led4, LOW);                      // applying output to led 4
    digitalWrite(led5, LOW);                      // applying output to led 5
    digitalWrite(led6, LOW);                      // applying output to led 6
    digitalWrite(led7, LOW);                      // applying output to led 7
    digitalWrite(led8, LOW);                      // applying output to led 8
  }
  // graphing variable
  //Serial.println(current_timer);  // input the variable for graphing during current phase
}

void potdial(int initial_pot_reading) {

  // creating potentiometer step value
  float pot_step = 146;

  //defining potentiometer values
  float potv1 = 0;
  float potv2 = pot_step;
  float potv3 = 2 * pot_step;
  float potv4 = 3 * pot_step;
  float potv5 = 4 * pot_step;
  float potv6 = 5 * pot_step;
  float potv7 = 6 * pot_step;
  float potv8 = 7 * pot_step;

  // if the potentiometer values range between potv1 and potv2, led 1 and led 2 will be lit
  if (initial_pot_reading <= potv2) {                             // for potentiometer value <146
    float dimming_brightness = 255 - initial_pot_reading * 1.75;  // brightness factor for led 1
    float lifting_brightness = initial_pot_reading * 1.75;        // brightness factor for led 2

    // applying outputs to leds
    analogWrite(led1, dimming_brightness);  // applying output to led 1
    analogWrite(led2, lifting_brightness);  // applying output to led 2
    digitalWrite(led3, LOW);                // applying output to led 3
    digitalWrite(led4, LOW);                // applying output to led 4
    digitalWrite(led5, LOW);                // applying output to led 5
    digitalWrite(led6, LOW);                // applying output to led 6
    digitalWrite(led7, LOW);                // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8


    // for potentiometer values between potv2 and potv3, led 2 and led 3 will be lit
  } else if (initial_pot_reading > potv2 && initial_pot_reading <= potv3) {  // for potentiometer values between 146 & 292
    float dimming_brightness = 255 - (initial_pot_reading - potv2) * 1.75;   // brightness factor for led 2
    float lifting_brightness = (initial_pot_reading - potv2) * 1.75;         // brightness factor for led 3

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    analogWrite(led2, dimming_brightness);  // applying output to led 2
    analogWrite(led3, lifting_brightness);  // applying output to led 3
    digitalWrite(led4, LOW);                // applying output to led 4
    digitalWrite(led5, LOW);                // applying output to led 5
    digitalWrite(led6, LOW);                // applying output to led 6
    digitalWrite(led7, LOW);                // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8

    // for potentiometer values between potv3 and potv4, led 3 and led 4 will be lit

  } else if (initial_pot_reading > potv3 && initial_pot_reading <= potv4) {  // for potentiometer values between 512 & 768

    float dimming_brightness = 255 - (initial_pot_reading - potv3) * 1.75;  // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv3) * 1.75;        // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    digitalWrite(led2, LOW);                // applying output to led 2
    analogWrite(led3, dimming_brightness);  // applying output to led 3
    analogWrite(led4, lifting_brightness);  // applying output to led 4
    digitalWrite(led5, LOW);                // applying output to led 5
    digitalWrite(led6, LOW);                // applying output to led 6
    digitalWrite(led7, LOW);                // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8

    // for potentiometer values between potv4 and potv5, led 4 and led 5 will be lit
  } else if (initial_pot_reading > potv4 && initial_pot_reading <= potv5) {  // for potentiometer values between 512 & 768
    float dimming_brightness = 255 - (initial_pot_reading - potv4) * 1.75;   // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv4) * 1.75;         // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    digitalWrite(led2, LOW);                // applying output to led 2
    digitalWrite(led3, LOW);                // applying output to led 3
    analogWrite(led4, dimming_brightness);  // applying output to led 4
    analogWrite(led5, lifting_brightness);  // applying output to led 5
    digitalWrite(led6, LOW);                // applying output to led 6
    digitalWrite(led7, LOW);                // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8

    // for potentiometer values between potv5 and potv6, led 5 and led 6 will be lit
  } else if (initial_pot_reading > potv5 && initial_pot_reading <= potv6) {  // for potentiometer values between 512 & 768
    float dimming_brightness = 255 - (initial_pot_reading - potv5) * 1.75;   // brightness factor for led 5
    float lifting_brightness = (initial_pot_reading - potv5) * 1.75;         // brightness factor for led 6

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    digitalWrite(led2, LOW);                // applying output to led 2
    digitalWrite(led3, LOW);                // applying output to led 3
    digitalWrite(led4, LOW);                // applying output to led 4
    analogWrite(led5, dimming_brightness);  // applying output to led 5
    analogWrite(led6, lifting_brightness);  // applying output to led 6
    digitalWrite(led7, LOW);                // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8

    // for potentiometer values between potv6 and potv7, led 6 and led 7 will be lit
  } else if (initial_pot_reading > potv6 && initial_pot_reading <= potv7) {  // for potentiometer values between 512 & 768
    float dimming_brightness = 255 - (initial_pot_reading - potv6) * 1.75;   // brightness factor for led 6
    float lifting_brightness = (initial_pot_reading - potv6) * 1.75;         // brightness factor for led 7

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    digitalWrite(led2, LOW);                // applying output to led 2
    digitalWrite(led3, LOW);                // applying output to led 3
    digitalWrite(led4, LOW);                // applying output to led 4
    digitalWrite(led5, LOW);                // applying output to led 5
    analogWrite(led6, dimming_brightness);  // applying output to led 6
    analogWrite(led7, lifting_brightness);  // applying output to led 7
    digitalWrite(led8, LOW);                // applying output to led 8

  }

  // for potentiometer values between potv7 and potv8, led 7 and led 8 will be lit
  else {
    float dimming_brightness = 257 - (initial_pot_reading - potv7) * 1.75;  // brightness factor for led 7
    float lifting_brightness = (initial_pot_reading - potv7) * 1.75 - 3;    // brightness factor for led 8

    // applying outputs to leds
    digitalWrite(led1, LOW);                // applying output to led 1
    digitalWrite(led2, LOW);                // applying output to led 2
    digitalWrite(led3, LOW);                // applying output to led 3
    digitalWrite(led4, LOW);                // applying output to led 4
    digitalWrite(led5, LOW);                // applying output to led 5
    digitalWrite(led6, LOW);                // applying output to led 6
    analogWrite(led7, dimming_brightness);  // applying output to led 7
    analogWrite(led8, lifting_brightness);  // applying output to led 8
  }
  // graphing variable
  //Serial.println(current_timer);  // input the variable for graphing during current phase
}

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