본문 바로가기

코딩 놀이

2개의 스텝 모터 제어 [12]

 
연결방법
오른쪽 드라이버 모듈 추가
모듈       arduino 보드
a             3  
d             6
e              사용하지 않음

왼쪽모듈     오른쪽 모듈
12V              12V
END             END
END              END
  5V                 5V
* 모듈에는  9V로  인쇄되어 있지만 12V로 사용합니다.
#include <AccelStepper.h>  
const int step_pinX = 2;  
const int dir_pinX  = 5; 
const int step_pinY = 3;  
const int dir_pinY  = 6;
long motorPositionX = 0;
long motorPositionY = 0;
AccelStepper stepperX(AccelStepper::DRIVER, step_pinX, dir_pinX);   
AccelStepper stepperY(AccelStepper::DRIVER, step_pinY, dir_pinY);   
//char  valXY;

void setup()   {   
  Serial.begin(9600); 
  stepperX_init();    
  stepperX.setCurrentPosition(0); 
   stepperY_init();    
  stepperY.setCurrentPosition(0);   
}   
  
void loop()   
{   
   if(Serial.available()){  

String val = Serial.readStringUntil('\n');
    byte leng= val.length();
     char   valXY=val.charAt(0);
     Serial.println(valXY);
     val=val.substring(1,leng);
     int valS=val.toInt();
    Serial.println(valS);
    
     switch(valXY){
     case 'x':
     stepperX.moveTo(valS);  
  stepperX.runToPosition();  
  motorPositionX = stepperX.currentPosition();    
  stepperX.stop(); 
  break;
  case 'y':
  stepperY.moveTo(valS);  
  stepperY.runToPosition();  
  motorPositionY = stepperY.currentPosition();    
  stepperY.stop(); 
  break;
      
     }
     
    
     
  
    
   

}

void stepperX_init(){   
  stepperX.setMaxSpeed(2000);   
  stepperX.setAcceleration(1500);   
}  
void stepperY_init(){   
  stepperY.setMaxSpeed(2000);   
  stepperY.setAcceleration(1500);   
}  


     

여기서부터 참고합니다.