#include #include #define GOT_HERE() do {Serial.print('['); Serial.print(__LINE__); Serial.println(']'); Serial.flush();} while(0) const int steps_per_rev = 2038; #define IN1 8 #define IN2 9 #define IN3 10 #define IN4 11 Stepper motor(steps_per_rev, IN1, IN3, IN2, IN4); void setup() { srand(time(NULL)); Serial.begin(115200); } void WinderMotion(int8_t dir, uint16_t dist, uint8_t speed){ motor.setSpeed(speed); motor.step(dir * dist); } void loop() { uint8_t rdir = 0, rdist = 0, rspd = 0, speed = 0; int8_t dir = 0; uint16_t dist = 0; rdir = rand() % 2, rdist = rand() % 3, rspd = rand() % 3; dir = rdir * 2 - 1; dist = steps_per_rev / (1 << rdist); speed = (rspd + 1) * 2; Serial.print("Dir: "); Serial.println(dir); Serial.print("Dist: "); Serial.println(dist); Serial.print("Speed: "); Serial.println(speed); WinderMotion(dir, dist, speed); }