public static void Main() { Debug.WriteLine("Hello from nanoFramework!"); // var accelStepper = new AccelStepper(AccelStepper.MotorInterfaceType.FULL4WIRE, IN1, IN3, IN2, IN4, false); var accelStepper = new AccelStepper(AccelStepper.MotorInterfaceType.FULL4WIRE, IN1, IN3, IN2, IN4, false, new GetMicroSecondsHandler(GetMicroSeconds)); accelStepper.SetMaxSpeed(400.0f); accelStepper.SetAcceleration(100.0f); accelStepper.MoveTo(-4069); accelStepper.EnableOutputs(); while (true) { // Change direction at the limits if (accelStepper.DistanceToGo() == 0) { accelStepper.MoveTo(-accelStepper.CurrentPosition()); } accelStepper.Run(); } }
private void initializeMotors() { /* Initialize motor pins */ MotorStepPin_X = controller.OpenPin(MOTOR_STEP_PIN_X); MotorDirPin_X = controller.OpenPin(MOTOR_DIR_PIN_X); MotorStepPin_Y = controller.OpenPin(MOTOR_STEP_PIN_Y); MotorDirPin_Y = controller.OpenPin(MOTOR_DIR_PIN_Y); MotorStepPin_X.Write(GpioPinValue.High); MotorDirPin_X.Write(GpioPinValue.High); MotorStepPin_Y.Write(GpioPinValue.High); MotorDirPin_Y.Write(GpioPinValue.High); MotorStepPin_X.SetDriveMode(GpioPinDriveMode.Output); MotorDirPin_X.SetDriveMode(GpioPinDriveMode.Output); MotorStepPin_Y.SetDriveMode(GpioPinDriveMode.Output); MotorDirPin_Y.SetDriveMode(GpioPinDriveMode.Output); StepperX = new AccelStepper(MotorStepPin_X, MotorDirPin_X, GpioPinValue.Low); StepperY = new AccelStepper(MotorStepPin_Y, MotorDirPin_Y, GpioPinValue.High); }