2016년 4월 2일 토요일

아두이노 초보! 서보모터 제어방법

안녕하세요. 아두이노 초보자를 위한 강의를 재밌게 진행하기 위해 아두이노 공부를 했습니다~ 

이번에는 서보모터를 알아 볼꺼예요. 서보모터는 특정한 각도로 회전할 수 있어, 로봇 팔 같은 것 만드는 데 많이 사용되요.
서보 모터



회로 연결
아두이노의 2번핀과 서버 모터의 신호핀(노란색)을 연결하세요. 아두이노의 5볼트 전압핀과모터의 적색핀을 연결하세요. 아두이노의 GND핀과 모터의 황토색 핀을 연결하세요. 

코드 소스
여러분은 프로그래밍에 대하여 어떻게 생각하나요?
아마 여러분은 밑의 예제를 보자마자 이 창을 닫고 싶을 겁니다. 하지만 해보면 쉬워요.

#include <Servo.h>

Servo myservo;  // create servo object to control a servo

void setup() {
  myservo.attach(2);  // attaches the servo on pin 2 to the servo object
}

void loop() {
  myservo.write(90);                  // sets the servo position according to the scaled value
  delay(2000);
  myservo.write(0);                    // waits for the servo to get there 
  delay(3000);
  myservo.write(150);
  delay(1000);
  myservo.write(160);
  delay(1000);
}

설명
예제를 보시죠. "근데, 이 영어는 뭐죠? 어려울 것 같아요!" 라고 생각하지 마세요. 하나씩 알려드릴테니까요.

자... 여기서 delay라는 게 있는데요, 이건 얼마나 기다릴지 정하는 함수입니다. 여기서1000은 1초이고, 2000은 2초이고, 3000은 3초 입니다.

그리고 myservo.write 라는 기호가 또 있네요^^ 이 함수는 몇 도 움직일지 정하는 함수인데요, 괄호 안에 90도 라고 쓰면 서보모터가(서보모터가 뭔지는 다들 대충 아시죠?) 90도 돌아갑니다.

void loop라는 기호가 있죠? '반복' 실행하는 함수입니다. 이 기호를 문단의 위에 써 주면 {} 안의 명령문을 반복합니다.

그리고 아두이노로 실행하고 싶으시면! 아두이노에 케이블을 꼿아 컴퓨터와 연결 시키고, 업로드하면 실행가능해요.

아! 그리고 팁이 있는데, 명령문 마지막에 다 끝난후엔 ;을 붙여 주세요. 안 그러면 컴퓨터가 이 명령문장이 끝난건지~ 안 끝난건지~ 이해를 못 해요!

컴퓨터는 생각을 못하니까 하나하나 다 말해 줘야 합니다. 아니면 이해를 못해요. 에러가 날 수도 있으니 조심하시길 바랍니다.

// 글자의 뒤에 있는 건 설명해 주는 겁니다.

그렇게 어렵지 않지요? 

끝인사
자, 오늘은 아두이노 코딩이 처음이니까 짧게 마침니다. 그리고 처음에 너무 이해하려 하지 마세요. 처음에는 그냥 듣는겁니다. 제가 만들기 중간중간에 알려드릴게요~
처음부터 잘하는 사람 없으니 천천히 열심히 하자구요!

댓글 1개:

  1. 작성자입니다!
    아두이노가 어려울 수 있는데, 저도 처음엔 그랬어요.
    열심히만 합시다!

    답글삭제