Stepper
With Arduino.
Stepper:
Unipolar Stepper Motor
There are 5 wires. The red wire is the positive power input and should be connected to 5V.
Stepper motors comes with specifications as shown below. Few important ones are:
Voltage, Phase, torque, Angle
There are 8 different steps (these 8 steps is one step loop) for the stepper to move forward. Every step will make the shaft rotate with an angle of 5.625/64 degree.So if we want the shaft to revolve one circle, then the step loops we should make is 360/(8*5.625/64)=512(step loops).
5.625/64 is the stride angle that comes from the stepper specification
The Stepper motor needs a module which is basically a motor driver. The following diagram shows the wiring using a UNO board
/* One revolution of Unipolar stepper motor. Using digital pins 8 - 11 of Arduino. The motor should revolve one revolution in one direction, then one revolution in the other direction. */ void setup() { // initialize the digital pin as an output. pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); } void loop() { int i=0; //revolve one revolution clockwise for(i=0;i<512;i++){ clockwiserotate();} delay(1000); // wait for a second //revolve one revolution counterclockwise for(i=0;i<512;i++){ counterclockwiserotate();} delay(1000); // wait for a second } void clockwiserotate() { //revolve clockwise step1(); step2(); step3(); step4(); step5(); step6(); step7(); step8(); } void counterclockwiserotate() { //revolve counterclockwise step1(); step7(); step6(); step5(); step4(); step3(); step2(); step1(); } void step1(){ digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, LOW); delay(2); } void step2(){ digitalWrite(8, HIGH); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); delay(2); } void step3(){ digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(10, LOW); digitalWrite(11, LOW); delay(2); } void step4(){ digitalWrite(8, LOW); digitalWrite(9, HIGH); digitalWrite(10, HIGH); digitalWrite(11, LOW); delay(2); } void step5(){ digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, LOW); delay(2); } void step6(){ digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, HIGH); digitalWrite(11, HIGH); delay(2); } void step7(){ digitalWrite(8, LOW); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH); delay(2); } void step8(){ digitalWrite(8, HIGH); digitalWrite(9, LOW); digitalWrite(10, LOW); digitalWrite(11, HIGH); delay(2); }