반응형

【 아두이노모듈#22 Adafruit 사의 4채널 아두이노 모터쉴드 - 서보모터 사용하기!  

 Adafruit 사의 모터쉴드는 L293D 모터드라이버를 2개를 H-bridge 구성한 4채널 모터드라이브 쉴드 보드이다. 

여기서 쉴드보드란, 아두이노 우노, 메가, 레오나르도 등에 적층하여 사용할 수 있는 확장형 보드라는 의미이다.  따라서 다른 형태의 모터드라이버 보드와는 달리 거추장스러운 선연결이 많이 줄어 들게 되는 장점이 있다.  또한, 서보모터(2개), DC 모터(4개) 혹은 스텝모터(2개)를 함께 연결하여 동시 구동이 가능한 확장성을 지닌 보드이다.  이번 시간부터 서보모터 부터 실습하여 DC모터 4개를 구동할 수 있는 RC Car 구동에 활용해 볼 예정이다. 

 Let's get it~!

▶ 아두이노 L293D 모터 드라이버 쉴드 스펙

아두이노 우노, 레오나르도, 메가, 듀에 보드 위에 결합 가능한 핀구조이다.

[ 주요 스펙-특징 ]

- 모터 채널당 최대 600mA 출력을 내보낼 수 있다. (합산 전류 최대치는 1.2A-보호회로 내장) 

- 5V Servo 모터 2개를 연결 사용가능하다 (High resolution)

- 동시에 4개의 DC 모터 또는 2개의 Stepper 모터 또는 2개의 Servo 모터 구동이 가능하다.

- DC 모터 구동시 양방향 구동과 8bit의 속도제어가 가능하다 (speed : 0~255)

- 4.5V~36V DC 모터 제어가 가능하다.

- 아두이노 보드와 연결된 리셋 단자가 있다.

- 모터구동을 원활하게 하기 위하여 위부 전원 입력단자가 별도로 있다.

각종 모터를 연결한 모습

 

▶ 서보모터(2개) 제어하기

 

▶ 사전준비 :

 아래처럼 라이브러리 관리에서 Adafruit 사의 모터 드라이버를 다운받아 라이브러리에 추가 한다.(구글, 깃허브 등에서 다운로드도 가능)

 라이브러리 직접 다운로드 :

Adafruit-Motor-Shield.zip
0.01MB

 

▶ 회로연결 :

 아래와 같이 서보모터 두 개를 연결한다.

 ※ 외부전원 +, GND 구분을 잘하여 연결하고, 가급적 6~7V 이상의 전원을 공급해준다. (AA x 4개도 가능)

    위 이미지는 하단에 아두이노 보드가 결합 된 모습임을 참고하라.

 

▶ 코딩 :

 

/* 모터쉴드에 서보모터 2대 연결 실습 코드              */

#include     // Adafruit의 L293D모터쉴드 라이브러리
#include       // 서보모터 라이브러리
Servo servo1;    // 서보모터 1 정의
Servo servo2;    // 서보모터 2 정의

void setup() {
  Serial.begin(9600);    
  servo1.attach(9); // 서보모터 1 연결 (9번핀-고정)
  servo2.attach(10); // 서보모터 2 연결 (10번핀-고정)
}
void loop() {
  servo1.write(0);    // 서보모터1을 0도의 위치로 이동
  delay(1000);        // 1초 시간 지연
  servo1.write(180);  // 서보모터1을 180도의 위치로 이동
  delay(1000);        // 1초 시간 지연
     
  servo2.write(0);    // 서보모터2를 0도의 위치로 이동
  delay(1000);        // 1초 시간 지연
  servo2.write(180);  // 서보모터2를 180도의 위치로 이동
  delay(1000);        // 1초 시간 지연
}

 

【코드 다운로드】

01_2Servo-motor_shield.zip
0.00MB

▶ 동작 영상 :

반응형