프로그래밍/아두이노

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

전자장인 2024. 1. 6.
반응형

안녕하십니까

전력전자 각종MCU를 공부하고 최종적으로 작품을 만드는 전자 장인 입니다 

 

오늘의 주제는

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

1. 서보모터개요

1. 서보모터 (Servo Motor)

사용자가 원하는 속도나 각도를 지정해주면 그대로 동작하는 모터를 지칭

180도 동작하는 서보모터와 360도 연속 회전하는 서보모터 존재

본 글에서는 180도 동작하는 서보모터 활용

 

2. 시스템 구성

PWM 핀과 VCC 핀, GND 핀으로 구성

PWM 핀의 경우 제조사에 따라 색상 상이 (주황, 노랑, 흰색 등)

아두이노를 이용할 경우 5V 핀에서 최대 500mA 출력가능

큰 부하에 서보모터를 이용할 경우 별도의 전원을 외부에서 인가해 주는것을 추천

 

2. 아두이노 우노 서보모터 (Servo Motor) 제어  실습 환경 세팅

1. 실습준비물

실습 준비물로는 다음과 같이 준비해주세요

 

1. 아두이노 우노

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

2. 브레드보드

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

3. 서보모터

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

 

4. 점퍼 와이어

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

 

2. 아두이노 우노 및 서보모터 (Servo Motor) 핀맵 연결

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

아두이노 우노 핀 서보모터 핀
5V VCC
GND GND
9pin PWM

 

아두이노 우노와 서보모터 (Servo Motor) 간 연결 핀맵은 다음과 같습니다.

해당 핀맵 확인 후 연결해주세요

 

3. 코드 작성 및 결과확인

#include <Servo.h>

Servo
servoMotor;  // Servo 모터 객체 생성


void setup() {

  Serial.begin(9600);  // 시리얼 통신 시작
  servoMotor.attach(9);  // 서보모터를 9번 핀에 연결
}

void loop() {

  for (int angle = 0; angle <= 180; angle++) {
    servoMotor.write(angle);  // 서보모터를 현재 각도로 회전
    delay(15);  // 일정 시간 동안 대기
    Serial.print("Angle: ");
    Serial.println(angle);  // 현재 각도를 시리얼 모니터에 출력
  }

 
delay(100);  // 0.1초 대기


 
for (int angle = 180; angle >= 0; angle--) {

    servoMotor.write(angle);  // 서보모터를 현재 각도로 회전
    delay(15);  // 일정 시간 동안 대기
    Serial.print("Angle: ");
    Serial.println(angle);  // 현재 각도를 시리얼 모니터에 출력
  }

 
delay(100);  // 0.1초 대기

}


 

아두이노 IDE 프로그램에 다음과 같은 코드를 작성한 후 

디버깅 및 프로그램을 아두이노에 입혀 실습을 진행합니다

 

아두이노 우노 서보모터 (Servo Motor) 사용법 및 코드 분석

 

반응형

댓글

💲 추천 글