#define dirPin 2
#define stepPin 3
#define stepPerRev 200
void setup() {
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
}
void loop() { // direction and 1/2 pulsewidth
bool dir = random(2); // direction is HIGH = CW, LOW = CC
int del = random(500, 2000); // 500 = quick, 2000 = slow
digitalWrite(dirPin, dir); // set direction
for (int i = 0; i < stepPerRev; i++) { // make one pulse
digitalWrite(stepPin, HIGH);
delayMicroseconds(del);
digitalWrite(stepPin, LOW);
delayMicroseconds(del);
}
delay(500);
}