[Arduino|아두이노] 스텝모터 (28BYJ-48) 구동하기 (ULN2003 드라이브)

아두이노 스텝모터 (28BYJ-48) 구동하기


아래의 스텝모터는 인터넷에서 쉽게 구할 수 있으며 스텝모터(28BYJ-48)와 모터 드라이브(ULN2003)가 함께 판매되고 있다.

아래의 예제는 모터가 한바퀴 회전하고 다시 역방향으로 한바퀴 회전하는 예제이다.


아래의 순서대로 점퍼 케이블을 연결한다.


주황색 케이블 : 아두이노  8번핀, 스텝모터 IN1

초록색 케이블 : 아두이노  9번핀, 스텝모터 IN2

파란색 케이블 : 아두이노 10번핀, 스텝모터 IN3

노란색 케이블 : 아두이노 11번핀, 스텝모터 IN4


하얀색 케이블 : 아두이노 5V, 스텝모터 +

검은색 케이블 : 아두이노 GND, 스텝모터 -




예제 소스1

#include <Stepper.h>

// 2048:한바퀴(360도), 1024:반바퀴(180도)...
const int stepsPerRevolution = 2048; 
// 모터 드라이브에 연결된 핀 IN4, IN2, IN3, IN1
Stepper myStepper(stepsPerRevolution,11,9,10,8);           
void setup() {
  myStepper.setSpeed(14); 
}
void loop() {
  // 시계 반대 방향으로 한바퀴 회전
  myStepper.step(stepsPerRevolution);
  delay(500);

  // 시계 방향으로 한바퀴 회전
  myStepper.step(-stepsPerRevolution);
  delay(500);
}


예제소스2

#include <Stepper.h>

const int stepsPerRevolution = 64; 
Stepper myStepper(stepsPerRevolution, 11,9,10,8); 
void setup() {
  myStepper.setSpeed(300);
}
void loop() {
  
  // 시계 반대 방향으로 한바퀴 회전
  for(int i=0; i<32; i++) {  // 64 * 32 = 2048 한바퀴
    myStepper.step(stepsPerRevolution);
  }
  delay(500);

  // 시계 방향으로 한바퀴 회전
  for(int i=0; i<32; i++) {
    myStepper.step(-stepsPerRevolution);
  }
  delay(500);
}



스텝모터 (28BYJ-48)와 모터 드라이브 (ULN2003)으로 구성되어 있다.



주황색 IN1, 초록색 IN2, 파란색 IN3, 노란색 IN4에 연결한다.



주황색 8번핀, 초록색 9번핀, 파란색 10번핀, 노란색 11번핀에 연결한다.



아두이노의 5V는 +에 연결하고 GND는 -에 연결한다.



소스코드를 업로드하면 모터가 회전하는 것을 확인 할 수 있다.


 

댓글

Designed by JB FACTORY