서보모터(Servo motor, SG90): 두 판 사이의 차이

아두위키 : Arduwiki
편집 요약 없음
편집 요약 없음
89번째 줄: 89번째 줄:


=== 실행 결과 ===
=== 실행 결과 ===
* [https://blog.naver.com/gongzipsa/222900340067 작동영상]
* 시리얼모니터
[[파일:Sg90 테스트 시리얼모니터.png|가운데|class=coders100]]
[[파일:Sg90 테스트 시리얼모니터.png|가운데|class=coders100]]


== '''구매 링크''' ==
== '''구매 링크''' ==
[https://smartstore.naver.com/gongzipsa/products/7414893623 공집사몰]
[https://smartstore.naver.com/gongzipsa/products/7414893623 공집사몰]

2023년 11월 17일 (금) 14:58 판

신호에 따라 회전각도를 조절할 수 있는 제품입니다.

정확한 위치제어가 가능하여 로봇 관절 등에 사용됩니다.

회전각 범위는 0도 이상 180도 이하 입니다.

사양

  • 동작전압 : 5V
  • 소비전류 : 0.2A ~ 0.7A
  • 각도범위 : 0° ~ 180°

필요 하드웨어

  • Servo motor
  • Arduino

연결

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);
      }
    }
  }
}

실행 결과

구매 링크

공집사몰