서보모터는 PWM 신호를 통해 회전을 제어할 수 있는 모터입니다. 내부는 DC모터와 모터드라이버로 구성되어 있으며,저항이나 엔코더를 포함하는 경우도 있습니다. 보통 서보모터는
0~180도 사이의 각도를 제어할 수 있으며, 힘이 강하고
정확한 위치 제어가 가능하여 로봇 관절이나 차량의 방향타 등에 사용됩니다.
■ 진행 전 알면 좋은 내용
· 아두이노에 대해 알아보기
· 아두이노 통합개발환경 알아보기
· 아두이노 PWM 출력 알아보기
· 라이브러리 사용하기
■ 준비물 (Items)
· SG-90 서보모터
· 아두이노 우노 보드
· 우노 케이블 (USB - B)
· 400핀
브레드 보드
· M-M 케이블
■ 사양 (Specification)
· 각도 및 속도 제어 가능
· 작동 전압: 4.8~7.2V
· 작동 전류: 0.2~0.7A
· 크기: 22.2 x 11.8 x 31 mm
· 토크:
1.8Kg.cm
■ 연결 회로도
(Fritzing) - 프로젝트 1
■ 샘플코드 (Sample Code) - 프로젝트 1
#include <Servo.h> //
서보모터 라이브러리를 불러옵니다.
Servo
myservo; // 서보모터에 myservo라고 이름을 붙여줍니다.
void setup() {
myservo.attach(9); // myservo를 9번으로 선언하고 작동할 준비를 합니다.
}
void loop() {
myservo.write(30); // myservo를 30도가 되도록 움직입니다.
delay(1000);
// 1초동안 기다립니다.
myservo.write(150); // myservo를 150도가 되도록 움직입니다.
delay(1000);
// 1초동안 기다립니다.
}
|
■ 연결 회로도 (Fritzing) - 프로젝트 2
■ 샘플코드 (Sample Code) - 프로젝트 2
#include <Servo.h> // 서보모터 라이브러리를 불러옵니다.
Servo
myservo1; // 서보모터에 myservo1라고 이름을 붙여줍니다.
Servo
myservo2; // 서보모터에 myservo2라고 이름을 붙여줍니다.
void setup() {
myservo1.attach(9); // myservo1을 9번으로 선언하고, 작동할
준비를 합니다.
myservo2.attach(10); // myservo2를 9번으로 선언하고, 작동할
준비를 합니다.
}
void loop() {
myservo1.write(30); // myservo1을 30도가 되도록 회전합니다.
myservo2.write(150); // myservo2를 150도가 되도록 회전합니다.
delay(1000);
// 1초동안 기다립니다.
myservo1.write(150); // myservo1을 150도가 되도록 회전합니다.
myservo2.write(30);
// myservo2를
30도가 되도록 회전합니다.
delay(1000);
// 1초동안 기다립니다.
}
|
■ 동영상 (Video)
0.03 : sg 90 한 개 사용하기 - 프로젝트 1
0.07 : sg 90 두 개 사용하기 - 프로젝트
2
최저가 SG90 모터 구입하기 바로가기