Mshield MyMotors = new Mshield(Mshield.Drivers.Both); PWM servo = new PWM(MyMotors.Servo1); bool ledState = false; OutputPort led = new OutputPort(Pins.ONBOARD_LED, ledState); while (true) { ledState = !ledState; led.Write(ledState); // We have one motor connected on port M4 (Warning ! on some shields, M3 and M4 indications are reversed !) // Increase its speed to its maximum. Direction change at each loop for (int i = 0; i <= 255; i++, Thread.Sleep(20)) MyMotors.MotorControl(Mshield.Motors.M4, (byte)i, ledState); // Then decrease it to zero for (int i = 255; i >= 0; i--, Thread.Sleep(20)) MyMotors.MotorControl(Mshield.Motors.M4, (byte)i, ledState); Thread.Sleep(1000); // We have one stepper connected on driver1 (M1 + M2 ports) // Have it run 5s in "Hi-Torque" (High power, high speed, high power usage...) MyMotors.StepperMove(Mshield.Steppers.S1, Mshield.BipolarStepping.HiTorque, 0, true, 0, 5000, false); Thread.Sleep(1000); // Then 5s in the other direction MyMotors.StepperMove(Mshield.Steppers.S1, Mshield.BipolarStepping.HiTorque, 0, false, 0, 5000, false); Thread.Sleep(1000); }
To be clear the only changes I made to this driver were what was strictly necessary to make it work on the Netduino. I have maintained all of the original authors comments and code.