Basic Library
Digital I/O
Analog I/O
Advanced I/O
Time
Math
Trigonometry
Random Numbers
Bits and Bytes
Interrupts
Serial Comm.
Standard Library
Servo Motor
Stepping Motor
Liquid Crystal
EEPROM
SPI
I2C (Wire)
SD Card
SD (File Operations)
Ethernet
Ethernet (Server)
Ethernet (Client)
Firmata
Periodic Operation
Power Save
Clock (RTC)
SoftwareSerial
Utility
Stepping Motor (Stepper Class)
This library enables control of stepping motors connected to the GR-KURUMI board. To use, import as a library, specifying #include <stepper.h>
.
Stepper Constructor
Description
This constructor creates Stepper Class instances.
Syntax
Stepper(steps, pin1, pin2)Stepper(steps, pin1, pin2, pin3, pin4)
Parameters
steps: The number of steps in one revolution (360 degrees) of the motor. 100 indicates 3.6 degrees per step.
(int) pins 1 - 4: Pins for connection to a motor.Returns
None
setSpeed
Description
Sets the motor speed in rotations per minute (RPMs).
Syntax
setSpeed(int rpms)
Parameters
rpms: The speed at which the motor should turn in rotations per minute [rpm]
Returns
None
step
Description
Turns the motor a specific number of steps.
Syntax
step(int steps)
Parameters
steps: The number of steps to turn the motor - positive to turn one direction, negative to turn the other
Returns
None
getRpms
Description
Gets the current rpm of the motor.
Syntax
int getRpms()
Parameters
None
Returns
Current rpm
getPosition
Description
Gets the current rpm position of a motor.
Syntax
int getPosition()
Parameters
None
Returns
Current rpm position (number of steps).
Sample Program
#include <Arduino.h>
#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(A0);
// 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;
}