void rotate(float steps, float speed) { int dir = (steps > 0) ? HIGH : LOW; steps = abs(steps); digitalWrite(DIR_PIN, dir); float usDelay = (1 / speed) * 70; for (int i = 0; i < steps; i++) { digitalWrite(STEP_PIN, HIGH); delayMicroseconds(usDelay); digitalWrite(STEP_PIN, LOW); delayMicroseconds(usDelay); } }