연결방법
오른쪽 드라이버 모듈 추가
모듈 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);
}
'코딩 놀이' 카테고리의 다른 글
Appinventer로 수열 0~100 [15] (2) | 2024.11.30 |
---|---|
xyDrawing 부르투스 제어[ 14 ] (0) | 2024.11.29 |
시리얼 통신으로 스텝 모터 제어 [11] (0) | 2024.11.26 |
스탭모터 해상도와 이동거리 측정(10) (0) | 2024.11.26 |
Stepper Motor 동작(9) (1) | 2024.11.26 |