본문 바로가기

메이커 이야기/아두이노

[아두이노 서보모터] 서보모터 제어하기

반응형

○ 아두이노 서보 모터 제어하기

아두이노 서보모터 움직이기

 

 

 사용 부품

1) 아두이노 UNO 

2) 서보모터

 

 

○ 회로 연결

 

○ 적용 코드

 

#include <Servo.h>
Servo myservo
int pos = 0;

void setup() {
  Serial.begin(9600);
  myservo.attach(3);
  myservo.write(30);
  Serial.print("Degree : ");
  Serial.println(myservo.read());
  delay(5000);
}
void loop() {
  for(pos=30; pos<150; pos++){
    myservo.write(pos);
    Serial.print("Degree : ");
    Serial.println(myservo.read());
    delay(10);
  }
  for(pos = 150; pos>30; pos--){
    myservo.write(pos);
    Serial.print("Degree : ");
    Serial.println(myservo.read());
    delay(10);
  }
}

 

주의사항

 

서보모터의 신호연결선은 반드시 물결표(~) 모양이 있는 pin 연결해야 한다.

물결 표시는 PWM제어가 가능한 pin임을 나타낸다.

 

 코드 뜯어보기

 

Servo myservo  // Servo인스턴스 myservo선언

myservo.attach(3)  //myservo 객체에 3 pin 할당

myservo.write(30)  // 서보모터 각도 30으로 변경

myservo.read()  //  서보모터의 현재 각도 반환

 

서보모터 뜯어보기

 

서보모터는 일반 직류모터와 다르게 각도를 직접 지정하여 회전시킬 있다. 각도를 지정하는 방법으로는 PWM( Pulse-Width Modulation : 펄스 변조 )제어방법을 사용하는데, 가동범위 내에서 자유롭게 움직이는 특성상 공업/의료용 기계팔이나 폐쇄회로 카메라의 회전축 등에 사용한다

이번에 실습한 서보모터의 경우에는 0~180도 까지만 회전이 가능하지만,

넓게 서보 모터는 자신이 회전한 각도를 알 수 있는 모터를 서보 모터라 한다.

 

PWM 제어 ( Pulse-Width Modulation Contorl )

디지털 소스를 사용해 아날로그 신호를 생성하는 방법이다.

PWM제어신호는 듀티 사이클과 주파수(Hz) 구성되어 있으며, 듀티 사이클은 HIGH – LOW 1Hz 디지털신호 안에서 HIGH신호 길이의 비율을 뜻한다.

 

 

 

 

이것을 만약에 원격에서 제어를 하고 싶다면 어떻게 해야할까요??

Blynk라는 어플을 통해서 만들면 편리하고 쉽게 구현할 수 있습니다!!

 

Blynk를 사용한 예제는 아래를 참조해주세요~! 

 

https://kgu0724.tistory.com/145

 

[Blynk] 아두이노 원격 서보모터 제어 (NodeMCU)

○ Blynk로 Servo 모터 제어하기 아두이노를 활용하다보면 원격으로 제어 하고 싶은 경우가 많죠! Blynk로 원격 서보모터를 제어해보도록 하겠습니다. ○ 사용 부품 1) nodeMCU x 1 2) Servo(SG90) x 1 ○ 사용 코..

kgu0724.tistory.com

 

 

 

반응형