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);
}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การอินเตอร์เฟสเบื้องต้น

บทที่4

ESP8266 เชื่อมต่อ WIFI