brunch

You can make anything
by writing

C.S.Lewis

by Cylogic Aug 17. 2020

14. 서보모터-원하는 각도로 회전 또는 반복운동

서보모터의 사용법

서보모터는 DC 모터의 한 종류이나 그 작동 목표가 회전을 목표로 하지 않고, 지정한 각도까지만 회전하는 것을 목표로 하는 장치이다.


서보모터는 사진과 같은 모습을 하고 있고 아두이노와 연결할 수 있는 3개의 선을 가지고 있다.


각 선의 연결은 다음과 같이 하면 된다.  


진한 갈색 : GND

빨간색 : 5V

주황색 : 컨트롤 선 (디지털 핀)


서보모터를 특정 각도로 반복하여 움직이는 것을 테스트하기 위한 회로를 아래와 같이 꾸민다.


스위치를 눌렀을 때 90도를 움직이고, 손을 놓으면 원래 위치로 돌아오게 코딩을 해보자.

첫 줄에 처음 보는 명령어가 있다.

#include <Servo.h> 

인데 이는 서보 모터를 움직이기 위한 프로그램 라이브러리를 포함하여 코드를 실행하라는 이야기이다.

밑에 나오는 코드 중 tSrv.attach 또는 tSrv.write 와 같은 명령어는 이 라이브러리가 있어야 실행이 가능하다.

앞으로 새로운 부품이 나올 때 #include라는 명령어를 사용하는 일이 자주 있게 될 것이다.


Servo tSrv는 변수 sSrv를 해당 라이브러리에서 정의한 변수로 지정하는 명령어이다.

이 부분은 서보모터를 사용하려면 비판 없이 받아 들어야 한다. 물론 변수의 이름은 코딩을 하는 사람이 마음대로 정하면 된다.


회로에서 보는 바와 같이 서보모터는 4번 핀에 연결하고 2번 핀에는 버튼스위치를 연결한다.

이를 #define으로 정의해 둔다.


tSrv.attach(핀번호)는 해당 핀에 서보모터의 컨트롤 핀이 연결되어 있음을 알린다.


tSrv.write(각도)의 명령어는 서보모터의 라이브러리에 지정된 명령어 함수인데, 해당 각도만큼 모터를 회전시키라는 명령어이다.


오랜만에 해당 코드를 한국어로 번역해 보자.


서보모터는 아두이노 장난감 제작에 있어서 가장 많이 사용되는 부품이다.

현재 회로의 버튼스위치를 조도 센서로 변경하거나, 초음파 거리 센서 등으로 바꾸게 되면, 수많은 응용 작품을 만들 수 있다.


다음 강좌에서는 많은 사람들이 서보 모터를 이용하여 제작한 작품들을 몇 가지 나열해 보고 이 중 몇 가지를 제작해 보도록 하겠다.

작품 중에는 장난감도 있고, 생활에 응용할 수 있는 제품들도 있다.




브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari