코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
2015-05-06 11:57:11
피에조 부저로 소리내기를 통해서 피에조에 대해서 알아보고, 각 음계의 주파수를 이용해 피에조로 소리내 보았습니다.
이번에는 PlayMelody라이브러리를 사용하여 음정, 박자를 더 정확하게 멜로디를 표현해 보겠습니다.
PlayMelody에 대해 문제가 발생하시거나, 라이브러리에 대해 자세하게 알아보실려면 라이브러리 제작자 홈페이지에서 확인해 보시기 바랍니다.
NO | 부품명 | 수량 | 상세설명 |
1 | 오렌지 보드 | 1 | |
2 | 피에조 부저 | 1 | |
3 | 버튼 | 1 | |
4 | 브레드보드 | 1 | |
5 | 점퍼케이블 | 5 |
부품명 | 오렌지 보드 | 피에조 부저 | 버튼 | 브레드보드 | 점퍼케이블 |
파트 |
* 밑의 코드를 사용할려면 PlayMelody 라이브러리가 필요합니다. 이 라이브러리는 링크에서 다운받으실 수 있습니다.
* 라이브러리 사용법은 Arduino 라이브러리를 참고하시기 바랍니다.
#include <PlayMelody.h> // PlayMelody라이브러리를 호출합니다.
int speakerPin = 10 ; // 피에조를 10번핀에 연결합니다.
int inPin = 2 ; // 버튼은 2번핀에 연결합니다.
void setup()
{
pinMode(inPin, INPUT_PULLUP) ; // 버튼핀을 INPUT_PULLUP으로 설정해줍니다.
pinMode(speakerPin,OUTPUT); // 피에조핀를 출력으로 설정해줍니다.
}
void loop()
{
if(digitalRead(inPin)==0) // 버튼을 누르면 밑의 멜로디를 재생합니다.
{
PlayMelody(speakerPin, "l8ggaagge4ggeed4r4ggaagge4gedec4"); // 학교종이 땡땡땡
}
}
PlayMelody(speakerPin, "l8ggaagge4ggeed4r4ggaagge4gedec4"); // 학교종이 땡땡땡
PlayMelody 라이브러리 사용법입니다.
- PlayMelody(pin번호, 멜로디) / PlayMelody(pin번호, 멜로디, af)
pin : 멜로디를 연주할 스피커가 연결된 디지털 핀 번호
note : 연주를 위한 음표 기호로 구성된 문자
C : 도
D : 레
E : 미
F : 파
G : 솔
A : 라
B : 시
#, + : 반음 올린다.
$, - : 반음 내린다.
R, P : 쉼표
> : 한 옥타브 올린다.
< : 한 옥타브 내린다.
0 : 이어서 나오는 수치로 지정한 옥타브를 선택한다.(초기값은 4)
T : 이어서 나오는 수치로 지정한 속도로 연주한다.(초기값은 120)
L : 이어서 나오는 수치로 음표나 쉼표의 길이를 지정한다. (초기값은 4)
: 음표나 쉼표의 길이를 1.5배 늘린다.
af : 멜로디를 계속 연주할지를 알려주는 함수의 포인터. 이함수의 리턴 값이 false이면 더 이상 멜로디를 연주하지 않는다.
: 이 함수는 각 음표마다 호출된다.
멜로디 부분에 위에 notes에 맞게 문자열을 넣어주신 후 실행 하면 해당 멜로디에 맞게 연주합니다. 위 코드에 넣은 멜로디는 학교종이 땡땡땡 멜로디 입니다.("l8ggaagge4ggeed4r4ggaagge4gedec4")
af는 각 음표마다 af에 넣은 함수를 호출하여 리턴값이 false일 경우 멜로디 연주를 멈춥니다.
kocoafabeditor
항상 진취적이고, 새로운 것을 추구하는 코코아팹 에디터입니다!