Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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);
        }