정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

서보모터 속도 관련 질문이 있습니다.
최장우 | 2018-07-04

1. 프로젝트 사용한 보드 종류

아두이노 UNO

 

2. 사용한 개발 프로그램명

아두이노 IDE

 

3. 사용한 모터 모델명

 SG-90

 

4. 연결한 회로 설명 (또는 이미지)

아두이노에 3,4,5 핀에 각각 서보모터의 핀을 연결해주고

전원은 외부전원을 따로 주고 있습니다. (아두이노와 그라운드 통일은 해주었습니다.)

 

 

5. 소스코드 (주석 필수)

 

#include<Servo.h> // 모터 헤더
Servo myservo1; //모터 선언
Servo myservo2; //모터 선언
Servo myservo3; //모터 선언

void setup() {
  myservo1.attach(3); // 모터에 각각의 핀 선언
  myservo2.attach(4);
  myservo3.attach(5);
}

void loop() {
  for (int i = 0; i < 160; i++) {
    myservo2.write(i);
    delay(15); // 속도제어로 알고있습니다.
    myservo3.write(i);
    delay(15);
  }

  
  for (int i = 160; i > 0; i--) {
    myservo2.write(i);
    delay(15);
    myservo3.write(i);
    delay(15);
  }
}

 

 

 

6. 문제점 및 에러 내용

 

for구문안의 delay()로 속도를 조절한다 알고있습니다. 서보모터로 부드러운 움직임을 만들고자 하고 있으며, 한개의 서보모터가 아닌 여러개의 서보모터를 쓰는 상황에서 자연스러운 움직임을 위해 각각의 서보모터가 서로 다른 속도로 움직였으면 합니다. 위와 같이 쓰게 될 경우 모터 회전각도의 값을 변환하더라도 모터가 결국 기다렸다가 같이 시작됩니다.

 

동시에 여러 서보모터가 다른 속도로 움직이려 한다면 어떻게 하면 좋을지 조언을 구해봅니다.

혹시 참고할만한 예가 있을까요? 잘 부탁드리겠습니다.

이전글   |    nodemcu wifi설정하는 방법좀 알려주세요. 2018-07-02
다음글   |    자물쇠 제어 및 단선 경보 2018-07-06