diff options
Diffstat (limited to 'libraries/Stepper')
| -rw-r--r-- | libraries/Stepper/Stepper.cpp | 220 | ||||
| -rw-r--r-- | libraries/Stepper/Stepper.h | 83 | ||||
| -rw-r--r-- | libraries/Stepper/examples/MotorKnob/MotorKnob.ino | 41 | ||||
| -rw-r--r-- | libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino | 44 | ||||
| -rw-r--r-- | libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino | 44 | ||||
| -rw-r--r-- | libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino | 48 | ||||
| -rw-r--r-- | libraries/Stepper/keywords.txt | 28 | 
7 files changed, 0 insertions, 508 deletions
| diff --git a/libraries/Stepper/Stepper.cpp b/libraries/Stepper/Stepper.cpp deleted file mode 100644 index 5d6b5e5..0000000 --- a/libraries/Stepper/Stepper.cpp +++ /dev/null @@ -1,220 +0,0 @@ -/* -  Stepper.cpp - - Stepper library for Wiring/Arduino - Version 0.4 -   -  Original library     (0.1) by Tom Igoe. -  Two-wire modifications   (0.2) by Sebastian Gassner -  Combination version   (0.3) by Tom Igoe and David Mellis -  Bug fix for four-wire   (0.4) by Tom Igoe, bug fix from Noah Shibley   - -  Drives a unipolar or bipolar stepper motor using  2 wires or 4 wires - -  When wiring multiple stepper motors to a microcontroller, -  you quickly run out of output pins, with each motor requiring 4 connections.  - -  By making use of the fact that at any time two of the four motor -  coils are the inverse  of the other two, the number of -  control connections can be reduced from 4 to 2.  - -  A slightly modified circuit around a Darlington transistor array or an L293 H-bridge -  connects to only 2 microcontroler pins, inverts the signals received, -  and delivers the 4 (2 plus 2 inverted ones) output signals required -  for driving a stepper motor. - -  The sequence of control signals for 4 control wires is as follows: - -  Step C0 C1 C2 C3 -     1  1  0  1  0 -     2  0  1  1  0 -     3  0  1  0  1 -     4  1  0  0  1 - -  The sequence of controls signals for 2 control wires is as follows -  (columns C1 and C2 from above): - -  Step C0 C1 -     1  0  1 -     2  1  1 -     3  1  0 -     4  0  0 - -  The circuits can be found at  -  -http://www.arduino.cc/en/Tutorial/Stepper -  -  - */ - - -#include "Arduino.h" -#include "Stepper.h" - -/* - * two-wire constructor. - * Sets which wires should control the motor. - */ -Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2) -{ -  this->step_number = 0;      // which step the motor is on -  this->speed = 0;        // the motor speed, in revolutions per minute -  this->direction = 0;      // motor direction -  this->last_step_time = 0;    // time stamp in ms of the last step taken -  this->number_of_steps = number_of_steps;    // total number of steps for this motor -   -  // Arduino pins for the motor control connection: -  this->motor_pin_1 = motor_pin_1; -  this->motor_pin_2 = motor_pin_2; - -  // setup the pins on the microcontroller: -  pinMode(this->motor_pin_1, OUTPUT); -  pinMode(this->motor_pin_2, OUTPUT); -   -  // When there are only 2 pins, set the other two to 0: -  this->motor_pin_3 = 0; -  this->motor_pin_4 = 0; -   -  // pin_count is used by the stepMotor() method: -  this->pin_count = 2; -} - - -/* - *   constructor for four-pin version - *   Sets which wires should control the motor. - */ - -Stepper::Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4) -{ -  this->step_number = 0;      // which step the motor is on -  this->speed = 0;        // the motor speed, in revolutions per minute -  this->direction = 0;      // motor direction -  this->last_step_time = 0;    // time stamp in ms of the last step taken -  this->number_of_steps = number_of_steps;    // total number of steps for this motor -   -  // Arduino pins for the motor control connection: -  this->motor_pin_1 = motor_pin_1; -  this->motor_pin_2 = motor_pin_2; -  this->motor_pin_3 = motor_pin_3; -  this->motor_pin_4 = motor_pin_4; - -  // setup the pins on the microcontroller: -  pinMode(this->motor_pin_1, OUTPUT); -  pinMode(this->motor_pin_2, OUTPUT); -  pinMode(this->motor_pin_3, OUTPUT); -  pinMode(this->motor_pin_4, OUTPUT); - -  // pin_count is used by the stepMotor() method:   -  this->pin_count = 4;   -} - -/* -  Sets the speed in revs per minute - -*/ -void Stepper::setSpeed(long whatSpeed) -{ -  this->step_delay = 60L * 1000L / this->number_of_steps / whatSpeed; -} - -/* -  Moves the motor steps_to_move steps.  If the number is negative,  -   the motor moves in the reverse direction. - */ -void Stepper::step(int steps_to_move) -{   -  int steps_left = abs(steps_to_move);  // how many steps to take -   -  // determine direction based on whether steps_to_mode is + or -: -  if (steps_to_move > 0) {this->direction = 1;} -  if (steps_to_move < 0) {this->direction = 0;} -     -     -  // decrement the number of steps, moving one step each time: -  while(steps_left > 0) { -  // move only if the appropriate delay has passed: -  if (millis() - this->last_step_time >= this->step_delay) { -      // get the timeStamp of when you stepped: -      this->last_step_time = millis(); -      // increment or decrement the step number, -      // depending on direction: -      if (this->direction == 1) { -        this->step_number++; -        if (this->step_number == this->number_of_steps) { -          this->step_number = 0; -        } -      }  -      else {  -        if (this->step_number == 0) { -          this->step_number = this->number_of_steps; -        } -        this->step_number--; -      } -      // decrement the steps left: -      steps_left--; -      // step the motor to step number 0, 1, 2, or 3: -      stepMotor(this->step_number % 4); -    } -  } -} - -/* - * Moves the motor forward or backwards. - */ -void Stepper::stepMotor(int thisStep) -{ -  if (this->pin_count == 2) { -    switch (thisStep) { -      case 0: /* 01 */ -      digitalWrite(motor_pin_1, LOW); -      digitalWrite(motor_pin_2, HIGH); -      break; -      case 1: /* 11 */ -      digitalWrite(motor_pin_1, HIGH); -      digitalWrite(motor_pin_2, HIGH); -      break; -      case 2: /* 10 */ -      digitalWrite(motor_pin_1, HIGH); -      digitalWrite(motor_pin_2, LOW); -      break; -      case 3: /* 00 */ -      digitalWrite(motor_pin_1, LOW); -      digitalWrite(motor_pin_2, LOW); -      break; -    }  -  } -  if (this->pin_count == 4) { -    switch (thisStep) { -      case 0:    // 1010 -      digitalWrite(motor_pin_1, HIGH); -      digitalWrite(motor_pin_2, LOW); -      digitalWrite(motor_pin_3, HIGH); -      digitalWrite(motor_pin_4, LOW); -      break; -      case 1:    // 0110 -      digitalWrite(motor_pin_1, LOW); -      digitalWrite(motor_pin_2, HIGH); -      digitalWrite(motor_pin_3, HIGH); -      digitalWrite(motor_pin_4, LOW); -      break; -      case 2:    //0101 -      digitalWrite(motor_pin_1, LOW); -      digitalWrite(motor_pin_2, HIGH); -      digitalWrite(motor_pin_3, LOW); -      digitalWrite(motor_pin_4, HIGH); -      break; -      case 3:    //1001 -      digitalWrite(motor_pin_1, HIGH); -      digitalWrite(motor_pin_2, LOW); -      digitalWrite(motor_pin_3, LOW); -      digitalWrite(motor_pin_4, HIGH); -      break; -    }  -  } -} - -/* -  version() returns the version of the library: -*/ -int Stepper::version(void) -{ -  return 4; -} diff --git a/libraries/Stepper/Stepper.h b/libraries/Stepper/Stepper.h deleted file mode 100644 index 4094aee..0000000 --- a/libraries/Stepper/Stepper.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -  Stepper.h - - Stepper library for Wiring/Arduino - Version 0.4 -   -  Original library     (0.1) by Tom Igoe. -  Two-wire modifications   (0.2) by Sebastian Gassner -  Combination version   (0.3) by Tom Igoe and David Mellis -  Bug fix for four-wire   (0.4) by Tom Igoe, bug fix from Noah Shibley - -  Drives a unipolar or bipolar stepper motor using  2 wires or 4 wires - -  When wiring multiple stepper motors to a microcontroller, -  you quickly run out of output pins, with each motor requiring 4 connections.  - -  By making use of the fact that at any time two of the four motor -  coils are the inverse  of the other two, the number of -  control connections can be reduced from 4 to 2.  - -  A slightly modified circuit around a Darlington transistor array or an L293 H-bridge -  connects to only 2 microcontroler pins, inverts the signals received, -  and delivers the 4 (2 plus 2 inverted ones) output signals required -  for driving a stepper motor. - -  The sequence of control signals for 4 control wires is as follows: - -  Step C0 C1 C2 C3 -     1  1  0  1  0 -     2  0  1  1  0 -     3  0  1  0  1 -     4  1  0  0  1 - -  The sequence of controls signals for 2 control wires is as follows -  (columns C1 and C2 from above): - -  Step C0 C1 -     1  0  1 -     2  1  1 -     3  1  0 -     4  0  0 - -  The circuits can be found at  -  http://www.arduino.cc/en/Tutorial/Stepper -*/ - -// ensure this library description is only included once -#ifndef Stepper_h -#define Stepper_h - -// library interface description -class Stepper { -  public: -    // constructors: -    Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2); -    Stepper(int number_of_steps, int motor_pin_1, int motor_pin_2, int motor_pin_3, int motor_pin_4); - -    // speed setter method: -    void setSpeed(long whatSpeed); - -    // mover method: -    void step(int number_of_steps); - -    int version(void); - -  private: -    void stepMotor(int this_step); -     -    int direction;        // Direction of rotation -    int speed;          // Speed in RPMs -    unsigned long step_delay;    // delay between steps, in ms, based on speed -    int number_of_steps;      // total number of steps this motor can take -    int pin_count;        // whether you're driving the motor with 2 or 4 pins -    int step_number;        // which step the motor is on -     -    // motor pin numbers: -    int motor_pin_1; -    int motor_pin_2; -    int motor_pin_3; -    int motor_pin_4; -     -    long last_step_time;      // time stamp in ms of when the last step was taken -}; - -#endif - diff --git a/libraries/Stepper/examples/MotorKnob/MotorKnob.ino b/libraries/Stepper/examples/MotorKnob/MotorKnob.ino deleted file mode 100644 index d428186..0000000 --- a/libraries/Stepper/examples/MotorKnob/MotorKnob.ino +++ /dev/null @@ -1,41 +0,0 @@ -/* - * 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 deleted file mode 100644 index 2dbb57d..0000000 --- a/libraries/Stepper/examples/stepper_oneRevolution/stepper_oneRevolution.ino +++ /dev/null @@ -1,44 +0,0 @@ - -/*  - 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 deleted file mode 100644 index 36d3299..0000000 --- a/libraries/Stepper/examples/stepper_oneStepAtATime/stepper_oneStepAtATime.ino +++ /dev/null @@ -1,44 +0,0 @@ - -/*  - 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 deleted file mode 100644 index 1a67a55..0000000 --- a/libraries/Stepper/examples/stepper_speedControl/stepper_speedControl.ino +++ /dev/null @@ -1,48 +0,0 @@ - -/*  - 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); -  }  -} - - diff --git a/libraries/Stepper/keywords.txt b/libraries/Stepper/keywords.txt deleted file mode 100644 index 19a0fad..0000000 --- a/libraries/Stepper/keywords.txt +++ /dev/null @@ -1,28 +0,0 @@ -####################################### -# Syntax Coloring Map For Test -####################################### - -####################################### -# Datatypes (KEYWORD1) -####################################### - -Stepper	KEYWORD1 - -####################################### -# Methods and Functions (KEYWORD2) -####################################### - -step	KEYWORD2 -setSpeed	KEYWORD2 -version	KEYWORD2 - -###################################### -# Instances (KEYWORD2) -####################################### -direction	KEYWORD2 -speed	KEYWORD2 - - -####################################### -# Constants (LITERAL1) -####################################### | 
