인투피온 강좌/아두이노 팁(Tip)

아두이노 서보모터 SG90 사용하기

인투피온 2021. 12. 20. 14:15

 

 

안녕하세요.

오늘은 서보모터 사용에 대해서 알아보겠습니다.

서보모터란 정해진 회전 반경 안에서 PWM 신호에 의해 제어되는

정밀한 동작을 하는 모터입니다.

 

 

 

준비물

 

※ 클릭 시 구매 링크로 이동합니다.

아두이노 R3 보드
서보모터 SG90
아두이노 택트 스위치
브레드보드 400핀
가변저항 100K

 

 

스위치로 SG90 동작하기

 

 

이렇게 연결해주시고

아래의 소스를 업로드 해주세요.

 

 

#include <Servo.h>      //서보모터 라이브러리
Servo SG90;           //서보모터 객체를 선언

int sg90 = 11;
int Switch1= 2;
int Angle=0;

void setup() {
  Serial.begin(9600);
  SG90.attach(sg90);      // 11번핀에 연결
  pinMode(Switch1, INPUT_PULLUP);
}

void loop() {
  int SW1 = digitalRead(Switch1);

  if(SW1 == LOW){
    Serial.print("Switch : ★★★ START ★★★"); // 스위치 눌렀을때 스타트 출력 및 동작시작
    for(Angle = 0; Angle <= 180; Angle++){        //0부터 180까지 1씩 증가
      SG90.write(Angle);
      Serial.print("Angle : ");
      Serial.println(Angle);
    }
     delay(1000);
    for(Angle = 180; Angle > 0; Angle--){         //180부터 0까지 1씩 감소
      SG90.write(Angle);
      Serial.print("Angle : ");
      Serial.println(Angle);
    }
    delay(200);
  }
  delay(10);
  
}
 

 

스위치를 누르면 시작과 함께 각도가 변하는 것을 볼 수 있어요.

 

 

 

가변저항으로 SG90 동작하기

 

 

#include <Servo.h>      //서보모터 라이브러리
Servo SG90;           //서보모터 객체를 선언

int sg90 = 11;
int Angle=0;
int val = 0;

void setup() {
  Serial.begin(9600);
  SG90.attach(sg90);      // 11번핀에 연결
}

void loop() {
  int val = analogRead(A1);
  
  int Angle = map(val, 0, 1023, 0, 179);
  SG90.write(Angle);
  Serial.print("Angle : ");
  Serial.println(Angle);
  
  delay(10);
  
}

 

 

가변저항의 값에 따라 0~179를 설정하여 각도 조절도 가능해요.

 

 

 

 

아두이노 서보모터 SG90 가변저항으로 동작하기

 

아두이노 서보모터 SG90 스위치로 동작하기

 

오늘은 서보모터 사용법에 대해서 알아봤어요.

다음에는 RFID-RC522 카드리더 모듈에 대해서 알아보겠습니다.

 

 

 

 

전자부품 전문 쇼핑몰 인투피온입니다.
필요한 자재에 관한 문의는 홈페이지를 통한 견적 신청, 혹은 전화나 메일로 주시면 빠른 회신을 드릴 수 있도록 하겠습니다.

▶ 홈페이지: http://intopion.com/
▶ 전화: 02-2615-7278
▶ FAX : 02-6124-4242
▶ 메일: intopion@hanmail.net