Tuesday, August 8, 2017

Stepper Motor Speed Sketch

/* This is a sketch that test stepper motor.  */

#include <Stepper.h>
int Pin0 = 8;
int Pin1 = 9;
int Pin2 = 10;
int Pin3 = 11;
int _step = 0;
boolean dir=true;
const int x = 1000; //512
Stepper motor(x, 11, 10, 9, 8);
int ledPin = 13;

void setup() {

  pinMode(Pin0,OUTPUT);
  pinMode(Pin1, OUTPUT);
  pinMode(Pin2, OUTPUT);
  pinMode(Pin3, OUTPUT);
  motor.setSpeed(2000);  //560
  //Serial.begin(9600);
}

void loop() {

switch(_step){
  case 0:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, HIGH);
    
    
   break;

   case 1:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, HIGH);
    digitalWrite(Pin3, HIGH);
   break;

   case 2:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, HIGH);
    digitalWrite(Pin3, LOW);
   break;

   case 3:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, HIGH);
    digitalWrite(Pin2, HIGH);
    digitalWrite(Pin3, LOW);
   break;

   case 4:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, HIGH);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, LOW);
   break;

   case 5:
    digitalWrite(Pin0, HIGH);
    digitalWrite(Pin1, HIGH);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, LOW);
   break;

   case 6:
    digitalWrite(Pin0, HIGH);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, LOW);
   break;

   case 7:
    digitalWrite(Pin0, HIGH);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, HIGH);
   break;
  
default:
    digitalWrite(Pin0, LOW);
    digitalWrite(Pin1, LOW);
    digitalWrite(Pin2, LOW);
    digitalWrite(Pin3, LOW);
   break;
  }

  if(dir){
    _step--;
  }else{
    _step++;
  }
 if(_step>7){
    _step=0;
 }
 if(_step<0){
    _step=7;
 }

delay(1);

}

No comments:

Post a Comment