안녕하세요. 아두이노 초보자를 위한 강의를 재밌게 진행하기 위해 아두이노 공부를 했습니다~
이번에는 서보모터를 알아 볼꺼예요. 서보모터는 특정한 각도로 회전할 수 있어, 로봇 팔 같은 것 만드는 데 많이 사용되요.
서보 모터
회로 연결
코드 소스
여러분은 프로그래밍에 대하여 어떻게 생각하나요?
아마 여러분은 밑의 예제를 보자마자 이 창을 닫고 싶을 겁니다. 하지만 해보면 쉬워요.
#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라는 기호가 있죠? '반복' 실행하는 함수입니다. 이 기호를 문단의 위에 써 주면 {} 안의 명령문을 반복합니다.
void loop라는 기호가 있죠? '반복' 실행하는 함수입니다. 이 기호를 문단의 위에 써 주면 {} 안의 명령문을 반복합니다.
그리고 아두이노로 실행하고 싶으시면! 아두이노에 케이블을 꼿아 컴퓨터와 연결 시키고, 업로드하면 실행가능해요.
아! 그리고 팁이 있는데, 명령문 마지막에 다 끝난후엔 ;을 붙여 주세요. 안 그러면 컴퓨터가 이 명령문장이 끝난건지~ 안 끝난건지~ 이해를 못 해요!
컴퓨터는 생각을 못하니까 하나하나 다 말해 줘야 합니다. 아니면 이해를 못해요. 에러가 날 수도 있으니 조심하시길 바랍니다.
// 글자의 뒤에 있는 건 설명해 주는 겁니다.
그렇게 어렵지 않지요?
끝인사
자, 오늘은 아두이노 코딩이 처음이니까 짧게 마침니다. 그리고 처음에 너무 이해하려 하지 마세요. 처음에는 그냥 듣는겁니다. 제가 만들기 중간중간에 알려드릴게요~
처음부터 잘하는 사람 없으니 천천히 열심히 하자구요!