본문 바로가기

ARDUINO/Arduino 작품

아두이노 플레이 멜로디 (Arduino PlayMelody) - Owl City, SNSD 멜로디 재생

 

 

아두이노는 사용이 쉽고, 예제들이 많아서 Make & Play 라는 소제목으로 만들어보는데 의의를 두고

포스팅하고자 합니다.

저의 첫번째 아두이노로 만들어보기는 피에조 부저로 멜로디를 연주해 보는 프로그램입니다.

 

MAKE....


 

 

먼저 연결하세요.!

다음처럼 아두이노 호환제품 이라도 핀 배치는 같아서 연결은 똑같이 할 수 있습니다.

단순히 아두이노 9번핀에서 부저로 신호가 간뒤에 GND로 흐르고, 3번핀은 스위치 입력을 받아서

스위치가 눌러지면 부저에서 멜로디를 재생하도록 스케치(소스코드)를 짜려고 합니다.

 

&PLAY....

 

 

스케치만들때 라이브러리를 사용하는데 숙묵님의 (비영리 무료 라이센스)인 PlayMelody 라이브러리를 이용합니다.

PlayMelody 라이브러리는 GW-Basic과 MSX-Basic, MML코드와 비슷해서 코드를 잘 찾다보면 호환이 가능한 멜로디 코드들이 더러 있습니다.

그럼 실제 멜로디 재생에 앞서 원래 아두이노에 없는 함수이기 때문에 함수에 대해서 정의된 파일을 아두이노에서 사용 할 수 있도록 넣어주어야 합니다.

먼저 플레이멜로디 라이브러리를 다운로드 받으세요.^

 


 

 PlayMelody Library 다운로드

 


 

 

 

압축을 해제하면 다음과 같은 파일들이 나올텐데요.. 제일 중요한 파일인 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 들으면서 포스팅 마치도록 하겠습니다. 

죄송합니다. ㅎㅎ 라디오 멘트 따라했는데 글로 하니까 이상하군요. ㅋ

무튼.. 아두이노를 시작했다면 한번 만들어 보셔요... 

부품도 얼마 안들어가는 것들이라서...해볼만 합니다. 다음은 무엇에 도전 할까요??

아두이노는 뭘 만들어도 이상하지 않으니까요..ㅎ