BASIC4MCU | 질문게시판 | 아두이노 스태핑모터 제어중 추가 하고싶은 부분이 있는데 감이 안잡혀서 질문드립니다
페이지 정보
작성자 쿤싼 작성일2021-08-12 13:34 조회3,309회 댓글1건본문
#define steps 5
#define dir 6
#define ms1 8
#define ms2 9
#define ms3 10 //핀연결
unsigned int val1, val2, val3, val4, val5, val6; //입력할 변수값 스텝수, 회전속도 딜레이, 회전방향
unsigned int i; //for문에 사용할 변수
unsigned int j;
void setup(){
Serial.begin(9600);
pinMode(steps, OUTPUT);
pinMode(dir, OUTPUT);
pinMode(ms1, OUTPUT);
pinMode(ms2, OUTPUT);
pinMode(ms3, OUTPUT); //신호보낼 핀 출력설정
digitalWrite(ms1, LOW);
digitalWrite(ms2, LOW);
digitalWrite(ms3, LOW); //분주설정
}
void loop(){
{ //시리얼 입력이 있을경우
val1=2000; //스텝수 입력
val2=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val3=0; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val3); //회전방향 출력
for(i=0; i<val1; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, HIGH);
delayMicroseconds(val2); //딜레이값
digitalWrite(steps, LOW);
delayMicroseconds(val2);
}
val4=2000; //스텝수 입력
val5=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val6=1; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val6);
for(i=0; i<val4; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, LOW);
delayMicroseconds(val5); //딜레이값
digitalWrite(steps, HIGH);
delayMicroseconds(val5);
}
val1=2000; //스텝수 입력
val2=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val3=0; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val3); //회전방향 출력
for(i=0; i<val1; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, HIGH);
delayMicroseconds(val2); //딜레이값
digitalWrite(steps, LOW);
delayMicroseconds(val2);
}
val4=2000; //스텝수 입력
val5=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val6=1; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val6);
for(i=0; i<val4; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, LOW);
delayMicroseconds(val5); //딜레이값
digitalWrite(steps, HIGH);
delayMicroseconds(val5);
}
val1=2000; //스텝수 입력
val2=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val3=0; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val3); //회전방향 출력
for(i=0; i<val1; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, HIGH);
delayMicroseconds(val2); //딜레이값
digitalWrite(steps, LOW);
delayMicroseconds(val2);
}
val4=2000; //스텝수 입력
val5=400; //회전속도를 결정하는 딜레이값 입력(값이 작을수록 회전속도가 빨라짐)
val6=1; //회전방향을 결정하는 입력
delay(1000);
digitalWrite(dir, val6);
for(i=0; i<val4; i++){ //정해진 스텝수만큼 펄스입력
digitalWrite(steps, LOW);
delayMicroseconds(val5); //딜레이값
digitalWrite(steps, HIGH);
delayMicroseconds(val5);
}
digitalWrite(dir, 0);
for(i=0; i=2000; i++){
digitalWrite(steps,LOW);
delayMicroseconds(val2);
digitalWrite(steps, LOW);
delayMicroseconds(val5);
}
}
}
이후에 텍스트 스위치를 추가하여 아두이노 제어를 하고싶은데 갈피가 잡히지 않습니다...
댓글 1
조회수 3,309master님의 댓글
master 작성일스위치는 기초중의 기초라서 이미 알고 있을텐데 뭐가 문제일까요?