아두이노는 사용이 쉽고, 예제들이 많아서 Make & Play 라는 소제목으로 만들어보는데 의의를 두고
포스팅하고자 합니다.
저의 첫번째 아두이노로 만들어보기는 피에조 부저로 멜로디를 연주해 보는 프로그램입니다.
MAKE....
먼저 연결하세요.!
다음처럼 아두이노 호환제품 이라도 핀 배치는 같아서 연결은 똑같이 할 수 있습니다.
단순히 아두이노 9번핀에서 부저로 신호가 간뒤에 GND로 흐르고, 3번핀은 스위치 입력을 받아서
스위치가 눌러지면 부저에서 멜로디를 재생하도록 스케치(소스코드)를 짜려고 합니다.
&PLAY....
스케치만들때 라이브러리를 사용하는데 숙묵님의 (비영리 무료 라이센스)인 PlayMelody 라이브러리를 이용합니다.
PlayMelody 라이브러리는 GW-Basic과 MSX-Basic, MML코드와 비슷해서 코드를 잘 찾다보면 호환이 가능한 멜로디 코드들이 더러 있습니다.
그럼 실제 멜로디 재생에 앞서 원래 아두이노에 없는 함수이기 때문에 함수에 대해서 정의된 파일을 아두이노에서 사용 할 수 있도록 넣어주어야 합니다.
먼저 플레이멜로디 라이브러리를 다운로드 받으세요.^
압축을 해제하면 다음과 같은 파일들이 나올텐데요.. 제일 중요한 파일인 PlayMelody.CPP파일과
PlayMelody.h 파일을 복사해줍니다.
고다음 자신이 설치해둔 아두이노 폴더 (저의경우 바탕화면 arduino-1.0.3-windows)
arduino-Version-windows\Hardware\arduino\cores\arduino 폴더에 붙여넣기 해줍니다.
이렇게 해줬다면 이제부터 새로운 함수인 PlayMelody 함수가 사용이 가능합니다.
이 함수는 PlayMelody(pin, notes) 로 입력해서 사용 할 수 있고, 멜로디노트의 내용은
다음 문구들의 조합으로 멜로디를 만들어 낼 수 있습니다.
pin : 스피커가 연결된 디지털 핀의 번호.
notes : 연주를 위한 음표 기호로 구성된 문자열.
C : 도
D : 레
E : 미
F : 파
G : 솔
A : 라
B : 시
#, + : 반음 올린다.
$, - : 반음 내린다.
R, P : 쉼표
> : 한 옥타브 올린다.
< : 한 옥타브 내린다.
O : 이어서 나오는 수치로 지정한 옥타브를 선택한다. (초기값은 4)
T : 이어서 나오는 수치로 지정한 속도로 연주한다. (초기값은 120)
이때 지정하는 수치는 1분에 연주할 8분 음표의 개수이다.
L : 이어서 나오는 수치로 음표나 쉼표의 길이를 지정한다. (초기값은 4)
. : 음표나 쉼표의 길이를 1.5배 늘인다.
더 나아가 스위치가 입력됬을 때 멜로디가 재생되도록 하려면 IF문 즉 조건문로 if(digitalRead(inPin)==1) 일때 동작내용에 PlayMelody함수를 사용하면 된답니다.^
말로 여러번 설명하는 것 보다 스케치된 코드를 한번보는게 더 이해가 빠를지도 모를까 싶어서 만들어둔 스케치 중 두금삼 하나 올렸습니다.^
ㅎㅎ 저는 3가지 멜로디를 재생해보았습니다.^ 아직 이렇게 까지 만든 분은 없는 것 같네요.
이 곡은 말할수 없는 비밀에서 피아노 배틀을 보셨다면 알수있는 곡 입니다.
주인공과 이상한놈(?)이 둘이서 피아노배틀 할 때 마지막 배틀곡을 아두이노로 만들어봤습니다.
마지막곡은 Owl City의 FireFlies로 오늘의 저의 시간은 모두 끝이군요...
그럼 FireFlies 들으면서 포스팅 마치도록 하겠습니다.
죄송합니다. ㅎㅎ 라디오 멘트 따라했는데 글로 하니까 이상하군요. ㅋ
무튼.. 아두이노를 시작했다면 한번 만들어 보셔요...
부품도 얼마 안들어가는 것들이라서...해볼만 합니다. 다음은 무엇에 도전 할까요??
아두이노는 뭘 만들어도 이상하지 않으니까요..ㅎ