aboutsummaryrefslogtreecommitdiff
path: root/libraries/Stepper/examples
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/Stepper/examples')
-rw-r--r--libraries/Stepper/examples/MotorKnob/MotorKnob.ino41
-rw-r--r--libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino44
-rw-r--r--libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino44
-rw-r--r--libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino49
4 files changed, 178 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..dbd0f7f
--- /dev/null
+++ b/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino
@@ -0,0 +1,49 @@
+
+/*
+ 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() {
+ // initialize the serial port:
+ Serial.begin(9600);
+}
+
+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);
+ }
+}
+
+