Servo motor(서보모터) 본문

프로젝트/아두이노

Servo motor(서보모터)

뚜스머리 2017. 7. 29. 22:42

서보모터를 이용하는 이유중에 하나는 정확한 제어라고 생각한다. PWM신호를 통해 원하는 각도만큼 혹은 속도만큼 제어가 가능하다.

운이 좋게도 서보모터에는 대체적으로 모터드라이버가 들어있어, 큰 어려움 없이 제어가 가능하다.

아두이노에서는 서보모터와 관련된 <Servo.h>라이브러리를 제공하고 있어 더욱 편하게 코딩할 수 있다.





위 소스에 대해 간략하게 설명하면, 우선적으로 Servo 객체를 선언한다.

각 객체를 attach함수를 사용하여 초기화 하는데, 변수는 서보모터의 신호선이 들어가는 디지털 포트를 입력해주면 된다.

또한, 서보모터에서 각도는 write 함수를 통해 입력할 수 있고, 입력된 각도에 맞춰 서버모터가 회전하게 된다.

위 예제에서는 0에서 180까지 또 180에서 0까지 각도를 변경하게 된다.






서보모터에서 허용되는 값을 넘어가게 되면 지속적으로 회전을 하는등의 오류가 발생하게 되니 소스 코딩을 할 때 주의해야 한다.


마지막으로 detach함수가 있는데 이는 attach와는 반대로 해당 포트와의 연결을 해제하는 것이다.

실제 서보가 상시 돌아갈 필요가 없는 경우에는 detach를 사용하여 포트를 사용하지 않게 하면 서보를 사용하지 않게 할 수 있다.

'프로젝트 > 아두이노' 카테고리의 다른 글

초음파센서. 지연 없애기  (0) 2017.08.04
초음파 센서  (0) 2017.08.03
아두이노 기초  (0) 2017.05.22
아두이노 스케치 IDC 설치  (0) 2017.05.21