본문 바로가기
Embedded System/소프트웨어 (C,C++)

[Arduino] Servo 라이브러리

by MachineJW 2023. 4. 6.

아두이노는 서보 모터 제어를 위한 Servo 라이브러리를 기본  라이브러리로 제공하고 있다.

 

1. 라이브러리 추가

전처리 지시자 # include 로 Servo 라이브러리를 추가한다.

#include <Servo.h>

2. 객체 선언

Servo 클래스의 멤버 함수를 사용하기 위해 객체를 선언한다.

Servo myServo ;

위 예시의 객체명은 myServo 이다.

3. attach

서보 모터를 지정한 핀에 연결하고 현재 서보 모터가 연결된 채널을 반환

uint8_t Servo::attach ( int pin )
uint8_t Servo::attach ( int pin , int min, int max )

매개변수

pin : 서보 모터의 제어선이 연결된 핀 번호

min : 0도에 해당되는 마이크로초 단위의 펄스 폭

max : 180도에 해당되는 마이크로초 단위의 펄스 폭

/* 사용 예시 */
myServo.attach ( 10 ) ; // 10 번핀에 연결

 

4. write

void Servo::write (int value)

서보 모터로 0에서 180사이의 값을 출력

/* 사용 예시 */
myServo.write ( 60 ) ; // 60도 회전

표준 서보 모터의 경우 value 값은 축의 회전 위치를 나타낸다.

5. writeMicroseconds

void Servo::writeMicroseconds (int value)

서보 모터로 마이크로초 단위의 값을 출력 한다.

표준 서보 모터의 경우 1000이 0도, 1500이 90도, 2000이 180도에 해당된다.

/* 사용 예시 */
myServo.writeMicroseconds ( 1500 ) ; // 90도

6. read

void Servo::read ( )

매개변수는 없고 Write 함수를 사용하여 마지막으로 쓴 값을 [0,180] 범위의 값으로 반환

7. attached

bool Servo ::attached (bool)

서보 모터의 핀을 지정한뒤, 그 해당 객체의 핀이 연결되어있는지 상태를 반환한다.

8. detach

void Servo ::detach ()

서보 모터의 연결을 해체한다.

 

 

9. 코드 연습