UKHeliBob:
digitalWrite(ER, LOW); // Relay running small amount times for less powerful AC motor.
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime2);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
delay(RelayDelayTime2);
digitalWrite(ER, LOW);
delay (RelayWaitTime);
digitalWrite(ER, HIGH);
If you feel that you really must use delay() like this at least put the repeated code in a for loop to make it more elegant. Is that a rogue delay(RelayDelayTime2) in there or is it deliberate ?
It is deliberate. Motor driver has low power so I need to wait motor driver's capacitor charged. At last stages it needs more power because of parabolic vacuum collector weight. So RelayDelayTime2 for that.
Yes I can make a loop but I don't want to. Maybe I can change delay time or add another delay time.
If I know exact wait time for each position (or load) I'll make a loop for increased delay or something like that.