Stepper Motor Control with Arcade joystick




Arduino Sketch

// Stepper Motor define
int stp = 2;
int dir = 3;
int stpEn = 8;

// Arcade joystick
int dirDown =7;
int dirUp = 6;
int dirRight =5;
int dirLeft = 4;

void setup() {
 
  // put your setup code here, to run once:
   pinMode(stp, OUTPUT);
   pinMode(dir, OUTPUT);
   pinMode(stpEn , OUTPUT);
 
   pinMode( dirDown , INPUT);
   pinMode( dirUp , INPUT);
   pinMode( dirLeft , INPUT);
   pinMode( dirRight , INPUT);

   digitalWrite(stp, LOW);
   digitalWrite(dir, LOW);
   digitalWrite(stpEn, LOW);
 
 
   Serial.begin(9600);
 
}

void loop() {
  // put your main code here, to run repeatedly:
   
 
   
     while( (digitalRead(dirLeft ) == LOW ) || (digitalRead(dirRight) == LOW )){
         Serial.println("x");
         digitalWrite(stpEn, LOW);
         
         if( digitalRead(dirLeft ) == LOW ){
         
           digitalWrite(dir, LOW);
 
         }
         else if( digitalRead(dirRight ) == LOW ){
         
           digitalWrite(dir, HIGH);
 
         }
       
      digitalWrite(stp,HIGH); //Trigger one step forward
      delay(1);
      digitalWrite(stp,LOW); //Pull step pin low so it can be triggered again
      delay(1);
 
   } // while loop

   digitalWrite(stpEn, HIGH);
 
}

ความคิดเห็น