BASIC4MCU | 질문게시판 | 아두이노 스텝모터 각도제어 질문
페이지 정보
작성자 master 작성일2023-03-17 20:05 조회565회 댓글3건본문
https://kin.naver.com/qna/detail.naver?d1id=11&dirId=1118&docId=441786238&scrollTo=answer2
이 질문글에 대한 답글입니다.
//#define STEPs 2048 // 1바퀴 스텝수
//
const int IN1=11,IN2=10,IN3=9,IN4=8,ENA=7,ENB=6;
//
int PINs[6]={IN1,IN2,IN3,IN4,ENA,ENB};
//
int CW[4] ={0b0110,0b0101,0b1001,0b1010};
//int CCW[4]={0b1010,0b1001,0b0101,0b0110};
//
int step=0;
//
void setup(){
for(int i=0;i<6;i++)pinMode(PINs[i],OUTPUT);
digitalWrite(ENA,1); digitalWrite(ENB,1);
Serial.begin(9600);
}
//
void loop(){
if(Serial.available()){
int val=Serial.parseInt(SKIP_ALL,'\n');
Serial.print("angle: "); Serial.println(val);
val=map(val,0,360,0,2048);
Serial.print("steps: "); Serial.println(val);
//
cw_move(val);
}
}
//
void cw_move(int n){
for(int i=0;i<n;i++){ // CW
int b=CW[step];
digitalWrite(PINs[0],bitRead(b,0)); digitalWrite(PINs[1],bitRead(b,1));
digitalWrite(PINs[2],bitRead(b,2)); digitalWrite(PINs[3],bitRead(b,3));
delay(10);
if(++step>3)step=0;
}
}
질문코드를 참고해서 만들었으니 정상동작하는지 체크 해보세요
댓글 3
조회수 565Xorzor님의 댓글
Xorzor 작성일
오류가 납니다 ㅜㅠ
1. PINs[4]={IN1,IN2,IN3,IN4,ENA,ENB}
2. int b=bitRead(CW[step];
3.digitalWrite(PINs[2],b,2));
이 부분에서 오류가 발생합니다
master님의 댓글
master
다시 돌려보세요
Xorzor님의 댓글
Xorzor
정상동작 합니다!!! 감사합니다 ㅠㅠ