본문 바로가기
아두이노 모터

[모터/서보모터] 소형 서보 모터(servo motor) 아두이노 구동 가이드

by 작동미학 2015. 1. 28.
반응형

서보 모터(servo motor)를 아두이노에 붙여서 작동하는 가이드

 

▶ 이 가이드를 따라하면,

- servo motor를 아두이노 UNO와 연결하여 자유롭게 제어할 수 있다

- 아두이노 기본 내장 라이브러리인 servo의 사용법을 알 수 있다.

 

▶ 부품 설명 및 회로 구성

소형 서보 모터는 특정 위치에 고정시킨 후 0도부터 180도까지 모터 회전 각을 다양하게 제어할 수 있는 모터로, R/C 헬기 제어에도 많이 사용된다. 이 모터는 DC모터(단순히 +/- 연결 및 전력 량에 따라 구동되는 모터)와 스텝모터(미세하게 앞뒤 방향으로 얼만큼 회전각을 주어 움직일지 제어하는 모터) 두가지와 함께, 제어를 위한 3대 모터로 간주된다. 세가지 모터의 쓰임이 다른데, 스텝모터는 시계/반시계 방향으로 얼만큼 회전할지를 주어 정확히 회전하는데 반하여(예컨데 3바퀴 반을 매우 정확히 회전), 서보모터는 대부분 반바퀴 내에서 절대 각도를 지정하여 움직인다.

실제 구동해보면 무슨 이야기인지 금방 알 수 있다.

<Arduino UNO + 소형 서보 모터 / 5V(빨강), GND(검정), 데이터핀 9번(기타) 연결>

주의할 점은 상기 예제에서는 소형 서보 모터를 UNO에 직접 연결하는데, 10$이상의 중형 서보 모터들은 별도 전원이 필요하다. 전원이 부족하면 작동하지 않는다.

 

▶ 소스 코드 입력 및 구동

별도 라이브러리는 필요없고, 아두이도 스케치(sketch)에 내장된Servo 라이브러리를 사용하자. 아래 소스코드를 입력한 후 구동한다. 하기 소스는 0도부터 180도까지 10도 단위로 정방향 이동하다가, 다시 역방향으로 이동하는 예이다.

GitHub 원본 소스 링크 / https://github.com/bbangpan/bbangpan.com/blob/master/neibc_servo/neibc_servo.ino

------------------------------------------------------------------------------------------------------------

/* Originally posted on www.bbangpan.com

 

Program Description: Servo motor test code(angle change)

Needed library : Servo(Arduino's default library)

Tested on : Arduino 1.0.6, Arduino UNO R3, Small size servo motor

 

Copyright (c) 2015 www.bbangpan.com. All right reserved.

This program can be used for any non-commercial purpose freely. */

 

#include <Servo.h>

 

int servoPin = 9;

 

Servo servo;

 

int angle = 0; // servo position in degrees

 

void setup()

{

servo.attach(servoPin);

Serial.begin(9600);

}

 

void loop()

{

// 0 to 180 degrees

for(angle = 0; angle < 180; angle = angle + 10)

{

Serial.print("normal mode/angle : ");

Serial.println(angle);

servo.write(angle);

delay(1000);

}

// 180 to 0 degrees

for(angle = 180; angle > 0; angle = angle - 10)

{

Serial.print("reverse mode/angle : ");

Serial.println(angle);

servo.write(angle);

delay(1000);

}

}

------------------------------------------------------------------------------------------------------------

소스를 upload(à) 버튼을 눌러 실행한다.

 

▶ 구매 가이드

서보모터 : http://www.aliexpress.com/wholesale?SearchText=arduino+servo

(시험용의 경우는 소형(micro)으로 구매하기를 권고한다. 중형이 넘어가면 서보모터 드라이버가 별도로 필요하다)

 

강의 키워드

서보 모터, servo motor, 아두이도, Arduino

 

반응형