Hardware | Arduino 로 Servo 를 움직여 보자

|

1. Servo

보통 전원만 들어오면 한쪽으로만 도는 모터도 있지만,

무선 조정 자동차 등에 들어가는 전자 제어식 모터가 있습니다.

이 모터는 각도 및 방향을 지정할 수 있습니다.


이런 모터 중 하나가 Servo 입니다.


제가 가지고 있는 것은 따로 구입한 것은 아니고,

Kickstarter 라는 클라우드 펀딩에서 Gimbal 장비로 소개된 프로젝트에 투자하여 받은 장비에 있는 것입니다.


아래는 그 Kickstarter 프로젝트 소개 입니다.


Gimbal for your Lights Camera or Action

https://www.kickstarter.com/projects/2035152529/gimbal-for-your-lights-camera-or-action?ref=user_menu


요런겁니다.



카메라나 전등을 붙이고 원격에서 그 방향을 조절할 수 있는 장치 입니다.

단, 받은 장비는 Hardware 만 있고 Software 는 자기가 만들어야 하는 제품입니다.




2. 부품

Gimbal 에 들어가는 부품은 Futaba 의 다음 두개 입니다.


- S3010


- S3114



이제 이런 부품의 생산도 중국이네요.




3. Layout

Pin 배열입니다.

   Servo  | Arduino Nano
-------------------------
   Black  |     GND
    Red   |     5V
   White  |     D9
-------------------------


아래와 같이 연결하면 됩니다.





4. Source

Arduino IDE 에서는 "<Servo.h>" 라는 라이브러리를 제공해 주고 있습니다.

그래서 control pin 정보와 움직이고 싶은 각도만 입력하면 그대로 동작해요.


참 편하죠?


#include "Servo.h"
 
Servo myservo; // create servo object to control a servo
 
void setup()
{
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}
    
void loop(){   
  myservo.write(0);     // sets the servo at 0 degree position
  delay(1000);          // waits for the servo to get there
  myservo.write(90);    // sets the servo at 90 degree position
  delay(1000);          // waits for the servo to get there
  myservo.write(180);   // sets the servo at 180 degree position
  delay(1000);          // waits for the servo to get there
  myservo.write(90);    // sets the servo at 90 degree position
  delay(1000);          // waits for the servo to get there
}





5. 결과

소스를 올리고 전원을 넣으면 다음과 같이 움직입니다.



감시 카메라를 올리고 사용하려면 좀더 디테일한 움직임을 보여야 하는데,

일단 동작만 확인합니다.


Servo도 step motor 의 일종일 터인데,

지원 라이브러리로 편하게 동작시킬 수 있는게 좋네요.




FIN

좀더 연구해봐야 겠습니다.

And