BASIC4MCU | 질문게시판 | 리니어 레일 질문입니다
페이지 정보
작성자 졸업하자 작성일2020-11-14 18:49 조회4,828회 댓글1건본문
#include <Stepper.h>
int stepsPerRevolution1 = 200;
int stepsPerRevolution2 = 200;/*스탭모터를 360도 돌리기 위한 값*/
Stepper motor1(stepsPerRevolution1, 8, 9);
Stepper motor2(stepsPerRevolution2, 10, 11);/*pin number*/
void setup()
{
motor1.setSpeed(900);/*속도 설정(900rpm)*/
motor2.setSpeed(900);
Serial.begin(9600);
}
void loop()
{
motor1.step(stepsPerRevolution1);
motor2.step(stepsPerRevolution2);
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
리니어레일 2개를 같이 이송 하기 위해 구성한 코드입니다.
근데 문제점이 모터1이 이동한 다음 모터2가 작동해서 두 개가 동시에 나란히 움직이지가 않습니다.(살짝의 차이가 있음)
모터1과 모터2가 동시에 움직이게 하는 방법이 있는지 궁금합니다.
댓글 1
조회수 4,828master님의 댓글
master 작성일
motor1.step(200);
motor2.step(200);
모터1 200 스텝 이동한 후에 모터2 200 스텝이동합니다.
for(int i=0;i<200;i++){ motor1.step(1); motor2.step(1); }
1스텝씩 200번 루프를 돌리면 동시에 움직이는 것처럼 보이게 됩니다.