서보모터(Servo motor, SG90)
신호에 따라 회전각도를 조절할 수 있는 제품입니다.
정확한 위치제어가 가능하여 로봇 관절 등에 사용됩니다.
회전각 범위는 0도 이상 180도 이하 입니다.
사양
- 동작전압 : 5V
- 소비전류 : 0.2A ~ 0.7A
- 각도범위 : 0° ~ 180°
필요 하드웨어
연결
Servor motor | Arduino |
S | D7 |
+ | 5V |
- | GND |
라이브러리
- Servo (기본 라이브러리)
예제 코드
// servo 라이브러리 사용
#include <Servo.h>
// 7번핀 사용
#define pin 7
//sevo 객체 지정
Servo servo;
//각도 변수 지정
int pos = 60;
void setup() {
Serial.begin(9600);
//서보모터 사용 핀번호 설정
servo.attach(pin);
//서보모터 초기 각도 설정
servo.write(pos);
Serial.println("Serial start");
Serial.print("default degree : ");
Serial.println(pos);
}
void loop() {
if (Serial.available()) {
char contrl = Serial.read();
if (contrl == 'a') { //시리얼 모니터에 a 입력시 60도 증가
if (pos == 180)
Serial.println("max angle");
else {
pos = pos + 60;
Serial.print("degree : ");
Serial.println(pos);
servo.write(pos);
}
} else if (contrl == 'b') { //시리얼 모니터에 b 입력시 60도 감소
if (pos == 0)
Serial.println("min angle");
else {
pos = pos - 60;
Serial.print("degree : ");
Serial.println(pos);
servo.write(pos);
}
}
}
}
실행 결과
- 작동영상
- 시리얼모니터