Step Motor
int Pin0 = 13; //Created variables integer type.
int Pin1 = 12;
int Pin2 = 11;
int Pin3 = 10;
int _step = 0;
int MotorSeed=1;
boolean dir = true; //Created variables boolean type.
void setup()
{ //Setup define pin output
pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}
void loop()
{ //Loop drive step motor have 8 step.
switch(_step){
case 0:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 1);
break;
case 1:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 1);
break;
case 2:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 0);
break;
case 3:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 0);
break;
case 4:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 5:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 6:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 7:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 1);
break;
default:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
}
if(dir){ //Check the step for start first step.
_step++;
}else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
delay(MotorSeed);
}
int Pin1 = 12;
int Pin2 = 11;
int Pin3 = 10;
int _step = 0;
int MotorSeed=1;
boolean dir = true; //Created variables boolean type.
void setup()
{ //Setup define pin output
pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
}
void loop()
{ //Loop drive step motor have 8 step.
switch(_step){
case 0:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 1);
break;
case 1:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 1);
break;
case 2:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 0);
break;
case 3:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 1);
digitalWrite(Pin3, 0);
break;
case 4:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 5:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 1);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 6:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
case 7:
digitalWrite(Pin0, 1);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 1);
break;
default:
digitalWrite(Pin0, 0);
digitalWrite(Pin1, 0);
digitalWrite(Pin2, 0);
digitalWrite(Pin3, 0);
break;
}
if(dir){ //Check the step for start first step.
_step++;
}else{
_step--;
}
if(_step>7){
_step=0;
}
if(_step<0){
_step=7;
}
delay(MotorSeed);
}
ความคิดเห็น
แสดงความคิดเห็น