How does one add a random DELAY between 10 and 20 seconds?
For example in the following stepper logic I have a delay of 11 seconds - expressed in milliseconds as: delay(11000).
What would I need to add (or modify) so this is randomized between 10 and 20 seconds?
//#define IN1 8 //#define IN2 9 //#define IN3 10 //#define IN4 11
int Steps = 0; boolean Direction = true; unsigned long last_time; unsigned long currentMillis ; int steps_left=4095; long time;
void setup() { Serial.begin(115200); pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
} void loop() { while(steps_left>0){ currentMillis = micros(); if(currentMillis-last_time>=1000){ stepper(1); time=time+micros()-last_time; last_time=micros(); steps_left--; } } Serial.println(time); Serial.println("Wait...!"); delay(11000); // delay timing Direction=!Direction; steps_left=4095; }
//#define IN1 8
//#define IN2 9
//#define IN3 10
//#define IN4 11
int Steps = 0;
boolean Direction = true;
unsigned long last_time;
unsigned long currentMillis ;
int steps_left=4095;
long time;
void setup()
{
Serial.begin(115200);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop()
{
while(steps_left>0){
currentMillis = micros();
if(currentMillis-last_time>=1000){
stepper(1);
time=time+micros()-last_time;
last_time=micros();
steps_left--;
}
}
Serial.println(time);
Serial.println("Wait...!");
delay(11000); // delay timing
Direction=!Direction;
steps_left=4095;
}
Forgive the appearance of the code. Everytime I post it gets butchered. Hopefully it's understandable.