diff options
Diffstat (limited to 'libraries/Stepper/examples')
4 files changed, 177 insertions, 0 deletions
| diff --git a/libraries/Stepper/examples/MotorKnob/MotorKnob.ino b/libraries/Stepper/examples/MotorKnob/MotorKnob.ino new file mode 100644 index 0000000..d428186 --- /dev/null +++ b/libraries/Stepper/examples/MotorKnob/MotorKnob.ino @@ -0,0 +1,41 @@ +/* + * MotorKnob + * + * A stepper motor follows the turns of a potentiometer + * (or other sensor) on analog input 0. + * + * http://www.arduino.cc/en/Reference/Stepper + * This example code is in the public domain. + */ + +#include <Stepper.h> + +// change this to the number of steps on your motor +#define STEPS 100 + +// create an instance of the stepper class, specifying +// the number of steps of the motor and the pins it's +// attached to +Stepper stepper(STEPS, 8, 9, 10, 11); + +// the previous reading from the analog input +int previous = 0; + +void setup() +{ +  // set the speed of the motor to 30 RPMs +  stepper.setSpeed(30); +} + +void loop() +{ +  // get the sensor value +  int val = analogRead(0); + +  // move a number of steps equal to the change in the +  // sensor reading +  stepper.step(val - previous); + +  // remember the previous value of the sensor +  previous = val; +}
\ No newline at end of file diff --git a/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino b/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino new file mode 100644 index 0000000..2dbb57d --- /dev/null +++ b/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino @@ -0,0 +1,44 @@ + +/*  + Stepper Motor Control - one revolution +  + This program drives a unipolar or bipolar stepper motor.  + The motor is attached to digital pins 8 - 11 of the Arduino. +  + The motor should revolve one revolution in one direction, then + one revolution in the other direction.   +  +   + Created 11 Mar. 2007 + Modified 30 Nov. 2009 + by Tom Igoe +  + */ + +#include <Stepper.h> + +const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution +                                     // for your motor + +// initialize the stepper library on pins 8 through 11: +Stepper myStepper(stepsPerRevolution, 8,9,10,11);             + +void setup() { +  // set the speed at 60 rpm: +  myStepper.setSpeed(60); +  // initialize the serial port: +  Serial.begin(9600); +} + +void loop() { +  // step one revolution  in one direction: +   Serial.println("clockwise"); +  myStepper.step(stepsPerRevolution); +  delay(500); +   +   // step one revolution in the other direction: +  Serial.println("counterclockwise"); +  myStepper.step(-stepsPerRevolution); +  delay(500);  +} + diff --git a/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino b/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino new file mode 100644 index 0000000..36d3299 --- /dev/null +++ b/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino @@ -0,0 +1,44 @@ + +/*  + Stepper Motor Control - one step at a time +  + This program drives a unipolar or bipolar stepper motor.  + The motor is attached to digital pins 8 - 11 of the Arduino. +  + The motor will step one step at a time, very slowly.  You can use this to + test that you've got the four wires of your stepper wired to the correct + pins. If wired correctly, all steps should be in the same direction. +  + Use this also to count the number of steps per revolution of your motor, + if you don't know it.  Then plug that number into the oneRevolution + example to see if you got it right. +  + Created 30 Nov. 2009 + by Tom Igoe +  + */ + +#include <Stepper.h> + +const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution +                                     // for your motor + +// initialize the stepper library on pins 8 through 11: +Stepper myStepper(stepsPerRevolution, 8,9,10,11);             + +int stepCount = 0;         // number of steps the motor has taken + +void setup() { +  // initialize the serial port: +  Serial.begin(9600); +} + +void loop() { +  // step one step: +  myStepper.step(1); +  Serial.print("steps:" ); +  Serial.println(stepCount); +  stepCount++; +  delay(500); +} + diff --git a/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino b/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino new file mode 100644 index 0000000..1a67a55 --- /dev/null +++ b/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino @@ -0,0 +1,48 @@ + +/*  + Stepper Motor Control - speed control +  + This program drives a unipolar or bipolar stepper motor.  + The motor is attached to digital pins 8 - 11 of the Arduino. + A potentiometer is connected to analog input 0. +  + The motor will rotate in a clockwise direction. The higher the potentiometer value, + the faster the motor speed. Because setSpeed() sets the delay between steps,  + you may notice the motor is less responsive to changes in the sensor value at + low speeds. +  + Created 30 Nov. 2009 + Modified 28 Oct 2010 + by Tom Igoe +  + */ + +#include <Stepper.h> + +const int stepsPerRevolution = 200;  // change this to fit the number of steps per revolution +// for your motor + + +// initialize the stepper library on pins 8 through 11: +Stepper myStepper(stepsPerRevolution, 8,9,10,11);             + +int stepCount = 0;  // number of steps the motor has taken + +void setup() { +  // nothing to do inside the setup +} + +void loop() { +  // read the sensor value: +  int sensorReading = analogRead(A0); +  // map it to a range from 0 to 100: +  int motorSpeed = map(sensorReading, 0, 1023, 0, 100); +  // set the motor speed: +  if (motorSpeed > 0) { +    myStepper.setSpeed(motorSpeed); +    // step 1/100 of a revolution: +    myStepper.step(stepsPerRevolution/100); +  }  +} + + | 
