Hi folks!
I have been trying to properly format my code without using delay() and while statements. Almost got there, but now having some problems on replacing delay with millis. It seems I am not putting millis equation in the right place. My code is quite long, so I am pasting only the part I need to solve . I need to all the motors to go up, check their value, go down and check the value again (all at the seemingly same time). Hopefully my lousy program will be understandable
Cheers!
unsigned long previousMillis = 0;Â Â Â Â // will store last time LED was updated
const long interval = 250;Â Â Â Â Â // interval at which to act (milliseconds)
//I am intentionally leaving out setup and loop not to have 500 lines of code here :)
void calibrateFader() {
 unsigned long currentMillis = millis();
 for (int i = 0; i < NumberOfSliders; i++) {
  digitalWrite(motorUp[i], HIGH); //Arduino sends the sliders up
  if (currentMillis - previousMillis >= interval) { //Timer checks for the interval to pass
   previousMillis = currentMillis; //Remember the time
   digitalWrite(motorUp[i], LOW); //Arduino stops the sliders
   faderMax[i] = analogRead(wiper[i]); //Reads the maximum values
  }
  digitalWrite(motorDown[i], HIGH); //Sends the sliders down
  if (currentMillis - previousMillis >= interval) { //Timer checks for the interval to pass
   previousMillis = currentMillis; //Remember the time
   digitalWrite(motorDown[i], LOW); //Stops the sliders
   faderMin[i] = analogRead(wiper[i]); //Reads the maximum values
  }
 }
This is how the code looked before the cleaning:
void calibrateFader() {
 //Send fader to the top and read max position
 digitalWrite(motorUp, HIGH);
 digitalWrite(motorUp2, HIGH);
 digitalWrite(motorUp3, HIGH);
 digitalWrite(motorUp4, HIGH);
 digitalWrite(motorUp5, HIGH);
 digitalWrite(motorUp6, HIGH);
 digitalWrite(motorUp7, HIGH);
 digitalWrite(motorUp8, HIGH);
 digitalWrite(motorUp9, HIGH);
 delay(250);
 digitalWrite(motorUp, LOW);
 digitalWrite(motorUp2, LOW);
 digitalWrite(motorUp3, LOW);
 digitalWrite(motorUp4, LOW);
 digitalWrite(motorUp5, LOW);
 digitalWrite(motorUp6, LOW);
 digitalWrite(motorUp7, LOW);
 digitalWrite(motorUp8, LOW);
 digitalWrite(motorUp9, LOW);
 faderMax = analogRead(wiper);
 faderMax2 = analogRead(wiper2);
 faderMax3 = analogRead(wiper3);
 faderMax4 = analogRead(wiper4);
 faderMax5 = analogRead(wiper5);
 faderMax6 = analogRead(wiper6);
 faderMax7 = analogRead(wiper7);
 faderMax8 = analogRead(wiper8);
 faderMax9 = analogRead(wiper9);
Â
 //Send fader to the bottom and read max position
  digitalWrite(motorDown, HIGH);
  digitalWrite(motorDown2, HIGH);
  digitalWrite(motorDown3, HIGH);
  digitalWrite(motorDown4, HIGH);
  digitalWrite(motorDown5, HIGH);
  digitalWrite(motorDown6, HIGH);
  digitalWrite(motorDown7, HIGH);
  digitalWrite(motorDown8, HIGH);
  digitalWrite(motorDown9, HIGH);
 delay(250);
  digitalWrite(motorDown, LOW);
  digitalWrite(motorDown2, LOW);
  digitalWrite(motorDown3, LOW);
  digitalWrite(motorDown4, LOW);
  digitalWrite(motorDown5, LOW);
  digitalWrite(motorDown6, LOW);
  digitalWrite(motorDown7, LOW);
  digitalWrite(motorDown8, LOW);
  digitalWrite(motorDown9, LOW);
 faderMin = analogRead(wiper);
 faderMin2 = analogRead(wiper2);
 faderMin3 = analogRead(wiper3);
 faderMin4 = analogRead(wiper4);
 faderMin5 = analogRead(wiper5);
 faderMin6 = analogRead(wiper6);
 faderMin7 = analogRead(wiper7);
 faderMin8 = analogRead(wiper8);
 faderMin9 = analogRead(wiper9);
}