아두이노

아두이노 서보 모터

기발개발 2022. 1. 9. 21:16

서보모터란?

서보모터(Servo Motor)의 Servo는 ‘노예, 추종하다, 따르다’를 의미하는 라틴어의 Servus에서 유래했습니다.
그래서 서보모터는 해당 기기를 시스템이 요구하는 특정 위치로 이동시키거나, 특정 속도 및 토크로 가동시킬 때 정확하게 제어할 수 있는 구조를 갖추고 있죠.
즉, 주인의 명령에 의해 통제는 모터를 '서보 모터'라고 합니다.

 

서보모터는 로봇팔 , 공장 자동화 등에서 사용됩니다.

 

 

실습에 사용할 서보모터

SG-90은 0~180' 까지만 돌아가는 저렴한 서보모터입니다.

 

Servo 모터 제어 펄스

 

서보모터의 펄스폭은 1ms ~ 2ms 이고 1ms일때 0',  2ms일 때 180'이다.

1.5ms일 때 90'가 되고 정확한 각도는 pulse를 조절해서 설정할 수 있다.

하지만 실제로는 함수 매개변수로 각도를 주기때문에 pwm을 몰라도  사용가능

 

 

서보모터를 사용하기 위해서는 해당 라이브러리가 필요합니다. 근데 이제 기본으로 내장된...

Servo  microServo ;   서보 객체 생성

attach(pin번호)  ; pin번호에 연결합니다.

write( angle)  :  각도를 설정합니다.

read()   : 현재 서보모터 축 위치 반환 

 

 

실습 :  헷갈리니까 연결선도 색깔을 맞춰줍시다.   서보모터 회전하기

 

#include <Servo.h>
Servo microServo;

int servoPin=9;

void setup() {
  microServo.attach(servoPin);

}

void loop() {
  int angle;
  for(angle=0; angle<180; angle++){
    microServo.write(angle);
    delay(20);
  }
  for(angle=180; angle>0; angle--){
    microServo.write(angle);
    delay(20);
  }
}

 

 

 

 

 

 

 

 

 

문제 1: 버튼을 누를 때마다  문이 열리거나, 닫히거나 하도록 하세요.

 

 

 

 

문제 2. 박수를 칠때마다 문이 열리거나 닫히도록 하세요.

 

 

 

 

문제3 . 비가 올거 같으면 문이 닫히도록 해보세요.

 

 

 

 

 

 

 

그외 여러가지 센서와 같이 연결해서 여러가지를 할 수 있습니다.